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