9种编程语言,看看其发明者是怎么说的

2019-10-02 06:55发布

从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++构造谷歌,亚马逊,Facebook的基础,但不是顶层。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。他们可以快速的编写小型程序,这对那些创业型企业来说是再合适不过了。

文章来源: https://www.toutiao.com/group/6742741597403742731/