天天看點

什麼語言才是世界上最好語言 ?

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

看到這裡,談談你對開發做過哪些貢獻?