古代由于交通不便,没有广播,电视,网络等媒体平台,所以语言发生了分化,形成了众多的语言和方言。随着现代科技的发展,自然语言的种类在不断减少,很少有自然语言新产生出来,世界语是一种人造的自然语言,不过一直没有流行开来。
有语言是人类的重要特征那计算机编程语言就是另外一种情况了,不断有新的编程语言被开发出来,并流行开来,编程语言本来种类就不少,这几年又搞出来go和rust.按说现在信息交流很方便,网上又有github等开源软件交流平台,大家采用同一种编程语言岂不是交流更加方便,这样多的编程语言,存在的意义在哪里?
一段程序不同编程语言,能做的事情不一样,c语言才能做操作系统内核和驱动编程,java和python不能做底层编程。如果用c语言做上层的应用程序,因为程序员需要考虑的技术细节比较多,比如说如何管理内存,所以编程速度慢,容易出错。所以人们开发出python和java来提高编程效率,java运行在java虚拟机上,不同的硬件细节被虚拟机掩盖了,所以java程序很容易在不同的平台之间移植。在Windows上开发测试的Java程序很容易就能移植linux上去,如果换做c语言,就费事多了。
大家都熟悉的安卓Android平台采用java作为主要的app开发语言,对于降低app开发成本,提高Android平台的流行程度有重要作用。作为一门编程语言,python比java产生更早,python作为解释型脚本语言,有着开发速度快,开发出的程序运行速度慢的特点。这些年硬件不断发展,速度加快,成本下降,程序员的人力成本相对上升,所以Python得到了大流行,有些场合,采用python语言,可以显著降低软件开发运营总体成本。python是解释型语言,代码保密问题不好解决,一般没有人用来开发app.
Python好工具有的编程竞赛,参赛者可以自由选择自己熟悉的编程语言。有一次遇到一个题目,计算两个非常长的十进制数的乘积,选择c语言的调用大数计算库,折腾好长时间,结果还不一定对。选择python的,直接相乘,几十秒搞定,结果万无一失。因为python计算大整数不会溢出。
物联网设备采用了大量单片机这两年技术发展,但是给单片机,微控制器编程,主流还是采用c语言,因为这些本来就是低成本系统,硬件能省就省,对它们来说,运行个Python或java虚拟机真是太占内存了。
有人上京赶考,有人辞官归故里,python流行了,basic语言和perl就落寞了,二十年前,作为非计算机专业编程入门的basic课程,现在都被Python代替了。
编程语言,有由公司主持开发的,比如java,go,也有由个人主持开发的,比如python和Ruby。也是一个个人创意非常重要的行业,不是很依赖于资本。
编程语言说是个语言,一般编程语言就几十个关键字,学习切换成本很低,如果一个人熟悉了一门编程语言,切换到另一门,学习一月就可以开始实际编程产出了。学习的时间成本远远低于自然语言,自然语言没有几年不能实际应用。
对从事什么职业,各人有不同选择比起其它行业,计算机编程这个行业内部分工高度细化,提高了整个行业的运行效率。新的编程语言不断涌现,也是分工不断细化这个过程的一部分。在实际编程中,有人不断总结出原来编程语言效率较低的部分,提出新的方案,开发出新的编程语言。
现在大家都知道,编程这个行业,对于某些具体工种有年龄危机,为什么机械,电子,电气,医生行业年龄危机不明显。这个和软件编程行业分工高度细化有关系。经过开发工具的不断发展,从事某些具体编程岗位,需要的知识点变少,外行经过三个月培训就可以熟悉工作,类似于工厂的流水线比的是速度和熟练程度,对综合知识的广度深度要求不高。比如从事网页前端开发,只要熟悉JS和html语言就可以了,其它计算机系统结构,操作系统,编译原理根本不会涉及。更不会扯到离散数学。