后记:这篇漫画主要是科普一下编程语言的发展历史和适用范围。C语言/C 一直是系统级编程的不二之选,在操作系统,编译器,网络,数据库,高性能服务器端软件等领域无人可以争锋,也许在将来,Rust能对他们产生威胁吧。
在Web编程领域则是百花齐放,PHP, Python, Ruby各自争鸣,Java在企业应用开发方面表现抢眼,以Spring为首的生态吸引了无数程序员。由于网络编程的瓶颈不再是CPU,而是I/O,所以Java也在一些服务器端的软件上突破了C/C 的重围。在大数据领域,Java一马当先,完成了数据的收集,存储,计算,Python等语言在此基础上发挥了自己擅长的本事:数据分析。Go语言则令人吃惊地渗入到了云计算和后端编程领域,前途不可限量。 总的来说,我觉得有这两个需要注意的点:1. 每门语言都有自己的特点和适用的范围,并没有什么高下之分。2. 应用层编程变化剧烈(JS尤其为甚),底层编程变化比较小。
为什么C语言永远不会过时
一句话,数落C的都是门外汉。首先,C几乎是所有面向对象机器语言的基础,这么说的原因是有其他系列的语言,但是主体编程语言的基本思想,基本语法是很接近的,学好了C就等于给自己打下一份地基,学其他高级语言的时候经常会觉得似曾相识,很容易触类旁通。
其次,谁说C不是高级语言,而且并也不能说C不够现代,具体什么叫高级语言,我就不废话了,再给你举个例子吧,现在绝大多数人用的WINDOWS操作系统以及华丽著称的MAC系统还有专业人士才主要接触的LINUX系统都是C的杰作,呵呵,你说C过时吗?
然后,C的主要用途不是窗口程序,而是更接近于硬件的程序或者操作,如果你要写底层应用,比如硬件的驱动程序,比如你要直接读写内存,比如你要写操作系统^_^,这才是C的看家本领,这也是为什么几乎所有靠C吃饭的人都要继续学汇编的原因。
最后,帮你下个结论吧,如果只是自己玩玩,C见识一下,看看语法跟设计思路,读点例子开阔一下眼界,转到C 和JAVA写点看得见莫得着的东西,会很有成就感。如果打算以后走计算机这条路,C一定要学,要真正理解它。然后再根据自己的需要,选JAVA或者C 什么的。如果你以后可能会去搞工业编程,C要嚼烂。
为什么 C 语言会成为主流语言而且长久不衰
因为有市场,特定领域尚未出现能替代他的语言,而且长期以c语言形式积累的大量科技资料也是他继续长盛不衰的保证之一。C 树立了正确的设计原则。第一是减法原则:Perfection is attained, not when there is nothing left to add, but when there is nothing left to take away. 第二是符合实际需求,C 的各种假定立刻被其设计者在实现 Unix 的实际工作中检验,而不是建立在盲目的假设上。有了这两条,其它语言都不再试图替代它。任何试图取得成功的语言都必须和 C 保持距离。
C语言站在一个特殊的位置:工业界开发语言鼻祖。
对于现代工业界计算机语言,包括Java, C , Python, PHP, Ruby等等都直接或者间接与C语言有关,并且C语言拥有良好的系统接口与操控底层的能力。所以无论是C语言自己擅长的领域,还是需要使用C语言增强的领域,都需要C语言。
在C语言创建的年代,可以说C语言与当时的Lisp在技术上都拥有自己的领先优势,但对于C语言走得更多是实用,Lisp代表的一种思想。所以现代新计算机语言常常都在模仿C,借鉴Lisp。所以即使不考虑工业界语言的领域,仅仅从语言自身角度,C语言也做到了简单但不简陋(Lisp不简单,也不简陋)。