知乎并非程序员社区,很多这方面话题的参与者仅仅是工作涉及编程,并没有多少是程序员。所以主流对C充满了恐惧和……厌恶。对他们来说,C简直是必须立刻马上当即淘汰掉的、恐怖的老不死。以至于的“C只能做底层”之类都出来了。
它不作任何封装,把整个硬件、整个操作系统的摆在你的面前;同时它又是一种高级语言。使得它的用户不必关注太多底层细节,于是在其上无论是讨论算法、还是谈论操作系统、网络协议栈、编译原理等等,都极为简单直观。
这些特点使得C极具生命力。甚至哪怕到了现在,C仍然是最为流行的编程语言(一直和java、c++联手垄断流行编程语言排行榜前三位——而且C经常在榜首;注意C和C++是分开统计的)。
别以为C只能做底层。真正复杂、高难度、对性能有苛刻要求的、支柱性的大项目,C仍然当仁不让、不可替代——我不知道那些说C不适合做项目的,究竟有没听说过linux,看过几个开源项目。
C实现的任何东西,无论是操作系统还是编译器,全都会以的算法+数据结构的面目展示在你的面前。想知道什么,只要从一个API开始跟,很容易就能搞明白——跟一跟某个硬件相关API,甚至可以帮助你准确理解硬件。
除了C之外,你到哪里找别的、有丰富的相关开源源码及其分析资料的语言?若学到这等程度了,连计算机原理都不会,还学个什么鬼?
这里就出现了分支,如果你只是有兴趣,想要做出一些东西来验证你的想法的话,可能《 Python 》《PHP》这样的编程语言比较适合你。
目的性不是很强的学习,很容易因为畏难,无决问题就选择放弃,所以还是选择简单一些,并且能马上看到结果的语言来学习比较好。
这类编程语言就类似于编程界的《辟邪剑法》,你可以不懂底层,没有基本功也能很快让你上手,做出你印象中程序的样子,这样可以更好地提升你的兴趣并且解决你的问题。
如果你是出于对这行的“钱景”,想要未来在这行扎根,并且有不错的发展的话,应该不至于因为难而放弃吧?所以以我觉星期六左眼跳得想学习编程的朋友先从C语言入门还是不错的。