想写这篇文章已经好久了。关于学习那种编程语言,使用那种编程语言,那种编程语言的生命力更持久,各种编程语言的优劣等等这些争吵从来都没有停留过,在网上各种各样的技术社区我们都可以看到这些激烈的争吵。庆幸的时,在我学习编程语言的时候看到了一篇文章《一切编程语言都是纸老虎》。

    在51CTO中还有一个关于编程语言排行榜的专题。把握好一个风向标是非常重要的,在方向正确的前提下我们的努力才是有意义的。

    写这篇文章主要是因为在学习程序设计的过程,听到了,看到了关于编程语言的争论。虽然没有参与这样的争论,思考总是允许的。总之,上面提到的那篇文章我是看进去了,曾经自然不明白正真各种编程语言之间的差异性,侧重点,解决问题的能力,特性等等,更甚至更多,更令人迷失的第一次见连名字都没法读出来的编程语言。

   写给正在为学习那种编程语言而犹豫不觉,正在为自己熟悉的编程语言与将要从事的工作需求不符而困顿,正在为自己学习的编程语言叫嚣的,正在因编程语言的事而耳红面赤的争吵着的同学。

   1.主流与非主流

    C语言算是一门经典的编程语言,对其崇高的敬意是没法掩饰的。想要了解主流与非主流编程语言很容易的。这里可以提供一些方式:第一,去较大的书店,直奔计算机类看看什么样的编程语言的书籍较多,这基本就能说明问题。第二,业界的培训机构的宣传广告,这里面的信息肯定是足够符合市场,符合目前或者未来一段时间软件公司的需求。第三,51CTO上的一个编程语言排行榜。第四,力所能及的了解一下自己所能接触到的,听到的软件,系统等使用的技术涉及到那些编程语言。

    主流和非主流没有高低贵贱之分,存在的就是有意义,有价值,或许我们现在还不需要这样的价值而已。

   2.编程语言的前身后事

   很早有人说那个“读史可以知兴替”。计算机的发展从一开始就伴有着神秘,高科技,军事,黑客,骇客,黑窗口,这样也沉淀了一些耐人寻味的故事。编程语言本身就是人和计算机沟通的载体,因此它的诞生,发展,扩展,衍生,延伸向来都是不间断的。散布在世界各地的天才,用着自己的方式与计算机这个庞然大物亲切的沟通,为了让希望能够与计算机对话的普通的Boby,而发明各种高级语言。

   总之,了解编程语言的前身后事既能够感受计算机文化,又能够感受这个新兴产业的浪潮,还能明白些关联。。。。。。

   3.深入掌握一门到两门编程语言

   虽然《一切编程语言都是纸老虎》听起来很霸气,很嚣张。听名字像是把编程语言说的不名一文,事实上不是这个意思的,我们应该正确看待编程语言。

   什么是程序呢? 程序员通过使用自己较为熟悉的计算机能够听得懂的编程语言编写出来的有意义的有序列的字符串(只是这个字符串有些长)。

   只有充分掌握了一门编程语言我们才能够有很好的适应能力去学习更多的我们需要的编程语言。那么刚开始到底深入掌握那种编程语言呢?这个问题一定得弄清楚。比如面向过程编程语言,面向对象编程语言。如果要从程序的执行方式上去看,比如解释执行,编译执行。

   如果掌握一门编程语言的话,那么在主流和非主流方面做一个很好的理解和了解。

   如果需要掌握两门编程语言的话,还是尽量在程序设计,执行等方式上取不同。想想,学习Java的同时,还在学习C#,多么的不可取。

   4.拥抱可以接触新语言的机会

   我们从来没有接触的事务对于我们自己而言是新事物,但是绝不代表事物本身就是新的,超前的。

   有一个亲身经历。大学的专业课程庞杂,之间自然有紧密的联系,倘若一部分没能掌握好就会失去对新一门课程的新鲜感和兴趣。专业课程中有好多实验要做,而且往往老师自己所能接触的编程语言也是有限的,实际情况是一两门编程语言,而且还是属于历史的那种。面对问题,寻求解决的办法,因此接触了诸如:Delphi, Visual Basic, C#, HTML,JavaScript,C,C++, Matlab, PowerScript,Python, SQL脚本等等。久而久之就明白了,编程语言就是为了更好的解决问题的。

   很多时候要专门学习一种编程语言需要很大的驱动力的。而面对实际中遇到的问题,能够正确对待,不去恪守已经掌握的编程语言,拥抱这样的机会一方面是解决问题并能够学习和了解到更多的编程语言,另一方面学习能力也会提高,并且对不同的编程语言有一个真实的认识。这些绝对是来自实践的积累。这样在回过头看《一切编程语言都是纸老虎》的时候应该有另一番体会和认知的。

   5.争吵是最没有头脑的行为

   如果真想了解更多的编程语言的特性,并且想在往后的工作在使用,或是出于兴趣等等,那么至少做到最基本的几点:

       各种语言生而平等,求同存异,包容开放;

       每一种编程编程语言都能够描绘出优秀的产品,就像汉语写出来的文学作品一样可以拿诺贝尔文学奖一样;

       相信每一种编程语言的使用者有足够的信心和表达能力和计算机这个冰冷的家伙和睦相处,愉快交谈。

   争吵是最没有头脑的行为,倒不如屏蔽本位主义的思想,平和的与不同的开发者,程序设计爱好者分享经验,交流沟通,我想这样学到的知识,获得的对不同编程语言之间的差异化的理解更为有价值。

   6.实践是避免争吵的有效途径

   “若爱,则深爱”。编程本身就是件疯狂的事情,痴迷,忘掉世界,将冰冷的计算机调教的热情起来。既然选择了编程,就即兼风雨,又兼可能听到看到的争吵一路走下去。

    在不断的实践中学习,总结,理解,升华对一种编程语言的认识,说不定还能在人生观和价值观上带来惊喜的。好吧,都沉迷进去了,还有机会,有时间加入到争吵中去吗?哦,世界都给忘了。

   这些是个人在编程的路上一些感触,这些天遇到一些朋友都快要毕业了,还在为自己所掌握的编程员喋喋不休,还在为工作需求与目前算掌握的知识相差较大的彳亍不前。我们要适应环境和拥抱变化,推荐一个前辈的博客http://yunli.blog.51cto.com/831344/1057376

   我当初是庆幸的,希望更多的初学程序设计的同学也能幸运的看到这篇文章或者是《一切编程语言都是纸老虎》。