如果你真的想打一架,这是你可以问一群软件工程师的三个问题之一!(另外两个是:“哪个操作系统是最好的?”和“哪个文本编辑器是最好的?”)
因此,最不可能导致公开战争的外交答案是:
每种编程语言都是为了满足某种需求而创造的。如果存在同样可以满足这种需求的语言,那么头脑正常的人就不会费尽心思去创造一门全新的语言。
这意味着(一般来说)对于某些特定的应用来说,每一种尚未完全过时的语言都是“最佳”的。
所以,举个例子:
C语言显然是编写操作系统内核的“最佳”语言——这就是它被设计的目的。
但是C语言没有很好的面向对象的东西,而且有点过于简单。因此,对于编写(比如说)视频游戏来说,这将是一个糟糕的选择:c++有面向对象的东西,而且更复杂——而且显然是编写视频游戏的“最佳”——几乎所有的视频游戏都是用c++编写的。
但是对于那些只想快速编写一个脚本来进行某种批量文件处理的人来说,C或c++都是一个糟糕的选择——所以也许Python是最好的选择。
但是Python、C和c++都不是编写财务软件的好选择,因为它们没有所需的保护和封装程度——所以Java可能是最好的选择。
但是FORTRAN有一些非常仔细地编写和测试的科学函数库——所以对于某些科学目的来说,它可能是比Java、Python、C和c++更好的选择。
但是要在网页浏览器中使用,你需要“沙盒”——这正是JavaScript最擅长的——所以用它来创建网页界面。
但…
...我们可以继续…和…等等。
每一种语言都有其存在的理由。所以没有单一的“最佳”语言。他们总是在某些方面做得最好,在另一些方面做得不太好。
然而,肯定有一些“最糟糕”的语言。有些从一开始就设计得很糟糕,有些则真的被取代了。
目前,最糟糕的语言是一些故意愚蠢的语言,如BrainF**k和Befunge——但在严肃的语言中——毫无疑问,PHP是仍在普遍使用的最糟糕的语言——COBOL紧随其后。
所以——虽然我可以告诉你,我认为c++是最好的语言——而且我几乎什么都用它。这只是因为我所编写的软件的类型。
我知道对其他人来说,JavaScript、Python、Java、Ruby、c#、ObjectiveC、FORTRAN或Lisp等等……比他们做的事更好。
除了PHP和COBOL——它们都很糟糕——而且你应该继续使用它们的唯一原因是支持无法经济地重写的旧/大型项目。
哦——Linux是迄今为止最好的操作系统——emacs无疑是最好的文本编辑器!
现实一些,基本上我还是比较认同帮助你实现目标的编程语言是最好的。如果找到工作是你的目标,一种被你的老板认可的编程语言就是最好的。