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

举报
实力程序员 发表于 2021/06/02 10:48:04 2021/06/02
【摘要】 程序员绝大多数时间,都在与编程语言进行亲密接触,写代码,读代码,改代码,调试代码,分析代码,测试代码......因此,精通编程语言,是成为技术牛人的必备功力。自从发明计算机后,各种编程语言层出不穷,多达数百种。编程语言之间的竞争,极其激烈,新的编程语言还在不断推出,已有的编程语言还在不断扩展和增强。TIOBE公司,每月会发布一版编程语言的流行度排行榜,见 https://www.tiobe....

程序员绝大多数时间,都在与编程语言进行亲密接触,写代码,读代码,改代码,调试代码,分析代码,测试代码......
因此,精通编程语言,是成为技术牛人的必备功力。


自从发明计算机后,各种编程语言层出不穷,多达数百种。编程语言之间的竞争,极其激烈,新的编程语言还在不断推出,已有的编程语言还在不断扩展和增强。
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部分的翻译,见 《一文解决现代编程语言选择困难:响应式编程》


从计算机最底层的硬件开始,按照贴近硬件的程度,主流编程语言的层次依赖关系图,如下:

2021-05-26_1.jpg


​我们跨过汇编语言之后的第一步使用的就是C语言,说明C语言在计算机技术中有其它任何高级语言不可替代的作用。所谓“0/1生汇编,汇编生C,C生万物,乃编程之本”,任何想立志学好计算机的人都不可能跨过C语言


C语言是面向内存的编程语言,用C编程的时候,需要知道每个数据在内存中样子,是直接在和计算机对话的。而其它语言,都是做各种各样的封装,屏蔽掉了底层的各种概念,让你都不知道计算机是怎么工作的。


知乎上有人给了一个比喻:
如果不会C语言,以为自己学会了编程,其实嘛,在“编程”这个“城市”里是没有买“房子”的,没有房子就没有门,说白了,就是没入门,也就是门外汉。

系统地学习C语言,在实际产品研发中大规模使用C语言,会使你深刻掌握计算机底层的原理与机制,这才是是否能成为“牛”人的根本所在。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。