PHP何以成Web之王 Ruby的瓶颈在哪里
帮客之家(www.Bkjia.com)讯 本文并非是一篇Ruby和PHP大比拼的文章。只是,文中所提到的Ruby面对的问题:缺乏库的支持,不容易扩展,容易崩溃等等,都是Web编程语言所必须要改进的。
本文出自killerphp.com的站长Stefan Mischook,并在发布之后被推送到了著名的PHP开发者社区:phpdeveloper.org当中,从而引起了不少争议。姑且不论Stefan撰文的用意如何,但其中提到的Ruby面对的问题:缺乏库的支持,不容易扩展,容易崩溃等等,都是Web编程语言所必须要改进的。
在2006年的时候,我创立了killerphp.com,目的就是为了让Web设计人员更容易地学习PHP。当时我认为PHP是占据着主导地位的语言,它应该成为每位web设计师的核心编程技术之一:
◆html
◆css
◆php
◆javascript
后来Ruby横空出世,不过好景不长,很快就又消声匿迹了。
Ruby和Ruby on Rails到底怎么了?
曾几何时,Ruby是有史以来最好的语言,其它所有语言相比之下都不值一提。时过境迁,现在回过头去看,这简直就是个笑话。
现在Ruby的光景已大不如前,远远不像当初那样引人注目。这辆轨道车(Rails train)实际上已经从轨道上滑落——现在Ruby阵营里已经有了可以替代Rails的web框架Merb。当然严格说来,Merb和Rails只是正在合并,所以说它脱轨有些言重了。
那么到底出现了什么状况,制约了Ruby的发展呢?
限制Ruby扩张的原因和我2006到2007年时上线这个网站的原因是一样的:Ruby的心已经碎了。
◆是的,Ruby有很棒语法规则。
◆是的,写Ruby程序很有意思。
◆是的,它的确是纯粹的面向对象,最大的面向对象!
但是,Ruby也有许多缺憾:许多重要的库和函数在PHP程序员看来理所当然的,却让Ruby程序员羡慕不已,却只有干流口水的份,因为Ruby没有提供这些。如果实在需要的话,可以用C语言编写补丁,但是这太痛苦了。
除此之外,Ruby还有些不可告人的秘密:crash-o-matic。确实是这样的,基于Ruby的Web程序经常崩溃。与Web服务器没法良好结合,这让Ruby总是如芒在背。
证据在此:Ruby曾造成Twitter连续三周出现性能问题
……当然平心而论,我听说这方面已经得到了一些改善。
这和PHP又有什么关系?
正如我几年前在一篇关于Ruby的博文里所说的(BKJIA编者注:那篇文章写在Ruby崛起不久的时候,那时一个普遍的观点是Ruby可能将代替PHP):PHP的恰好就弥补了Ruby的不足。不可否认,PHP的某些方面确实不如Ruby那样漂亮。但是正如人不可貌相,如果一种语言华而不实,那谁还会喜欢呢?
……好吧,也许你可以分别试试这两种语言!但是不管怎样,不要被哪一种语言一叶障目。
我还是认为至少到目前为止,PHP是学习web编程的最好入门语言。原因如下:
◆功能强大
◆容易学习
◆拥有大的市场 = 你有更多的活儿可以做
说了这么多,难道PHP就是完美无瑕,处处占优吗?不是这样的。每一种语言都有其优势和劣势——尤其是在结构层次上,PHP还很欠缺。我的意见从来都是,按照项目的需求选择使用的语言。最开始我是个Java程序员,这么多年来我使用过不下7种编程语言。所以我坚持认为,选择适合项目的语言才是最重要的。
原文:What happened to Ruby? And why PHP is KING of the Web.
作者:Stefan Mischook

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、

静态绑定(static::)在PHP中实现晚期静态绑定(LSB),允许在静态上下文中引用调用类而非定义类。1)解析过程在运行时进行,2)在继承关系中向上查找调用类,3)可能带来性能开销。

PHP的魔法方法有哪些?PHP的魔法方法包括:1.\_\_construct,用于初始化对象;2.\_\_destruct,用于清理资源;3.\_\_call,处理不存在的方法调用;4.\_\_get,实现动态属性访问;5.\_\_set,实现动态属性设置。这些方法在特定情况下自动调用,提升代码的灵活性和效率。

PHP和Python各有优势,选择依据项目需求。1.PHP适合web开发,尤其快速开发和维护网站。2.Python适用于数据科学、机器学习和人工智能,语法简洁,适合初学者。

PHP在电子商务、内容管理系统和API开发中广泛应用。1)电子商务:用于购物车功能和支付处理。2)内容管理系统:用于动态内容生成和用户管理。3)API开发:用于RESTfulAPI开发和API安全性。通过性能优化和最佳实践,PHP应用的效率和可维护性得以提升。

PHP是一种广泛应用于服务器端的脚本语言,特别适合web开发。1.PHP可以嵌入HTML,处理HTTP请求和响应,支持多种数据库。2.PHP用于生成动态网页内容,处理表单数据,访问数据库等,具有强大的社区支持和开源资源。3.PHP是解释型语言,执行过程包括词法分析、语法分析、编译和执行。4.PHP可以与MySQL结合用于用户注册系统等高级应用。5.调试PHP时,可使用error_reporting()和var_dump()等函数。6.优化PHP代码可通过缓存机制、优化数据库查询和使用内置函数。7

PHP和Python各有优势,选择应基于项目需求。1.PHP适合web开发,语法简单,执行效率高。2.Python适用于数据科学和机器学习,语法简洁,库丰富。

在PHP8 中,match表达式是一种新的控制结构,用于根据表达式的值返回不同的结果。1)它类似于switch语句,但返回值而非执行语句块。2)match表达式使用严格比较(===),提升了安全性。3)它避免了switch语句中可能的break遗漏问题,增强了代码的简洁性和可读性。
