我第一次知道就连程序设计语言都划了国界了,,,,
问题本身和补充说明真是槽点无数:
设计一种新的程序设计语言真的不是需要什么IT巨头才能干的事情,甚至于都不是一个很高深的事情,所以根本不存在什么国外的什么IT巨头有能力啥的。国产的也不止易语言,还有草泥马语神马的,如果算上程序员约定的各种脚本协议啥的,每天每时每刻都有新的语言在被发明。
事实上,设计和推广一个新的语言本来就是一件费力不讨好而且基本拼运气的事情。
几乎所有的程序设计语言都是世界的,这是程序员的共同选择而不是神马阴谋。中国根本不需要一个什么自主知识产权的语言,一个程序设计语言背后能有神马知识产权?对这个语言使用的任何限制都只会毁了这个语言变成一个自娱自乐的项目。
设计一个程序设计语言事实上本来就是科研机构要干的事情而非商业机构。通过对软件开发过程的研究发现新的模式以及更好的描述这种模式的语言。
一个语言如果在理论层面和实践层面没有极大的优势根本不可能流行开来,所有的语言被发明出来都是为了解决现实的问题而非战略卡位。
苹果发明Swift是为了帮助开发者更好的开发iOS应用,而微软发明C#是因为Sun阻止它改进Java更好地契合Windows开发,至于Google,我更愿意认为他们自己发明了一些需求,并创造个语言来解决。。
发明一个语言出来再围绕这个语言建立生态环境在目前无异于痴人说梦,语言是用来解决问题巩固生态的,绝不可能是创造生态环境的途径。
更不可能因为某个语言的发明者的国籍而为国争光。从某种意义上来说,一个语言的库的作者比这个语言的作者贡献大得多,,,,,
提问者如果想要完成中华民族的伟大复兴啥的,不如买本DLR的书好好看看,不需要多少基础就能自己发明一个语言自娱自乐了。
注:DLR是动态语言运行时。
这么说吧,只要你能把1+1给翻译成下面这样:
Expression.Add( Expression.Constant( 1 ), Expression.Constant( 1 ) );
基本上你就可以用DLR来给你自己弄个语言的运行环境了。
========================================================
评论里面说到Java,我就多说两句。
Java以及JavaScript其实情况很类似,都是语言还在,爹死了。这正好证明了发明个语言指望围绕这个语言来建立生态是多么难的一件事情。
Java和JavaScript首要的还是出现的时机,过了这个时间,新的语言没有立锥之地。
但即使生得逢时,想要确立生态仍然不是一家公司能够完成的事情,Java能活到今天正是因为Sun放手把Java捐给社区,而也正是因为如此,Sun始终无法从Java的应用广泛程度获得回报,最终被甲骨文收购。
所以,Java不属于Sun也不属于Oracle,更不属于Google,也不属于美国,这才是它能活这么久的重要原因。
========================================================
好吧,回头想了想,严格的说,通过发明一个语言来创立一套规则,建立一个生态,从而获得更大的话语权,这个也不是不可能的事情。在软件发展的历史中真实出现过几次。
在GUI推出却没有合适的语言为之开发应用的时候,VB和Delphi都曾经独领风骚,但是注意这里出现的都不是纯粹的语言,而是工具链,VB用的是Basic、Delphi用的是Pascal。可以看出来,这是工具链的比拼,而不是语言的比拼。语言并不是起决定性因素的部分,甚至是可有可无的,对现有语言稍加改造即可,而非必须创造一个新的语言。
后来,在互联网刚刚兴起的时候,Java、C#、Ruby和PHP在这个时代出现,现在也都在互联网开发中占据了一席之地。
从上面这些例子我们可以发现,一个新的语言被创造是因为有新的现有语言无法解决的问题出现了,而一个语言的成功也绝对不仅仅是因为这个语言是否设计的足够好,而是有赖于其所附着的工具链和类库,大家接受的程度,甚至运气的成分也是很大的(没错我就是说JS和PHP)。
随着时代的发展,当出现了现有的语言和工具链无法解决的问题的时候,新的语言和所依托的工具链才有机会发展壮大。而如果问题都能被现有的语言和工具链来解决的话,新的语言基本没有什么机会。