C 语言是面向过程的, 而 C++是面向对象的
C 和 C++ 的区别:
C 是一个结构化语言, 它的重点在于算法和数据结构 C 程序的设计首要考虑的是如何通过一个过程, 对输入 (或环境条件) 进行运算处理得到输出 (或实现过程(事务) 控制)
C++, 首要考虑的是如何构造一个对象模型, 让这个模型能够契合与之对应的问题域, 这样就可以通过获取对象的状态信息得到输出或实现过程 (事务) 控制 所以 C 与 C++ 的最大区别在于它们的用于解决问题的思想方法不一样之所以说 C++ 比 C 更先进, 是因为 设计这个概念已经被融入到 C++ 之中
C 与 C++ 的最大区别: 在于它们的用于解决问题的思想方法不一样之所以说 C++ 比 C 更先进, 是因为 设计这个概念已经被融入到 C++ 之中 , 而就语言本身而言, 在 C 中更多的是算法的概念那么是不是 C 就不重要了, 错! 算法是程序设计的基础, 好的设计如果没有好的算法, 一样不行而且, C 加上好的设计也能写出非常好的东西
看招聘职位要 C 语言的比例真不多了, 是不是 C 语言真的过时了?
看看很多招聘网站有关找纯粹的 C 语言开发的比例真的不是很多, 都被 Java,php,python 等等语言刷屏这对于初学正在学习 C 语言的小白简直就是惊天霹雳, 学了没人要, 学了还有啥意义如果单从快速找工作的角度考虑这件事的确, 这个观点是能站得住脚的
前几天和一位老码农聊天, 开篇就来了这么几句, 换开发语言算了, 现在的做底层的日子不比以前了, 看看那些做 App 的, 做不了几年工资蹭蹭就上去了, 我们这熬了这么多年才这么点
小编推荐一个学 C 语言 / C++ 的学习裙 二六三, 六八八, 二七六 , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!
难道 C 语言真的过时了?
现在先看看 C 语言到底能做了多少事情, 大家经常说的 linux 操作系统的内核都是 C 语言写的, 对应的很多嵌入式内核驱动也跑不出 C 语言范畴, 包括大家常用的手机, 机顶盒, 电视机底层硬件驱动基本山都是 C 语言完成, 还有常见基于单片机的程序也主要由 C 语言完成大致概括来说嵌入式领域 C 语言还是无处不在, 很多底层的图形库也是基于 C 语言完成
当然 C 语言最牛的地方, 几乎现在所有的上层语言的底层语言绝大部分都是 C 语言大哥做嫁衣给铺垫完成深刻理解上层语言底层实现, 离不开 C 语言
linux 内核社区火热程度, 依然有增无减, 记得有个对内核研究很透彻的哥们, 说了句话我觉得能看懂内核里面的代码就是最大的幸福了, 更不要说修改里面的代码(当然这话说的主要是内核框架层次的, 不是外围设备扩展方面)
一方面说 C 语言的工作机会少了, 待遇不行了, 一方面 C 语言还是渗透在各个领域, 这中间到底发生了什么事情?
一. 基于 C 语言实现底层架构, 就目前来说已经相对比较成熟, 对于底层的修改需求已经存在很多基础的版本, 修改起来相对比较轻松, 维护的工作相对多, 技术要求降低真正的框架修改还是需要 C 语言超级高手来做(这方面高手待遇目前依然居高不下)
二. 应用层语言的蓬勃发展, 技术更新的速度越来越快, 用上层的语言很快就能实现比较漂亮的界面, 就没必要用 C 语言一点一线去操刀专业的人做专业的事情, 分工更加明细, 界面层次的东西, 上层语言实现起来更加得心应手
三. 应用层面的编程, 比之前火热许多特别是一些 App 级别的开发, 至少从表面上看没有 C 语言啥事情了, 所以现在很多入门的小白直接选择 java 或者 php 之类的语言, 没有 C 基础一样做的很棒, 这是社会分工细化的结果, 没有哪种语言会一直长盛不衰, 技术在不断更新中
小编推荐一个学 C 语言 / C++ 的学习裙 二六三, 六八八, 二七六 , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!
如何正确看待 C 语言?
学好了, 还是能找到工作的, 毕竟社会招聘的岗位总量还是很多相对比例偏少而已, 因为整体公司的数量比之前也是多了许多
想让自己有个长远的发展, 比如架构师层面, C 语言几乎还是必修课, 不了解底层的实现谈何架构整个系统, 谈何做出通用化的框架从语言角度考虑学会了 C 语言切入到其他编程语言, 学习速度会加快不少, 还是值得去学
小编推荐一个学 C 语言 / C++ 的学习裙 二六三, 六八八, 二七六 , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!
这些是 C/C++ 能做的
服务器开发工程师人工智能云计算工程师信息安全 (黑客反黑客) 大数据 数据平台嵌入式工程师流媒体服务器数据控解图像处理音频视频开发工程师游戏服务器分布式系统游戏辅助等
来源: http://www.jianshu.com/p/2ab2edc0c477