2017 年只剩最后一周啦!
2018 年真的要来啦!
C 语言是面向过程的, 而 C++是面向对象的 C 和 C++ 的区别:
C 是一个结构化语言, 它的重点在于算法和数据结构 C 程序的设计首要考虑的是如何通过一个过程, 对输入 (或环境条件) 进行运算处理得到输出 (或实现过程(事务) 控制)
C++, 首要考虑的是如何构造一个对象模型, 让这个模型能够契合与之对应的问题域, 这样就可以通过获取对象的状态信息得到输出或实现过程 (事务) 控制 所以 C 与 C++ 的最大区别在于它们的用于解决问题的思想方法不一样之所以说 C++ 比 C 更先进, 是因为 设计这个概念已经被融入到 C++ 之中
C 与 C++ 的最大区别: 在于它们的用于解决问题的思想方法不一样之所以说 C++ 比 C 更先进, 是因为 设计这个概念已经被融入到 C++ 之中 , 而就语言本身而言, 在 C 中更多的是算法的概念那么是不是 C 就不重要了, 错! 算法是程序设计的基础, 好的设计如果没有好的算法, 一样不行而且, C 加上好的设计也能写出非常好的东西
被问得心头一疼
别怕
新年新气象
想有的还是会没有的 [耿直脸]
C 语言, 不老的传说
最受欢迎的歌一定是被听得最多的, 最受欢迎的语言一定是被用得最多的 C 语言现在用得多吗? 在业界, 一般的答案是: 如果一件事可以用 X 语言做, 就一定不要用 C 语言做
这里的 X 可以代指任何语言天啊, 这好象是在说如果可以听 X 的歌, 就一定不要听周杰伦的歌这是在评价周杰伦还是曾轶可啊?
哪个编程语言是最受欢迎的? 每个人都会有自己的主观看法还是用客观的数据说话吧
TIOBE 在 2016 年 8 月公布的程序设计语言受欢迎程度的趋势图可以看到, C 语言始终处于前两位, 而且最近大有再次夺回第一位的势头
能不用就不用, 还如此受欢迎, 这就有些让人费解了 dmr 曾经说过一句话: C 诡异离奇, 缺陷重重, 并获得巨大成功因为诡异且有缺陷, 所以会被尽量避免使用, 取而代之的是弥补了这些缺陷的语言; 因为确实获得了巨大成功, 所以它至今仍大受欢迎一个成功的例证是, 图 x-x 中列举的当今最受欢迎的 10 种语言, 除去 C 语言, 剩下的 9 种中, 有 7 种都直接使用间接引用或部分借鉴了 C 语言的语法(比如, 它们语句的结尾都要有一个;), 只有 Visual Basic 和 Python 的语法里找不到 C 的影子凭这等世界第一的影响力, 受到欢迎也就在情理之中了, 尽管它是那么的让人爱恨交织
小编推荐一个学 C 语言 / C++ 的学习裙 二六三, 六八八, 二七六 , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!
C 语言的爱与恨
C 语言设计原则的第一条是: 信任程序员对程序设计语言了解不多的人, 不会觉得这句话怎样但对真正的程序员来说, 凭这句话就足以对 C 语言爱一辈子, 爱得死去活来
C 语言一夫当道的年代, 计算机相当昂贵, 但速度比不上现今的手机, 内存都是以 KB 为单位计算所以, 那时候对程序最基本的要求就是效率 C 语言完全满足人们对效率的苛求, 精心设计的代码可以极大地节约计算机资源, 又不像汇编语言那样难用, 所以受到程序员的欢迎后来, 硬件越来越便宜, 性能越来越高, 程序的运行效率已经不是追求的主要目标, 安全性稳定性和是否易于维护等变得重要起来, C 语言的弊端便显现了
C 语言给程序员最大的发挥空间, 让他们自由地在代码中挥洒激情和创意, 从不去质疑这些代码是否会带来危害, 因为它信任程序员, 相信程序员的决定一定是正确的, 即便有错误, 也一定能自己修正无限制的自由, 在某些人的手中是创造力的源泉, 而在另外一些人手中, 却能成为混乱的根源随着软件系统规模的膨胀, 需要的程序员越来越多, 综合水准越来越低, 出现错误的概率越来越大, 而每一个低级的错误都可能会引发大灾难很多人把这种乱象产生的原因归罪于 C, 开始怀疑它, 甚至恨它, 却从不反省自己糟糕的编码能力于是有人说, 给这匹野马加上缰绳吧, 别让它再恣意狂奔但是 C 拒绝了锁链, 于是很多语言穿上 C 的外衣, 自己挂上锁链, 站了出来因为它们看上去很像 C, 所以大家很容易接受; 因为它们挂着锁链, 所以它们不再信任程序员, 而是指手画脚地告诉程序员, 这件事情该怎么做, 那件事情不能怎么做如果程序员不听它们的, 它们就拒绝工作这样乱象解除了, 开发速度加快了, 多人合作容易了, 错误减少了, 对程序员能力的需求降低了, 因而工资也降低了, 老板开心了, 业界繁荣了平心而论, 一件事情可以用 X 语言做, 就一定不要用 C 语言做确实是一个很好的策略, 尽管程序员会失去一些自由, 但在合法的范围内仍有一定的空间可以发挥创造力, 而且这些创造力很少创造出负面效果, 综合起来能让老板程序员用户皆大欢喜但程序员, 尤其是受人尊敬的程序员, 他们的血液中天生就充满着不安分, 向往自由的黑客生活, 所以他们会一边抚摸着身上的伤口, 一边怀念那个鲁莽却无往不利的老将军, 怀念在他手下无拘无束的日子, 怀念被他激发出的层层潜能这个老将军是程序员心中永远的战神
小编推荐一个学 C 语言 / C++ 的学习裙 二六三, 六八八, 二七六 , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!
C 语言教给我们的事
现在, 还需要使用 C 语言的地方大概只限于下面三个领域:
C 语言仍然是编写操作系统的不二之选它为操作系统而生, 能更直接地与计算机底层打交道, 精巧灵活高效最重要的, 操作系统的开发者都是最顶尖的程序员, 他们有充足的能力和经验驾驭 C 语言
在对程序的运行效率有苛求的地方, 比如嵌入式领域, C 语言也是首选不过, 嵌入式系统现在的硬件性能也已经足够强大, 而功能要求越来越高, 所以 C 语言的生存空间正在缩小
在需要继承或维护已有的 C 代码的地方, 还需要 C 语言有很多影响深远的软件和程序库最早都是用 C 开发的, 所以还要继续应用 C 但是, 它们中的很多已经开始使用其它语言重写, 那些 C 的代码早晚有一天会被抛弃
应用面如此窄, 学它能有多大用处呢?
如果单纯从用不上这个角度得出学 C 语言没有用的结论, 是有失公允的即便对计算机及相关专业而言, C 语言的用处也不算大学习 C 语言的意义在于, 它为我们打开一扇了解计算机的窗口在几乎做任何事情都离不开计算机的今天, 越了解计算机也就意味着越能利用好计算机
美国卡内基梅隆大学计算机科学系前系主任周以真教授在 2006 年发表了一篇著名的文章计算思维文中谈到计算机科学的教授应当为大学新生开一门称为怎么像计算机科学家一样思维的课, 面向非专业的, 而不仅仅是计算机科学专业的学生, 这是因为机器学习已经改变了统计学计算生物学正在改变着生物学家的思考方式类似地, 算博弈理论正改变着经济学家的思考方式, 纳米计算改变着化学家的思考方式, 量子计算改变着物理学家的思考方式, 所以计算思维代表着一种普遍的认识和一类普适的技能, 每一个人, 不仅仅是计算机科学家, 都应热心于它的学习和运用
不过遗憾的是, 我们现在还很少有学校开设这样的课程所以程序设计课在某种程度上肩负了传播计算思维的责任这也是对于不需要使用 C 语言的学生而言, 最大意义之所在
这些是 C/C++ 能做的
服务器开发工程师人工智能云计算工程师信息安全 (黑客反黑客) 大数据 数据平台嵌入式工程师流媒体服务器数据控解图像处理音频视频开发工程师游戏服务器分布式系统游戏辅助等
总之, 不管你该不该学 C, 适不适合学 C, 既然这门课已经开了, 而且有不错的老师带领, 那么就好好抓住这个机会吧, 别把时间浪费了也许一个学期之后, 你会发现自己在程序设计方面的天赋, 进而在这方面努力, 最后成为一名受人尊敬的黑客呢
来源: http://www.jianshu.com/p/281e320c6a09