什么语言才是世界上最好语言 ?
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
看到这里,谈谈你对开发做过哪些贡献?
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
当一个黑客去黑另一个黑客的电脑,会发生什么...
是我当黑客以来接到的一项最具挑战性的生意,是去黑另一个黑客的电脑。 工欲善其事,必先利其器,我很明白现今装备的重要性,于是我把自己从头武装到脚,包装上了全黑的紧身夜行衣和戴上墨镜。这样我看起来就很黑很客,很重很要了。 一出门,我就给车撞了…… 司机下车后,打着强光手电筒找了好半天才找到了躺在地上的我,说了一句:原来木乃伊也有黑色的。 赔了钱,我才起来继续前行,我想我赔给他的钱应该够他修车了吧。 路上行人稀疏,夜色迷朦,我觉得在这暗夜中隐隐有股飒飒的凛冽的英气的风在流淌,在舞动,在我刚撞散的大牙缝中飘摇进出。 慢慢地,很快我就到了目标地,任务是窃取那人的上网密码。对于一个娴熟的黑客高手来说,不消片刻我就已能将随身所带的手提电脑打开,接上无线上网卡,打开要用的程序了。接着就是怎样窃取了,方法是我趴在他窗前,密切注视他的举动,等他在键盘上打密码时迅速记下来,然后用手提电脑已打开的记事本写上,再立即通过无线上网传真到家里的传真机上保存下来。 很可惜那小子在我来之前已经输过密码了,害我在半夜三更趴了大约两小时他都没有要再输一次的举动,所以我惟有决定让他死机了。让他死机简直是易如反掌,当然这是只局...
- 下一篇
IntelliJ IDEA 中看到 classes, sources, javadocs 三种jar的区别和各自的作用
在 intelliJ idea 里面看到 ,Project Structure——》 Libraries ——》 Sources 的路径是红色的 看图会比较好。以guava包为例来说明。 可以看到在这看整个maven项目的依赖时,发现如图的情况,这红色是什么情况,是报错吗?需要处理吗?这3个不同jar都是什么东西,各自有啥作用。大概会有这么些疑问吧。️。 假如在依赖库如上的情况下,你点进去,看guava的源码,会有下图的效果。 给你2个选择,一个是选则source,一个是下载source。注意,这个时候,你看到的文件是class文件,是可以直接运行的文件,之所以能看到内部的具体实现,是idea给你自动逆转换啦。感谢idea吧 (记得当年刚刚工作的时候,使用的eclipse,然后debug的时候,假如要进入这些个没有sources的jar的时候,就进不去这个class文件,他还傻乎乎的给个弹窗,让我倒入sources文件,还是idea高级,直接喊你下载。) 这个时候点击download sources,下载源码。 这个时候,你看到的文件,就变成啦Java文件,而且,还带上了很多的注释。 ...
相关文章
文章评论
共有0条评论来说两句吧...