写点什么

要想成为牛人,推荐学习哪种编程语言?

发布于: 2021 年 05 月 27 日

程序员绝大多数时间,都在与编程语言进行亲密接触,写代码,读代码,改代码,调试代码,分析代码,测试代码......


因此,精通编程语言,是成为技术牛人的必备功力。


自从发明计算机后,各种编程语言层出不穷,多达数百种。编程语言之间的竞争,极其激烈,新的编程语言还在不断推出,已有的编程语言还在不断扩展和增强。

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 语言,会使你深刻掌握计算机底层的原理与机制,这才是是否能成为“牛”人的根本所在。

发布于: 2021 年 05 月 27 日阅读数: 12
用户头像

实力程序员,用实力说话! 2021.05.24 加入

超过20年一线产品研发和技术管理的实力程序员

评论

发布
暂无评论
要想成为牛人,推荐学习哪种编程语言?