世界上最好的编程语言(没有绝对)

转载地址:http://blog.csdn.net/i10630226/article/details/41460383

谈到这个话题,一定会有两种人跳出来。 
一种人说,PHP 是世界上最好的编程语言;另一种人说,编程语言都大同小异,掌握了思想,什么都简单了。

首先我认为所有切实存在,功能重叠的事物,都是可以比较优劣的,有时不说出真相,只是真相太残酷。『优秀』并非是主观的,而是客观存在的,世界上存在着被广泛认同的『优秀』。否则,作家,设计师,设计编程语言的科学家,应该以什么为目标来工作呢?

那么什么又是编程的思想呢?是循环,回调,面向对象这些么?但似乎并非每个编程语言都有这些元素。我在知乎『优秀的程序员应该掌握多少门编程语言』中列举了几种我了解的,各自具有代表性的编程语言:

    • C, 使用原始的内存管理的系统编程
    • Java, 工业级的面向对象的,静态类型的虚拟机语言
    • Python, 脚本语言,动态类型的虚拟机语言
    • Javascript, 基于事件回调的函数式编程
    • HTML/CSS, 声明式的语言
    • Golang, 并发编程

可以看到,它们风格迥异,使用的领域似乎完全没有重叠。

非要找共性的话,大概是它们都具有『抽象』的能力,描述『算法』的能力,这也是有些人口中的『思想』,但我不认同。 
抽象是为了找到解决问题的方法,而编程语言是为了将解决问题的过程(算法)表达出来。 
知道如何解决问题,不代表就能够用编程语言表达出来;掌握编程语言,也不代表知道如何解决问题。

我们学习一门编程语言本身的时间并不多,更多的时间在学习它的函数库,以及特定编程环境下的限制。 
例如学习 C 语言,我们需要知道计算机如何管理内存,如何实现函数调用,还要学习如何通过标准库进行输入输出,而 C 语言本身的语法,完全可以用一个小时描述清楚。

所以,我们抛开这一切,去寻找世界上最好的编程语言呢。但结果是不存在,因为现在流行的编程语言设计者目光都太短浅。 
没错,优秀的不一定是用的人最多的,不一定应用得最广泛,所以编程语言的设计者需要折中,拿出不那么优秀的设计作为最终方案。

比如 php 之所以流行,是因为支持 PHP 的虚拟主机最便宜。 
比如 C 之所以流行,只是因为有太多项目一开始是用 C 写的。 
比如 Python 之所以流行,只是因为库足够多。 
比如 JavaScript 之所以流行,因为在浏览器里这是唯一选择。

他们都不是因为语言本身被设计得有多么优秀而流行的。

我认为世界上最好的编程语言需要有这样的特征:

    • 核心足够小
    • 可以扩展语法
    • 围绕一种数据结构展开
    • 优秀的抽象能力
    • 可以被编译成本地代码

世界上最好的编程语言应当是全能的,否则如何和其他编程语言做比较呢?要做到这一点,就要保证这个语言的核心部分是最小的,不偏向于任何一个领域,也减少学习成本。

这方面的正面例子有 Lisp, Lisp 中的一切都是列表,核心部分仅包括不到十个基本运算符。从这个角度来看,你根本不知道 Lisp 是被设计用于什么领域的——这是世界上最好的编程语言所必须的要素。

但是 Lisp 没有火起来,因为有个笑话说的是一个 Lisp 程序末尾要有整整一页的括号。

所以世界上最好的编程语言需要能够灵活地扩展语法,这个概念通常被称为元编程,例如 Ruby 就号称支持元编程,虽然我没有体验过。 
除了扩展语法之外,最好还要能够改变程序在编译时的行为,这会加强元编程的能力,也会对提升性能有一定帮助。 
比如 PHP 和 python 都支持用 C 编写扩展,如果这种语言支持用自己本身来写扩展,并且能够干预编译器的行为,那么这种改造会让它适合几乎所有领域的编程。虽然干预编译器的行为是很危险的行为,只有少数人会编写这种扩展,但是这总要比设计一门新的领域特定的语言要容易。

可以扩展语法,这是保证世界上最好的编程语言能够快速适应各种特定领域编程的重要条件。

世界上最好的编程语言应该内置一种数据结构,能够方便地在程序内,甚至包括程序外进行数据交换,让整个语言围绕着这种核心的数据结构展开,具有一种『一致性』的美感。 
这方面正面的例子是 Lisp 和 javascript, 但 Javascript 做得还不够好,类型系统中有很多陷阱。

世界上最好的编程语言还应该有优秀的抽象能力,比如 C 的抽象能力就不够,组织大型项目会非常麻烦。Lisp 的抽象手段又太单一,Java 和 C++ 的特征又过于复杂。

『可以被编译成本地代码』这才是最具有挑战性的一个特征,前面我提了很多变态的需求,它们都需要在可以被编译成本地代码的条件下实现。可以被编译成本地代码,表示这种语言不需要虚拟机,可以自行提供各种功能,性能上也有更多的优化空间。

在发表这篇日志之前,又看了一遍王垠写的『如何掌握程序语言』,顿时觉得自己的日志似乎没必要发了,但是既然写了,还是发出来好了。

如何掌握程序语言:https://news.cnblogs.com/n/573342/

优秀的程序员应该掌握几种语言?https://www.zhihu.com/question/22339358#answer-6300033

好的程序员应该掌握几门语言?http://blog.csdn.net/candy1232009/article/details/8049611

  • 6
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: PHP 不是世界上最好的语言。这是一个主观的问题,取决于您的目标和偏好。PHP 是一种流行的编程语言,广泛用于服务器端开发和网站开发。它有很多优点,例如简单易学、功能强大、可以运行在不同的操作系统平台上,但是也有一些缺点。例如,PHP 没有静态类型检查,并且对于某些类型的应用程序,它的性能可能不够优秀。因此,选择合适的编程语言取决于您的需求和应用场景。 ### 回答2: PHP是一种非常流行和广泛应用的开源编程语言。它拥有简单易学、语法灵活、开发效率高、有庞大的开发者社区等优势,这也是为什么它被广泛用于Web开发的原因。然而,是否它是世界上最好的编程语言这个问题,因人而异。 首先,PHP在Web开发方面具有很强的优势。它支持各种数据库,可以轻松地与MySQL、Oracle等数据库进行交互。它还提供了丰富的函数库和扩展,可用于开发各种功能齐全的网站和应用程序。此外,它还具有很好地跨平台性,可以在不同的操作系统上运行。 其次,PHP语法相对简单,对于初学者来说易于学习。它使用了类似于C语言的语法,具有很强的可读性和可维护性。开发者可以快速入门,并且能够快速开发出具有良好性能的网站和应用程序。 此外,PHP拥有庞大的开发者社区,这意味着可以轻松地获取各种开发资源,如教程、代码示例和开源项目等。这使得开发人员能够更快地解决问题和改进他们的代码。PHP也提供了很多优秀的开发框架,如Laravel和Symfony等,为开发人员提供了更高效和可扩展的方式来构建应用程序。 然而,每种编程语言都有其优点和缺点。虽然PHP在Web开发方面拥有广泛的应用,但在其他领域如移动应用开发和科学计算方面,其他语言可能更具优势。作为一个编程语言的"最好"取决于应用场景和需求。因此,无法说PHP是世界上最好的编程语言,但它确实在Web开发领域有着卓越的表现和广泛的应用。 ### 回答3: PHP是一种非常流行的编程语言,被广泛应用于Web开发。它有许多优点,但是否是世界上最好的语言这个问题没有一个绝对的答案,因为每种语言都有其自身的特点和应用场景。 首先,PHP是一种开源的语言,它拥有庞大的开源社区和丰富的资源库,使开发者能够快速获取并分享代码,提高开发效率。 其次,PHP易于学习和使用。PHP有着简单的语法和逻辑,对新手来说相对友好,上手成本较低,这也是它流行的原因之一。 再者,PHP具有广泛的应用领域。因为它的主要应用是Web开发,所以对于构建动态网站和Web应用非常有用。同时,PHP也可以和许多数据库进行交互,如MySQL等,这使得PHP在数据库操作方面也非常强大。 然而,PHP也存在一些缺点。首先,PHP不如一些其他语言在性能上高效,可能对于处理大规模并发请求的系统来说,其他语言更适合。此外,PHP社区中也存在一些低质量的代码和不规范的实践,开发者需要特别留意。 综上所述,虽然PHP具有许多优点,并且在Web开发中非常流行,但是否是世界上最好的语言还需要根据具体的应用场景和开发需求进行评估。不同的语言适用于不同的项目和需求,选择最适合的语言才是最重要的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值