当一个编程初学者学到了一门编程语言(比如C语言)的一点简单皮毛之后,诱惑忽然变得好多,这其中包括对编程语言的选择、对工具平台的选择、对考研与找工作的选择、对发展方向的选择……
其实我觉得各行各业的入门都是这样。大学生在接触了一点点基础的专业知识以后,很容易联想华丽丽的未来,谈到要做的各种选择。选择越来越多,可是去做出选择反而相对难了,因为顾虑太多了。
我接触的第一门编程语言是C语言,当时是大一上学期,连电脑都还没买。第一行"Hello World!"是在Android手机上用C4droid调GCC编译运行的。玩智能机玩到那个程度,我现在真是服了当时的自己。不过,若不是那种好奇心一直驱使着我自己,我也不可能成为今天的我。
废话不多说了,说说对编程语言的选择吧。
编程语言真的很多,我接触过C、C++、Java、Python和PHP,随着阅历的增加,逐渐听说更多语言比如 Lua、VB、.NET、C#、SQL、Html、Lisp、Matlab……
简单总结一下,可以有多种划分方法。我的概念不太清楚,大致描述一下:
打开一台最普通不过的电脑,开始启动的操作系统比如Linux、MacOS和Win,其内核的编写就主要是用了C语言。打开某个应用程序,它的主要部分可能是由C#(win)、C\C++(linux)、Objctve-C(Mac)编写的,还可能需要SQL以及一些数据库语言进行数据库操作,需要Java、Pyhton完成非核心部分的处理,需要xml格式化的界面。网络可见的任何信息都是以HTML、CSS、Javascript、PHP等形式存在的,需要用java解析处理什么的。有人写lua游戏插件,有人用Matlab做工程计算……
选择太多了,不是吗?了解其应用领域对于做选择来说是好的。如果用一门语言顺手或者喜欢其编码风格也是很可能的。
很多时候,做出了选择却浅尝辄止。东一锄头,西一棒槌,广度是有了,但没有深度。或者说根本停留在认识的阶段,然后就自以为精通了,这是很可悲的。有人说,能把一门语言研究透就很难了,我想这也是有道理的。当然,如果不做太深CS科学研究的话,我觉得驾驭好其中几门,然后去应用到实践中去就足够了吧!