
Jeff Atwood发文再批PHP设计糟糕,称多年来毫无改进
来源标题:The PHP Singularity
Jeff Atwood在博客中借一把双头锤的照片,再次批评PHP是数十年来主流编程语言中设计最差的。他指出,尽管从2008年到2012年开发者持续发文吐槽,PHP的设计问题依然没有改变,但PHP并非无法使用。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
看看 Ian Baker 创造的这件不可思议的东西。看看它!
你看到的不是 Photoshop 的产物。这是一张真实照片,拍的是一个货真价实的双爪锤。这种东西真的存在。是不是很惊人?或许,还有点令人不安?
那把奇妙的锤子,是对那篇史诗级博客文章《PHP:糟糕设计的碎形》的一次令人愉快的现实呼应。
还记得你看到双爪锤时那种瞬间的本能反应吗?那正是大多数神志清醒的程序员第一次接触 Web 编程语言 PHP 时的反应。
这种情况已经持续多年了。2008 年,我发表了《PHP 很烂,但那不重要》,算是为这一题材添了一块砖。
可如今已是 2012 年,同行们还在写长篇檄文,痛斥 PHP 有多么糟糕!
令人沮丧的并不是 PHP 的设计有多糟糕。难道还有人质疑 PHP 是几十年来祸害我们这个行当的设计最差的主流“语言”吗?真正令人沮丧的是,情况几乎没有改变。就在一年前,传奇黑客 Jamie Zawinski 这样评价 PHP:
PHP 已经烂到无法使用了吗?不。显然没有。PHP 最大的罪过就是它彻头彻尾的平庸。它持续走红就是活生生的证明:质量无关紧要;便宜、流行、无处不在的东西永远赢。PHP 是编程语言界的 Nickelback。而且,是的,出于对现状的无奈,我最近可能把 PHP 之父 Rasmus Lerdorf 称为史上最大的怪物。我跟自己说过一百万次要停止夸大其词。
锤子的比喻很贴切,因为归根结底,这关乎的是合适的工具。正如 Alex Papadimoulis 早有先见之明地指出的:
一位客户让我搭建并安装一套定制搁架系统。我已经到了需要钉钉子的地步,但我不确定该用什么来把钉子敲进去。我该用一只旧鞋还是一个玻璃瓶?
这要看情况。如果你要把一根小钉子(20 磅)钉进石膏板之类的东西里,你会发现用瓶子容易得多,尤其是如果鞋子还很脏。但是,如果你要把一根重钉子钉进木头里,那就用鞋子吧:瓶子会在你手里碎掉。
你搭建东西的方式从根本上就是错的;你需要使用真正的工具。是的,这可能意味着要跑一趟工具箱(甚至五金店),但用正确的方式做事,会在产品的整个生命周期里为你节省大量时间、金钱和烦恼。在你弄懂建造的基本常识之前,不要再为了钱去搭东西了。
我们真正该讨论的,不是 PHP 有多糟糕——尽管它持续糟糕本身就是一记特别有力的控诉——而是我们程序员如何在文化上用一个更好的工具取代一个存在严重缺陷的工具。我们如何鼓励新程序员避免拿起那把双爪锤,转而选择一把,嗯,普通的锤子?
这对我来说不是一个抽象的、学术层面的担忧。我正在启动一个新的开源 Web 项目,目标是让代码尽可能自由、尽可能容易地在全世界运行。尽管 PHP 存在严重问题,我还是不得不考虑它。如果你想产出那种无论如何定义的自由代码,能在世界上几乎每一台服务器上运行,零摩擦、零配置麻烦,那么 PHP 几乎是你唯一的选择。如果这都吓不到你,那就摸摸自己的脉搏,因为你可能已经死了。
因此,我想向同行们提出一个微不足道的建议。下次你又想写一篇“史诗级 PHP 批判”时,请考虑以下几点:
我们还有很长的路要走。我下一个项目的明确目标之一,就是尽我们所能去壮大一个……特定的……开源语言生态,让它真正能在安装和部署的便捷性上与 PHP 竞争。
在我看来,所有这些“PHP 烂透了”的咆哮,目的不只是抱怨,而是帮助教育、并尽可能劝退那些正要开启新代码库的新程序员。毫无疑问,尽管有这么多疯狂之处,人们在 PHP 上还是做出了一些优秀的、甚至具有历史意义的工作。但现在我们需要携手修复那些坏掉的东西。在当下,解决 PHP 问题的最好办法,就是让替代方案变得如此出色,以至于选择更好的那把锤子成为显而易见的事。
这就是我所期盼的 PHP 奇点。我正在拼命尽自己的一份力让它发生。你呢?
室内活动爱好者。Stack Overflow、Discourse 和 staygold.us 的联合创始人。免责声明:我完全不知道自己在说什么。让我们彼此友善。来 https://infosec.exchange/@codinghorror 找我。
❗ 出错了。请重试。
✅ 成功!请查看你的收件箱(以防万一,也看看垃圾邮件文件夹)。
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。