首先请停下来思考一下:如果你是名程序员,如果你渴望成为一名优秀的程序员,你,身上还欠缺些什么?
对于初学者,选择一门语言的时候往往看的是各种语言的广告,身边带着各种倾向的人的流言蜚语(或者公正,但更多是带着自身喜好的夸大),抑或是那门语言所能给你快速带来的经济效益。于是初学者便不由自主的被“划分”进各个流派。
接着,我们学习了语法,然而你会发现不管java 还是 C++, c还是delphi,他们基本是相同的,有着基本类型的声明,分支控制语句等等。有的人也许会想,是什么造成了这些用相同编程概念的东东变成不同的语言,并且大家会对语言有所选择,觉得自己用的这门独好?当然我们没时间去思考这些太多,因为有着太多的概念与技术需要我们去学,我们都急着用来工作或用来完成某些事。
然后你工作个一两年,当你自认为对一门语言达到足够掌握可以顺手用来工作时,假如有一天你离开了你熟悉的各种库,更直白就是离开了XXX.h 文件,你还能做点什么? 首先不要急着反驳,首先请你承认一个观点,不管你在哪个平台工作,你离了库就无法做你的日常工作.其次就算你平台无关你离了语言提供的内置库你还是不能做任何事.在你急着进行疯狂的反驳时请首先冷静想下, 你有能力去做实现那些类库所封装的功能么? 当然我没有要你去自己手动实现, 有能力不代表一定非要自己从新造轮子.
以上观点不是为了表达"用了框架或类库=把自己变成傻子"的观点,而是在告诉你,语言和库加起来,才是我们想要的. 一门语言再牛逼, 也不如一个"二流语言" + "顺手的库"能让你做出更有意义的事. 更何况,前面也分析了,语言的基本概念,变量呀控制分支呀,都是基本相同的,不同的就是一些方便你的"内置"功能,最经典的例子当属COM,如果你对COM有一定理解,就明白为什么说语言不是最重要的.
于是,让我们看看是什么造成了 f("一门牛逼语言(偏好者自认为的)") < f("一般的语言"+"顺手的库")? f为代表效率的函数.
显然如果语言不是最重要的,影响比较结果的就是那个右边独有的库起着作用.
这里, 请VC++程序员想想,离了MFC你在windows上还能干嘛?CLI C++?那么蹩脚的东西.....
JAVA程序员.离了那三大架构你还能干嘛?
难道就天天写console?
作为一个职业的程序员,我们是否该盯着一棵树不放?
看看C#的发展,你会发现完全就是库的发展,那些语法糖不过是为了吸引人而加进去的噱头.你不用照样能胜任任何工作.最根本的根本是类库越来越强大,造成你以为自己越来越牛逼的假象.
程序员们, 离了库,你还能做什么?