什么语言才是世界上最好语言 ?
XXX语言是世界上最好语言
前言
一个好的编译器/解释器决定一个语言的命运。
我们常常看到有人会在网络上谈论一个语言的好坏,从而引起社区口水战,在这些话题中性能占了很大的比例,很少会有人辩论语言的语法合理性,语言的设计缺陷。
语言的性能取决于一个好的编译器 / 解释器和一个并发的包 。
编辑器/解释器
好的编辑器和解释器在于一个社区的强大程度,基金会影响力和企业投资
比如说c/c++有组织制定标准,各种企业参与其中
JAVA语言的资金投入是很大的,空前绝后, 从SUN时代到oracle时代,几乎所以互联网企业都参与其中。
MS c/c++ / C# 仅凭微软一家也能占据一席之地。
像没有实力的Boland Delpha ,...只能退出市场。
像D语言这种优秀语言,一直没有大型企业支持, 也是非常无奈的。
2010年之后我们看到几乎大型企业项目出自基金会,最有名的当属Apache基金会,民间社区项目时代终结。
松散的社区想设计开发性能优异编辑器和解释器门槛太高。
python基金会每次要筹募基金才能启动项目,pypy解释器开发了无法release。
Perl 语言能挺到今天实则不易 Perl6 解释器的设计非常坎坷。
动态语言只有 PHP 发展的比较好,原因是他背后至少有一个公司,有全职员工。另外雅虎/Facebook等企业的贡献也是巨大。
node.js 只能依赖谷歌的V8引擎。
学习从来不是一个人的事情,要有个相互监督的伙伴,工作需要学习python或者有兴趣学习python的伙伴可以私信回复小编“学习”或者评论,留言,点赞 领取全套免费python学习资料、视频()装包
你要搞明白虚拟机到底是什么
虚拟机出现降低了语言的开发难度。如果你留意一下会发现最近五年诞生很多新语言。
80%的Java开发者搞不清什么虚拟机。这是因为JVM这个名字(Java 虚拟机),JVM 的设计之初是没有考虑过让VM运行其他语言的,有建议Oracle将“J”去掉变成“VM” 这样更好理解。
VM就是虚拟机,VM通常设计与平台无关,与语言无关,除了JVM还有很多虚拟机例如LLVM, Parrot等等。
运行在JVM虚拟机上的语言有 Scala, Groovy, Python, PHP, Perl ...;Apple 公司主要使用 LLVM 有 clang, swift ;Parrot 的 Perl6 。
有了虚拟机技术,就很容易开发一个全新的语言,首先你要设计好语法,关键字,然后定制VM模板,将你的语法翻译成VM的字节码,你的程序就可以运行。
这项工作至少需要用三年吧,你就能开发出一个新语言。不要高兴太早这时你的语言啥也干不了,因为只有 if,else,print,class,while ... 写个helloworld 是没有问题的。
一个好的语言还有一个好的开发包/库,没有开发包支持,语言啥也干不了,想访问mysql对不起不行,你还需要做很多工作例如Socket, 多线程,文件系统......。
开发库/包
如上面所说,你开发了一门全新的语言,但是没有一个好的开发包,那么这个语言十分尴尬。
D语言就是这样一个语言,他的设计是为了替代C++。但是没有十分完善的开发包,只能靠社区提供。
我曾经迷恋过一段D语言,想用它做点东西,MySQL 访问不了,社区的库太旧并且没有sable版本。
不是每个社区都有实力开发核心库/包的,开发核心库需要成百上千的人参与,至少短期开发不出来,所以很多语言都要以来其他库。 例如 Scala 依赖 JDK. PHP 依赖glibc以及很多第三方C语言*-devel.rpm包。
GLIBC 是个奇迹
JDK 是拿钱砸出来的还有微软的 MFC
看到这里,谈谈你对开发做过哪些贡献?