在进入正题之前,我想有一些东西要先说一说。在下不是什么编程大师,目前来说连coder都算不上,一下我所些的只是我个人对编程语言发展的一些浅薄的看法,所以就算有什么不对的地方也请打家见谅。我将就三个方面说一说我对编程语言发展的认识。
第一方面:从效率上看待编程语言的发展
从进入大学到现在,我接触过汇编,C,C++以及C#这四种编程语言,从它们出显的时间来看汇编是最早的,然而汇编的效率是最高的,那为什么现在一般情况下都很少用汇编呢?比较汇编和C#其效率的降低是不言而喻的,然而当前计算机的速度在大多数情况下能够接受C#所导致的效率的降低。因此我认为编程语言发展的一个前提因素是计算机的处理速度。
第二方面:从商业的角度来看待编程语言的发展
获得利益是商业的根本目的,众多的软件开发商为了获取更多的利益,必然要提高软件生产的效率。我们先抛开汇编语言可移植性差的问题,只从软件生产的效率来看,如果单纯的只用汇编语言来开发一个大型的商业软件,单单就那夸张的代码量对于coder来说都是多么可怕的一件事啊!而且使用汇编时总太多的东西要十分注意,很多时候就是由于一时的疏忽导致大量的返工,或是造成不可挽回的错误。开发过程中复杂程度的上升必定会导致软件生产的效率的降低,这自然不会受开发商的喜爱。因此为缩短开发周期,C,c++这一类型语言势必会诞生。由此,我认为利益是推动语言发展的最直接动力。
第三方面:从认识和发展的角度来看编程语言的发展
看到这里我想很多人会问:认识发展是属于哲学领域的东西,关计算机屁事啊?如果你有这种想发就错了,任何事物的变化都可以从哲学的角度来分析,而且我认为要成为一个大师就一定要对哲学有一定的研究。计算机应当说是一个新的东西,从出现到现在不过几十年,然而它却在现在的生产、生活中扮演了及其重要的角色,这是为什么呢?我想和是因为它符合人类发展的必然趋势。那么编程语言的发展是否也符合这样的趋势呢?我的答案是肯定的。从效率上来说是这样,从商业上来说也是这样,这不正验证了这一点吗。好,我们具体来看一下,编程语言中的各种数据类型和控制语句它们所包涵的各种思想都能够在哲学中找到它们的影子。在看语言的发展,从低级语言到高级语言,从面向过程到面向对象,这不都是认识过程的的具体体现吗!?由此我所得到的结论是,编程语言的发展必然符合哲学规律。
总结
其实我们并不能孤立的看待编程语言的发展的各种因素,但是我们能够像解决问题那样将其细化,最后加以总结,我写这篇文章的思路也是这样的。我接触计算机的时间并不长,如果真的要我做一个总结的话,我想我会从哲学中去找寻到答案(呵呵,我觉的哲学真的十分强大)但是如果要我写出来的话,呵呵我真是没有这个能力。我想大家看到这里心中一定的会有一个不完整的总结,希望大家能将它写出来一起讨论讨论。