Java, C, C++, Go, JavaScript ...... 这些著名的编程语言都是美帝搞出来的,Python是荷兰人发明的,Ruby 是日本人发明的,Lua 是巴西人发明的。
到目前为止,还没有一个诞生于中国的、世界流行的编程语言。
我觉得原因很简单,国内还没有诞生优秀编程语言的土壤。
编程语言的一般产生于三个地方,大学/研究所,IT公司,有兴趣的个人。
美帝的IT行业雄霸全球,***世界潮流,基础软件像操作系统,数据库,编译器,网络协议栈都是他们搞出来,技术实力超强,他们是新技术的发源地,编程语言层出不穷也很正常。
我们的计算机行业发展历史很短暂,人才尤其是***人才的储备远不如美国,再加上体制的原因,我对国内的大学和研究所不抱希望。
中国虽然有很多体量很大的互联网公司, 但主要还是在应用层折腾,使用别人的语言来实现业务。
国内的互联网创新大多停留在业务模式,商业模式的创新上面,当实现业务,抢占市场和用户是***需求的时候,发明新的编程语言根本就不在日程之上。
于是发明新的语言只能依赖个人的兴趣,但是编程语言不像框架和类库,只要你开发出来一个好用的/性能高的,自然就会有人去使用,去star, 去传播。
编程语言不仅仅是语言,它是一个生态系统,光有语法还不行,得有配套的类库,框架,平台。 这一套想搞起来,需要投入大量时间和精力去维护、改进、推广,个人力量是搞不定的,必须得有一个社区。
即使如此,也不一定能等到爆发的那一刻, 因为编程语言的流行也有很大的运气成分和偶然性。
Java 最初的设计目标是消费类电子产品,经过了初期的失败,走过了很多弯路,不得已才转战互联网,踏上了时代的浪潮,迅猛发展。
Python的作者 Guido Van Rossum想用Shell在Amoeba这个操作系统上做点儿系统管理的工作,但是没法调用Amoeba独有的系统API, 用C的话又太重,所以就发明了Python。 他当年绝对想不到Python发展了多年以后居然会随着云计算,人工智能等火爆起来。
Ruby也是类似,如果没有Ruby on Rails这个框架找到了一个适用场景: 快速、干净地开发Web2.0程序, 估计它还是默默无闻。不过Ruby在移动计算,大数据,AI这些领域就没有什么声音。
Lua原来一直在游戏领域做脚本语言,这些年才随着OpenResty,Redis 开始进入大众的视野。
国内的程序员动辄996,被三座大山压迫着,谁有时间和精力愿意去做一个看不到尽头的东西呢?
还有,有多少跃跃欲试的人是被《编译原理》给吓回去了呢? ^_^
不过中国互联网行业发展得很快,二十年前国内能拿得出手的开源软件都很少,也就是LIDS, LVS, MingGUI等寥寥几个,现在仅仅是阿里巴巴就有一大批了, 从Linux内核,JVM,到分布式文件系统,微服务框架,消息队列,有一些产生了***的影响力。
随着时间的推移,中国的IT业早晚会发展到一个阶段,和美帝并驾齐驱,在这个阶段遇到的问题是现有语言搞不定的, 肯定会有某些公司或者个人站出来,发明新的编程语言,然后推广到全世界。
【本文为51CTO专栏作者“刘欣”的原创稿件,转载请通过作者微信公众号coderising获取授权】