为什么现在会有这么多种编程语言?
编程语言是靠“适者生存,优胜劣汰”的“编程语言进化论”来发展的,也许A语言的创造初衷也是为了打造适应性超强的万能语言,但后来在实际过程中,大家会发现这门语言在B场景下用得很好,放到C场景下使用就会很蛋疼,于是这门语言在B场景下的适应性会越来越完善,大家都热衷于完善它在B场景下的功能而忽略了C场景,于是C场景相应的功能由于没有人维护而渐渐退化。
这时候,有人想兼顾A语言在B场景下的优秀特性,又想在C场景中发挥作用,于是它创造了D语言。后来有人觉得D语言还不够好,于是又有了E语言、F语言,于是,“编程语言多样性”就这么来了。编程语言如此之多,实际上是这个世界上的开发者共同努力的成果,大家都在尝试把各门语言的优秀特性综合,不断地产生优秀技术来淘汰掉旧技术,是自然选择演变而来的。你想当救世主,创造一门自以为是全世界最优秀的语言,实际上也只是为了编程语言的进化共享了一份力量而已。
虽然有很多冠冕堂皇的理由,但是说到底,即使是那些被万千程序员“膜拜”的“伟大的”编程语言,在被创造出来的时候,只不过是某个年轻的学生或者工程师脑子里的一个小小的想法,他们会说:“嘿,其实我觉得程序应该这么表达,你们看好了……”。然后日夜的工作之后,终于有了一个粗糙的语言轮廓。
然后由于某些方面成功的设计,确实得到了一些应用。接下来在商业环境或者科研领域获得自己的一席之地。并不断向前发展。事情就这么简单。我们拥有如此之多的编程语言,一个重要的原因,是因为目前业界发展虽然看似迅猛,但是软件领域在过去几十年里,其理论认识和发展过程,依然远远比不上硬件方面的发展。曾经硬件生产是属于智力密集型的,既需要尖端的知识,特殊的设备,还需要复杂的过程才能生产;如今,硬件生产依然需要特殊的设备、甚至更复杂的过程,但是整个流程已经被高度自动化、系统化、流程化。
从这个角度来看,编程语言的涌现,是由于人们在软件研发过程中遇到了瓶颈。人们试图突破这些瓶颈因而创造了大量的语言。另一方面,编程语言大量涌现,也和创造编程语言所需的成本较低有关。