要想成为名好程序员 学习C语言是非常必要的 在《程序员生存定律》里,我写过一篇文章叫:程序人生的出口。其中列举了程序员最可能的结局,比如: 1 成就超一流高手 这其中1对基础要求很高,2与3对打基础比较无所谓,这时候技术很像一种敲门砖,而4与5很可能正是忽视了基础的结果。 这样一来事情就非常清楚,如果你真想长时间做程序员,并且想比较好的实现自己的人生价值(包括现金价值),那么打基础是很必要的,再进一步就是说从C语言开始学习编程其实是很必要的。 从C语言开始学习编程对大学生的另外重意义 从C语言开始学习编程对大学生而言还有另一重含义:除了大学的时间,你可能再也没有大段的时间打基础。容易的东西是可以用碎片时间学的,比如各种脚本语言,但难的东西是需要大片时间学的,所以一旦大学里不把硬骨头啃掉,未来很可能就没时间啃了,说回来还是要先打基础再谈其它。 历史上赵匡胤曾经犹豫过是先搞定比较羸弱的南唐还是先搞定幽云十六州,最终他选择了先易后难去搞南唐,从结果来看这是错了,你不趁自己最巅峰的时刻搞定最难搞的,未来可能就再没机会了,而羸弱其实一直会弱在那里,早搞晚搞差别不大。 当然我们也必须承认即使努力的去打基础,也不是每个人向上走,都能成为高手、成为特别牛的程序员,还是有人会卡在某条线下面,要去维护垃圾代码、写垃圾代码,但关键是我们谈的是在学习阶段应该怎么做,不争一争就放弃某种可能性,还是太可惜了。 此外,对于大学生或者那些有充足时间学习的人,我不太认可一种方式可以培养兴趣,另一种就不能培养兴趣的说法。这更多的可能是种借口,因为在有如此多好玩开源项目的年代,对于想学的人,C语言一样可以有很多兴趣,对于不想学的人再简单的语言一样也很无聊。 有没有趣,是学习或者是教学方法的问题,而不是编程语言的问题。 最后我想再补充两点 首先,我写上面内容时,没太考虑职业技术学校的情形,一旦考虑速成,考虑大规模生产,结果必然会掉过来,这并不令人意外。 其次,并不是只有我有这类观点,大名鼎鼎的Joel在《软件随想录》里专门有一章叫“学校只教Java的危险性”,其中所表达的观点与这里的观点类似。 作者介绍:李智勇,V众投发起人,《完美软件开发:方法与逻辑》作者。目前正在免费发布《程序员生存定律》,微博:李智勇SZ,微信:vfacebook。 |