以前录制的《C语言,好爽》的视频中都是在写windows上的C语言,昨天突然在linux上写了个C和C++程序,没想到居然收到许多迷惑的朋友在问“这有什么意义”,“直接在windows上用IDE爽多了”之类的话,当时我只能说:等你以后就知道了。这以后可能是5年后,可能是10年后,才会懂得,才会得到印证。但是时间过去了,机遇过去了,懂了又有什么意义?闲白了少年头,空悲切。

现在我根据自己的感觉总结一下原因,听得懂就最好了。

C语言的重大意义不在于它本身能开发多漂亮的东西,也不在于用它来找工作多么的受欢迎,跟不在于它的薪资有多高。很多人被这些表面的东西迷糊了。是以直接得出结论:C语言没什么用。但是,可以告诉你,但凡一个大学的理工科,如果不开C语言,就是不负责任了。

为什么这么说?

C语言是从效率、性能、友好性来说最合适的底层编程语言(除了汇编,但汇编友好性不好),训练的是基础的编程内功心法,认识的是智能世界!

1:对编程思想的学习

虽然C语言只是在阐述面向过程,但是如果没用面向过程思想编程过,没有经过许多代码的练习,没有对C语言学透,你很难体会到模块化编程的优点和缺点,那你学面向对象几乎也体会不到它的优点,因为没有对比性。你直接学习C++或者PHP,可能几天之内背熟了面向对象的语法。但是你却很难体会到面向对象的优点,自然也不知道什么时候该用面向对象去开发(往往只能是听别人说好就好,别人要用面向对象开发你就用)。那么对于更上层的编程思想,如:面向切面,则是更加的摸风了。

知其然不知其所以然,这样的编程境界不足以维持你长久的职业生涯。

2:对上层语言的快速学习指导

C语言精通了,你学C++就比较快,有了C/C++的支撑,你再学比如JAVA,PHP,.NET,C#,MFC,QT,就可以加快速度,如果你够精通,一个星期搞定一门也不是不可能。就像练成了九阳神功,再练乾坤大挪移只要3个小时,而一般人则要练3年,还不一定学会。

更多的其他东西如:MVC设计模式,基于面向对象思想,你也可以快速的搞定。模板解析引擎(如Smarty),你也可以快速搞定,二次开发的开源系统,你也可以快速搞定...

3:对单片机、嵌入式的意义

C语言衍生出来的比如C51编程,AVR编程,PIC编程等单片机系列,有了很好的C语言,这些领域可以快速的理解。同时,C语言在嵌入式(如:ARM)是很强大的应用。这也是你以后可以发展的方向,也就是学C可以为了学嵌入式。嵌入式和互联网结合,就是智能的物联网时代,是未来的发展趋势。

4:对linux的学习很有指导意义

Linux中的很多命令,以及文件系统,以及源码编译,以及驱动等这些处处都可以看到C语言的影子。很难想象一个没学C语言的人会精通Linux。

以后的大趋势有这么几个:移动互联网、物联网、大数据、云计算,这些的深入、高薪基本上都不谋而合的聚焦在了Linux、Unix......

5:让你能更深刻的理解编程本质、智能世界!

C语言由于靠近底层,很多东西都是在写比较原始的东西,比如字符串,比如指针操作,比如堆内存手工释放空间等。由于是让你自己在写,所以你也就有希望能理解的了硬件的东西(不要和直接写硬件IO口和汇编代码来比,因为这是在讨论编程范畴,不是硬件开发范畴)。

硬件上放软件,但是硬件和软件之间的联系就是通过它们的IO口。C语言中的位操作对硬件的IO口编程有很好的类比。不要拿高级语言的IO口来类比,真正意义上如果是要求速度快,那驱动基本上只能是C语言和C++以及汇编,不会用高级语言去写驱动。就像如果你用C#来开发一个大型桌面软件会卡的你想撞墙,此时你得换方案,而不是换语法。换方案就是换到了C/C++。

通过写驱动,你会进一步的认识软硬件之间的结合,你会把编程语言和底层的画PCB电路板结合的了,整个智能系统在你眼里就清晰起来了,当智能变得不智能的时候,你就学懂了智能的世界。

最后:不要以薪资多少来衡量C语言的价值,很多上层语言可能会崩溃,只有把握好这种底层的语言才能让你立于不败之地。而且当你很好的理解了底层,上层语言的深度应用,你也可以轻松搞定了。否则,只能干看干着急。就像前天我在拉钩网和Boss直聘网上随意搜索PHP,结果居然比半年前的需求大许多,而且需要的都是“高手”(长沙薪资12-20K,长沙的房价我周围是7K/平方米哦),另外,我没投递任何公司,却已经收到2个“Offer”了,公司老板亲自查找的,可见公司也在急需的找人,找的是踏踏实实的过来人,我并不是什么高手,但我能踏踏实实的走,一步一个脚印的走,哪怕一个小错误也会纠结半天的那种,可能是这个有点吸引力。同时,这意味着未来的趋势会拉的越来越大,新手或初学者更难找工作,公司找高手也更难。未来需要的是复合型人才。如果大家都浮躁是你浮躁的原因,那大家都难找工作也是你未来的结局。你会喜欢那样的结局吗?

所以:擦亮眼睛、抛弃幼稚、走向成熟、赢得未来。

为了总结更好的C语言,正在策划准备《C语言,好爽》2017年新版,希望能用最新的体会和工作经验去阐述以前没有阐述过的一些东西......