看看九種編程語言的發(fā)明者是怎么說的
從 Node.js 到C++,看他們的發(fā)明者是如何評價他們的語言的未來。
Ryan Dahl:Node.js
問:它的主要優(yōu)勢是什么?
Dahl:Node 與其他的語言有一點明顯的區(qū)別,就是處理I/O。所以它永遠不允許用戶鎖上程序。它要求用戶不斷的處理新事物,因此它很適用于網(wǎng)絡編程。在你的服務器上要與很多人打交道,你必須處理鏈接。Node 鼓勵人們用非阻塞的模式。由于這個特性,你會發(fā)現(xiàn) Node 在開發(fā)服務器上比傳統(tǒng)編程語言更加方便。
Guido van Rossum:Python
問: 為什么有人批評 Python 太慢?
Van Rossum:有些時候,你要完成的系統(tǒng)某一小部分,而這一部分卻花費你幾乎所有的時間。如果你寫的只是一個簡單的排序,用 Python 來完成的話,那這會成為系統(tǒng)的瓶頸。這里最好要用高效的語言來取代之,比如C和C++。
Yukihiro Matsumoto :Ruby
問:你的語言不斷發(fā)展的目標是什么?
Matsumoto:我的目標就是讓程序員更開心。目前 Web 程序員已經(jīng)很開心了,但不夠,我希望可以幫助更多的程序員。如嵌入式的,還有高性能程序的程序員。我目前正在開發(fā) Ruby 語言的子集,主要應用于移動設備,打算明年年初將它公開。
Dmitry Jemerov:Kotlin
問:我們?yōu)槭裁匆?Kotlin,我們已經(jīng)有 Groovy 或者 JRuby
Jemerov:Grooby 和 JRuby 是動態(tài)類型語言,如果你在開發(fā)中小型 web 程序,這 2 者確實是很不錯的選擇。但如果你要開發(fā)更復雜,更高性,高頻率交互的程序的時候,Kotlin 這個靜態(tài)類型語言會更適合你。
Martin Odersky:Scala
問:你當初發(fā)明 Scala 的目的是什么?
Odersky:我很好奇,是否可以將函數(shù)式和面向對象編程結合成一個包,給開發(fā)人員提供一個強大的語言,讓人感覺他有很強的互補性。函數(shù)式編程感覺非常清爽,而且實用,它可以輕易構造簡單的元素。而面向對象對于大型系統(tǒng)來說有很好的故事背景??傊矣X得把這 2 者相結合,是 Scala 的成功原因之一。
Bjarne Stroustrup:C++
問:什么時候一個程序員應該選擇本地化語言,什么時候選擇基于虛擬機的語言?
Stroustrup:C++在基礎架構方面有無與倫比的優(yōu)勢。換句話說,在性能,可靠性,資源,復雜性方面都有嚴格的要求。例如,你不會用 javascript 寫 javascript 引擎,你也不會用 C++ 去寫簡單的 web 應用。你會用 C++ 構造谷歌,亞馬遜,F(xiàn)acebook 的基礎,但不是頂層。C++在服務器市場和移動設備上有很強的優(yōu)勢。
Lars Bak:Dart
問: 據(jù)我所知,Dart 實際上是編譯為 JavaScript,那為什么不直接用 JavaScript 呢?
Bak:因為我們有….Dart 虛擬機,可以更快的運行和啟動。JavaScript 給我的印象是大的應用中需要很長的時間來啟動。如果你擁有了 Dart 虛擬機,那你可以將程序啟動提速 10 倍。如今我們看到 Web 應用變得越來越大,越來越廣泛,啟動的速度是很重要的。
Stefan Karpinski:Julia
問:你發(fā)明 Julia 的目的是什么?
Karpinski:在 09 的時候,當我們談論到技術開發(fā)過程中遇到的挫折的時候,主要提到了不同的事情需要不同的語言來做。發(fā)明 Julia 的想法就是為了高效。它是一種動態(tài)語言,非常簡單的編程模型。但它有極高的效率。對于 Matlab,R和 NumPy,有時候你得轉換為C語言才能獲得高效的性能。但如果你使用 Julia,你完全不必轉換。
Rich Hickey :Clojure
問:你發(fā)明 Clojure 的目的是什么?
Hickey:我的目的是為 JVM 發(fā)明一種動態(tài)的,函數(shù)式編程語言。我以前都用 C# 和 Java 來開發(fā)大型系統(tǒng),但在那些語言當中函數(shù)式編程很不適用。我想有一種地道的函數(shù)式編程的語言,那就是 Clojure。他們可以快速的編寫小型程序,這對那些創(chuàng)業(yè)型企業(yè)來說是再合適不過了。
原文鏈接:http://news.cnblogs.com/n/145575/
【編輯推薦】