直至今天还有人在喊着C语言都过时的语言了,还有什么值得去学的,看现在的python,php等语言现在用起来多简单,谁还去学习老掉牙的C语言,事实真的是这样的吗?笔者作为专门下载了这两种语言的底层源码。由于篇幅的限制在这就不剖析框架如何去实现这些编程语言。
简单列举下目录结构:
python部分底层文件
php部分底层文件
现在编程语言进化速度以及种类变化非常大,现在C语言走在前台的机会越来越小,并不代表C语言就此埋没了,或者销声匿迹了,还在像老牛一样默默的耕种。
从世界编程语言的范围看,C语言的排名稳居前三,只不过最近几年由于国内互联网发展的比较迅猛,比较前沿的开发语言用的多一点,似乎是觉得C语言的市场相对少了,放眼全球C语言排名依然很可观,有题图为证。
一. 嵌入式软件项目
C语言是比较靠底层的语言,和设备直接打交道比较多,linux操作系统的源码绝大部分是C语言搞定。芯片和底层驱动基本上也是C语言,大家在招聘简章上的驱动工程师最基本的要求就是掌握C语言。
常见的底层库比如网络接收,底层图形绘制库等对性能要求非常高底层软件库,基本上是C语言和汇编的结合体,C语言相对占比更高。
二. 参与开发高级语言底层实现,或者系统级开发
现在常见比较流行的语言底层代码基本上都有C语言的参与,很多常见的python,java,php底层的维护语言基本上以C语言为主,这方面对于编程经验的要求也比较高。有想了解这方面的知识的可以,订阅一个linux内核开发的邮箱,能自动收到linux内核里面提交的bug,解决bug的代码,以及提出一些建设性的意见,每天都能收到成百上千的邮件。能很好的了解开源社区是咋玩的,也能进一步了解C语言在开发系统方面,原来如此强悍
三.通讯领域以及服务端的开发
从理论上来说C语言能做任何事情,但不同场景可能是别的语言相对来说更加合适,效率更高。比如做个web服务器,用C语言一点点的都能实现,交给java去做,搭建几个框架几个回合就完成了。不是能不能的问题,是谁最合适的问题。
很多系统级架构师,对C语言很是推崇,有句话:知其然知其所以然,说的就是这个道理,知道底层是如何实现才能更好 指导上层如何去应用。很多资深级别的程序员都建议从C语言开始学习编程,然后慢慢向上层迈进,一步一个脚印的完成。
有志于在编程行业走到最后的小伙伴,建议一定要学习下C语言,为自己打下一个良好的基础。加油吧,菜鸟。
下面附上C语言编译器的下载方式以及一段灰常有意思的代码
(小伙伴们一定要运行一下哦!!)
Visual Studio2019下载地址:Visual Studio 2019 | Visual Studio
安装详细过程:Visual Studio2019安装步骤
下载完毕后选择下载C/C++模块 然后点击新建项目/控制台应用 就可以开始写代码啦!
(使用Ctrl+F5进行编译)
有趣代码分享:
#include<stdio.h>
int main()
{
int a = 'O';int b = 'N';int c='F';int d='q'+1;int e='n'+1;int f='t'+1;int g ='o'+1;
char m = a + 2;
char n = b + 3;
printf("%c%c %c%c%c%c%c:", m, n,c,d,e,f,g);
int z = 'Z';int x = 'M';int v =29;int s = '7';int r = 4;
printf("%d%d%d%d%d", z, x, v, s, r);
return 0;
}