开发者社区> qun 634492606> 正文

什么语言才是世界上最好语言 ?

简介: XXX语言是世界上最好语言 前言一个好的编译器/解释器决定一个语言的命运。我们常常看到有人会在网络上谈论一个语言的好坏,从而引起社区口水战,在这些话题中性能占了很大的比例,很少会有人辩论语言的语法合理性,语言的设计缺陷。
+关注继续查看

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

看到这里,谈谈你对开发做过哪些贡献?

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
JavaWeb--快速入门JSON&Ajax
JavaWeb--快速入门JSON&Ajax
4 0
初次使用阿里云服务器体验报告
本人的自我介绍、阿里云服务器初体验报告及未来展望
13 0
Python面试题大全(一):基础知识学习
Python面试题大全(一):基础知识学习
6 0
JavaWeb--快速入门Cookie&Session(二)
JavaWeb--快速入门Cookie&Session(二)
3 0
零基础学算法100天第2天——bellman-ford(边数限制最短路算法)(上)
零基础学算法100天第2天——bellman-ford(边数限制最短路算法)
3 0
JavaWeb--快速入门Filter过滤器
JavaWeb--快速入门Filter过滤器
4 0
强哥说Java--反射(一)
强哥说Java--反射(一)
3 0
阿里Java编程规约【九】 注释规约
1.【强制】类、类属性、类方法的注释必须使用 Javadoc 规范,使用 /** 内容 */ 格式,不得使用 // xxx 方式。 说明:在 IDE 编辑窗口中,Javadoc 方式会提示相关注释,生成 Javadoc 可以正确输出相应注释;在 IDE 中,工程调用方法时,不进入方法即可悬浮提示方法、参数、返回值的意义,提高阅读效率。
3 0
ESC使用体验
早就想自己搭建一套微服务开发环境了和自动部署环境了
24 0
阿里云服务器助力毕业设计!
出于毕设需要,第一次接触学习了阿里云有关使用,由于实验室带宽不够导致自己的程序测试时时候偏高,因此尝试一下阿里云1M带宽性能,利用阿里云配置了NTP时间同步,在阿里云上面装了图形化界面观察效果等。
19 0
42
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载