不要在一门技术上吊死
现象
刚出道的朋友,特别是刚踏入社会的学生,总是希望今后干活用的一定是自己熟悉的语言,当领导安排做其它的不同技术性活的时候,对于语言上的不同,心理上很排斥。
对此,大可不必,年轻人多学几门技术并不是坏事。不要想着在一门语言、一种技术上吊死。你可以精通一门语言,同时,你也可以熟悉更多的语言,与计算机世界做更亲密的接触。
我的起点
我的编程起点从C++开始。大学做过一些比赛的软件,也给外面的公司开发过产品。这一切都是基于Windows平台、基于MFC,那时,也学过linux,但觉得与自己很远。作为学生时代的我,没能体会linux的世界有多精彩。只是学到了那些命令,都是表面;
最初学C++的时候,都是在命令行下敲打,都是控制台、黑屏。当开始接触了MFC,使用MFC写出几个GDI图形界面的东西,就觉得帅气。最后回到linux,才发现还是文本模式最酷;
由于工作原因,需在linux下写C++后台,这才体会到C++的强大和不足。在应用开发上,C++效率高。在日常工作处理,比如程序部署,日志处理等,python和shell脚本就是利器。而这些活用C++来做的话,就吃力不讨好了。
WEB方面,我最初用的是ASP,04年用ASP做了个网站,拿了学校的一个奖。之后开始用ASP.net做产品,做过一个上线后,也没体会到有什么不好。也用过PHP和JSP,不过都是些实验性的项目,未曾投入生产。再后来,开始做我们的创业项目,也是用的ASP.NET,建立在Windows平台,同期也使用到Linux服务器,这才体会到不同平台上的优劣。如今面对一个新的项目时,在语言选型上我有了更多的考虑点。(关于WEB语言的选择,可以参考我的另一篇文章:创业如何选择WEB开发语言)
我的观点:
语言只是工具,对于特点的场景,哪个合适就用哪个,不会?学呗,有了之前的编程经验,3个月下来,至少可以达到熟悉的程度,对于其高级特性,可以在实践中深入;
编程的核心是算法和数据结构,这些,是我们大学最熟悉不过的东西。既然,核心掌握了,对于语言这种外在的表现形式,就没有必要拒绝和害怕。无论面向对对象、面向过程、掌握后对其它语言的领悟就是触类旁通。