我也想对广大程序员说一些话
今天上来就看到头条《想对广大程序员说的一些话》,作者的观点还是有很多可取之处的,只是针对博客园的目标群,我觉得有必要谈谈我的观点。
在技术的路上,我一直认为就如同金庸小说中的大侠一样,要内外兼修。光有内功没有外功,虽然很厉害,但略显粗重;光有外功没有内功,则属于花拳绣腿,中看不中用。
那么在技术上,什么是内功?什么是外功呢?我认为内功就是思想层面上的东西。在当前时期,针对广大程序员,其实就是面向对象的思想。但至于什么是面向对象思想,这个东西很空泛,而且本身思想层面上的东西,如果强制使用语言表达出来,或多或少都有些变味,所以只能自己体会了。如果真要说点什么,那么我的理解就是以人的思维方式去思考系统的做事方式。在思想成型之后可以升华到模式思维,这时候看系统就能直观并且自然的看出该使用什么些模式来解决问题,并且能根据自己的需要创建新的模式。外功就是语言,思想最终需要落实到编程语言上,知道如何使用语言来实现思维层次上的东西,这是外功的修炼。
至于新技术、新框架,他们的出现无非就是为了解决目前编程模型中的一些问题。他们的不断更新就是不断的为解决问题提供方便。因此,当内功修炼好之后,看看新增的特性,应该就能对新的更新理解的八九不离十。而外功的修炼,则可以结合内功来创建自己的技术和框架。
至于C,C++,数据结构等这些,个人认为是锦上添花。注意,这里是对广大程序员说的,因为对广大程序员来说,都没有必要重复制造轮子的必要。所以,我认为学习技术应该是两方面一起着手,一部分是面向对象的分析和设计,这部分与语言无关,是属于内功的范畴。另一部分就是选择一个合适的面向对象的语言,精通其语法,搞清楚编程模式和各类关键字的使用含义,了解如何最大化去发挥语言的效率和生产力。