要想成为牛人,推荐学习哪种编程语言?
程序员绝大多数时间,都在与编程语言进行亲密接触,写代码,读代码,改代码,调试代码,分析代码,测试代码......
因此,精通编程语言,是成为技术牛人的必备功力。
自从发明计算机后,各种编程语言层出不穷,多达数百种。编程语言之间的竞争,极其激烈,新的编程语言还在不断推出,已有的编程语言还在不断扩展和增强。
TIOBE公司,每月会发布一版编程语言的流行度排行榜,见 https://www.tiobe.com/tiobe-index/
哪种编程语言是世界上最好的语言,程序员之间的争论从未平息。因此,本文的观点,也仅是个人见解而已。
应该说,不同的编程语言,有不同的定位,用于解决不同的问题。但是,不同编程语言,对程序员的要求,是存在非常大差异的。
我们可以把编程语言大致分为两类:
A类:面向机器,致力于提高程序的运行效率:通常这类语言的学习曲线陡,上手困难,要掌握的知识非常多,开发效率低,但运行效率非常高,资源消耗少。
B类:面向人,致力于提高人的开发效率:学起来容易,生态丰富,很短时间就能做出一个产品原型,但运行效率和资源占用等方面就差了。
A类编程语言的典型代表是汇编语言、C语言、C++等。
B类编程语言的典型代表是Java,C#,Python,Javascript等。
国外有一篇对主流编程语言进行优劣点评的文章《These Modern Programming Languages Will Make You Suffer》,非常精彩,强烈建议看一下。对其中Meta Language部分的翻译,见 《一文解决现代编程语言选择困难:响应式编程》。
从计算机最底层的硬件开始,按照贴近硬件的程度,主流编程语言的层次依赖关系图,如下:
我们跨过汇编语言之后的第一步使用的就是C语言,说明C语言在计算机技术中有其它任何高级语言不可替代的作用。所谓“0/1生汇编,汇编生C,C生万物,乃编程之本”,任何想立志学好计算机的人都不可能跨过C语言。
C语言是面向内存的编程语言,用C编程的时候,需要知道每个数据在内存中样子,是直接在和计算机对话的。而其它语言,都是做各种各样的封装,屏蔽掉了底层的各种概念,让你都不知道计算机是怎么工作的。
知乎上有人给了一个比喻:
如果不会C语言,以为自己学会了编程,其实嘛,在“编程”这个“城市”里是没有买“房子”的,没有房子就没有门,说白了,就是没入门,也就是门外汉。
系统地学习C语言,在实际产品研发中大规模使用C语言,会使你深刻掌握计算机底层的原理与机制,这才是是否能成为“牛”人的根本所在。
- 点赞
- 收藏
- 关注作者
评论(0)