作为一个有十多年行业经验的人,我深知C语言的重要性。
但是我也时常纳闷,为什么C语言经常排在第一名呢?
放眼望去,我好像不认识一个以C语言为主要工作语言的人。这个排名第一是怎么来的呢?
世界仍然运行在C语言之上
这里有三个问题,我们分清楚:
1.C语言是否是一个优秀的语言?和就业无关。
2.C语言是否值得学习?和就业无关。
3.C语言的就业怎么样?
我对前两个问题没有困惑:
1.C语言是一个非常优秀的语言,这个世界仍然运行在C语言之上!
Windows系统,Mac系统,Linux系统的大部分模块都是C语言开发的。
就连这几年大火的Python的解释器也是C语言写的,就是传说中的cpython。
https://github.com/python/cpython
2.C语言非常的重要!
对于想要成为一个名专业程序员的人,和计算机专业在校大学生来说,是非常值得学习。
对于应用型程序员,只是为了学点编程,快速应用在工作中的人,没有必要。
C语言为什么排在第一位?
大家对C语言排在第一位的认知主要来源于TIOBE网站:
https://www.tiobe.com/tiobe-index/
国内各种媒体平台基本上也都是翻译的这个网站上的数据。
在我写字的今天(2021年3月份),C语言还是稳稳的排在第一名,随后是Java, Python和C++:
为什么C语言排名第一,而我却不认识一个以C语言为主要工作语言的人呢?
当然,我孤陋寡闻,圈子小是一个原因。应该也有其他原因吧?
有,原因就是这个排名不是和就业正相关的,而是基于搜索引擎的搜索结果来的。我们来看一下维基百科的说明:
https://en.wikipedia.org/wiki/TIOBE_index
翻译成中文:
这个index是根据搜索引擎的结果中包含编程语言名字的数量来计算的。index中包括谷歌,MSN,Yahoo!,Baidu,
Youtube等。
这里有一份更完整的搜索引擎列表,官方说明:
https://www.tiobe.com/tiobe-index/programming-languages-definition/
哈哈,天猫的权重竟然比百度还要多。牛了!还有qq.com, sohu.com等等。
搜的多确实可以代表流行程度,但是不能代表就业多。很多搜的人都是学生。
前面我也说了,C语言还是非常值得学习的。所以学习的人很多一点都不奇怪,学习者们会:
去天猫买书
百度上搜教程
论坛上提各种问题
这样就排名就上去了。
看就业更好的排名
从就业和专业程序员的角度,有两个更好的参考。
一个是github的编程语言排行:
https://madnight.github.io/githut/#/pull_requests/2020/4
这是去年的数据,但是一年变化不大。这里可以看到:
前面是JavaScript, Python, Java, Go, C++。这和我所了解的情况基本属实。
C语言排在第10位,占比3.127%,这是C语言比较合理的就业位置。
这里也可以看到各大语言历年的情况:
https://octoverse.github.com/
和上面的排名基本一致。
还有一个地方就是我前面说过的全球第二大同性交友社区Stackoverflow:
找代码上github,找答案上Stackoverflow。
https://insights.stackoverflow.com/survey/2020
这是2020年的数据,我觉得前3个都不是主流语言(JavaScript是前端主流语言),真正的排名可以从第4个开始算。和上面基本吻合。
C语言仍然是很牛的语言
说到这里,大家千万不要误解我的意思。
1.这个世界仍然运行在C语言之上,前面说了。我现在正在打字的电脑也是用C语言写的内核。
2.C语言一个很优秀的语言,值得大家去学习和研究。只能不能作为主要的就业语言。
同时C语言仍然有一定的就业空间,总的方向:
1.是偏底层的地方:用C语言开发一个Python解释器,这个就比较底层了。但是从就业的角度,Python的使用者和Python解释器的开发者相比,前者肯定多的多的多的多的多。
2.需要效率的地方:比如Python的科学计算库numpy就是用C语言开发的,因为需要效率。速度是Python的列表的百倍。
3.运行在资源比较少的硬件上:各种嵌入式软件的开发,比如智能体重秤等。但随着硬件的性能提升和价格降低,这其实也不是很大的问题了。
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。