我不确定从什么时候开始,越来越多的程序员从 PHP 转向 Go、Java 和 Python。当然,后三者之间也存在迁移,但很少看到有人转向 PHP。这个现象引起了我的思考,我意识到 PHP 确实是完美的替罪羊。也许是因为它的标志是大象,所以它天生就更能负重。
当系统不断在线出现问题时,就是 PHP 的错。需要验尸的时候,要有人来承担责任,总不能是我们自己无能吧?所以,我们把责任归咎于 PHP。毕竟,它不会反驳。 PHP 是一种限制宽松的动态语言,常常会留下未被注意到的陷阱。我们绝对需要重构。
如果重构的人是最初编写代码的人,那么无论使用哪种语言,结果都可能是相同的。他们只是用新语言重写旧代码,而不质疑他们最初的设计是否有缺陷。
有些人甚至以 PHP 的思维方式编写 Go 或 Java 代码:在 main 方法中手动初始化一堆东西,在 Go 中定义大量的 map[string]interface{},或者在 Java 中使用多线程访问类属性而无需锁定。
当服务器成本居高不下时,这是 PHP 性能不佳和单线程执行的错。老实说,拥有大量流量的公司并不多。大多数人甚至一天都没有获得那么多点击。如果性能是一个问题,很可能是由于一堆不断运行的缓慢查询造成的。切换到 C++ 或 RUST 并不能神奇地解决这个问题。
请记住,PHP 是 Facebook 用于构建动态网站内容和服务器端功能的最初语言。我怀疑很多公司的流量都比 Facebook 还多。
新领导打扫卫生也很常见。很多人在网上问为什么公司的系统使用三种不同的编程语言。通常的答案都是围绕每种语言适合不同的任务,但真正的原因往往是公司多次更换 CTO,并且每个人都引入了自己喜欢的语言。
当新的技术总监到来时,他们经常会试图清理旧团队。在此期间,PHP 因各种问题而受到指责,据称阻碍了未来的业务发展和 IPO 计划。无论开发语言如何,都会使用这种策略来证明消除异议的合理性。
当 PHP 受到指责并建议转向另一种语言时,一些程序员甚至可能会欢呼。尝试将 Java 切换到 Go,反之亦然;这是同一个故事。去年,我们的新 CTO 让我们从 Go 转向 Java,一些同事在匿名论坛上发泄,声称这是一种倒退。
实际上,如果新领导看到 Java,他们可能会让你转向 Go。彻底改革技术堆栈只是清理内部的一种方法,保留合规的团队成员,同时摆脱那些不符合新方向的人。
即使没有新的技术领导者,在这个KPI驱动、痴迷OKR的时代,每个人都必须找到工作来证明自己的存在。你还能如何表明你的团队正在努力工作,每天都熬夜呢?
PHP 成为完美的垫脚石。经理们可以向上级推销遗留的 PHP 系统需要使用最新的高级语言进行改造,并将任务分配给可靠的人。这样,即使不能保证晋升,高绩效评级也几乎是肯定的。
总之,这些是我对为什么 PHP 经常成为替罪羊的想法和个人看法。这种分析可能不适用于真正的技术驱动型公司。人们喜欢比较编程语言,但最好的一种是适合您需求的语言。比较语言就像对体育明星进行排名一样;它大多是主观的,但它会产生兴趣和流量,从而支持很多人。
最后推荐一个我一直在使用的PHP开发环境——ServBay。它是一款一体化开发环境管理工具,附带多种编程语言和数据库组件,包括 PHP、Node.js、MariaDB (MySQL) 和 PostgreSQL。 ServBay最重要的特点是支持在本地开发中使用不存在的域名(Domain)和后缀(TLD)。它甚至为这些域创建免费的 SSL 证书,允许开发人员在加密的 HTTPS 环境中工作(例如 https://api.servbay)。这不仅增强了开发过程的安全性,还大大节省了域名和 SSL 证书的投资。
以上是PHP,互联网上最喜欢的替罪羊的详细内容。更多信息请关注PHP中文网其他相关文章!