从C语言到C++语言,再到Java,php,以及python,愿愿的看法。

    愿愿一开始学习的语言是BASIC,这门语言是很好的入门语言,因为它简单,但它由于没有指针类型,所以是低效的。怎么说呢,BASIC既没有C/C++的强大,又没有Java的鲁棒。一般官方的说法是,它面向过程直译型的语言,怎么理解呢?我们在看微软的技术文章中,涉及到例子的代码,一般都有BASIC试例。BASIC语言能够很简单的描述一些方法的应用过程,而且它仅仅描述代码的应用方法,而非真正的实际代码,更易于建立其他语言比如C++,Java,与某些特定类库概念上的使用说明。所以我们如果要介绍自己的类库的使用方法,有条件的,用BASIC语言来说明概念问题,可以简化略去某些计算机技术特有的细枝末节,从而使得用户更好的单纯的理解自己提供的软件思想以及方法。

    再说说汇编,C/C++这三种语言。一般来说C++语言是最复杂最强大的高级语言。C++语言可以实现C语言的所有功能,但反过来,却不行,也就是C语言不能描述C++语言的某些特性。用比较时髦的话来说,C++是C的超集。再说汇编,汇编语言不具有移植性,因为它的语言集合与物理机器是具有高度的耦合性,虽然它是将机器代码,进行了易读性处理,转换成了类似人类语言的指令,但不同的机器指令集是不同的。

    再次,初学计算机编程的技术人员要明白一个非常非常重要的理念:强大的语言未必是最好的语言。精神理想上,汇编语言以及机器语言可以完成所有功能,但为什么会有这么多语言产生呢?这是一个很重要的话题。我们作为人类,学习一门语言需要时间,如果我们在一台机器上学习的语言,不能轻易的应用到另一台机器上,我们所消耗的精力与代价就太大了。如果我们精心设计的程序,因为语言的缘故不能让更多人利用,那么这是非常糟糕的一件事情。

   所以出现了C语言,C语言由于提供了编译器,它用编译软件将它的复杂度,相对于汇编以及机器指令,降低了一个层次,那么它带来的负面影响是,C语言的编译器必然会对各种机器翻译成的代码具有通用性,也就是它略去了机器的某些特性,必然的结论是性能的降低。但好在它在性能与效率之间有一个较为能让人接受的平衡。所以,操作系统一般的功能都用C语言来完成,一些军工的计算代码也可以用C语言来完成,效果还不错。

   再说Java,Java最最重要的特性是它的自动内存垃圾处理机制。Java把掣肘C++的一大缺点,用这个机制完美的屏蔽了。编程人员可以不用考虑对象的释放,肆意的new,而不用delete,C++培养的是编程人员的良好习惯,那么Java就是为了降低编程的复杂度。让更多的人都能掌握编程,而且能够生成高质量的软件产品。

   再说PHP,python,Delphi,C#等等语言,对于这些语言,他们产生的原因,以及它们存在的价值,在于它们所能提供的类库。也就是,一些高层级的功能。从某种意义上来说,它们和Java的产生很类似。

    对于,编程人员,学习一门语言,要考虑几个问题。第一,你要编写的代码对于性能要求高不高,比如你要编写航空发动机的代码,那么首选C或者汇编。第二,你要编写的代码对于编写的周期时间要求高不高,比如你做网页,一些财务软件等等吧,一般用Java,或者C#,或者PHP,J2EE。第三,你要使用的语言,是否提供了所需的高级类库,中间件等等。

    现在的软件公司,首选考虑的不是你的技术有多么牛B,而是考虑你是否能完美的给公司带来经济利益,这不像研究所等非盈利机构。好了,多的不说了,愿愿祝您在代码的海洋里闯出一片天地,生活幸福!

猜你喜欢

转载自blog.csdn.net/tom_xuzg/article/details/86517367