2

最近看了知乎上的一个话题
「在工作中,为什么 Java 程序员常常瞧不起 PHP 程序员?」

个人从业多年,用过的后端语言 ASP、ASP.NET、Java、PHP、Node.js、Python,如果你非要让我说哪种语言好,我会说「凡是宏哥说的都是对的,凡是宏哥提倡的都要坚持。只有真正的理解了宏哥思想才可以洞穿一切,走出空谷。」话不闲谈,咱们先说说我对 Java 的看法。

Java 在我看来好比重型武器,而且武器种类如王牌特工里,那位老特工给新特工展示的武器库一样丰富,就 Github 上的开源项目来说,远不止这些。

那么背后说明了什么?让我们引申出几个问题。

为什么 Java 这么重型?为什么 Java 思想开阔?

其实一开始 Java 就是以大型的服务器得解决方案而存在的,所以面对的都是企业级比较重型的需求(典型的银行项目、房产项目),对比一下淘宝和 ECShop,虽然最底层需求都是商城类整站,但是后者明显需求要单薄很多。那么也可以说 Java 是变相解决了更多的问题,自然可以说 Java 思想就开阔了。

Java 在团队协作中我的直观感觉就是库和标准。Java 有着数不完的现实标准库和标准。而且一个很多人不认为是要害的问题就是 Java 有好的 IDE,在如 Eclipse 上写出程序,错误会及时爆出,运行不了基本编译时就会报告出绝大多数错误。而 PHP 早年的学习基本只是记事本,DW 等工具,而且早年的 PHP 同样也不支持复杂的 OO 特性,从而在工程质量上 Java 就略胜一筹。

此时你要说那是早年了,现在 PHP 很多 OO 特性都支持,PHP 是世界上最好的语言并且没有之一,但是从人的角度上讲,从业时间长的大多数老兵还停留在早年 PHP 的状态,所以团队和新人的水平也大多得不到整体得提升(大牛和天才毕竟是少数)。到目前为止我也没有见过谁非要在 PHP 圈推行什么标准,推行什么框架(Java 圈基本天天都在喊,如果你赶上 JavaEye 崛起的时刻你能更明显得感觉到),大家都是拿全能「脚手架」在用,大家都是找快速实现需求得 CMS 类程序在用。

那么 PHP 就一无是处吗?自然不是,如果你使用过 SSH 开发过,看看 ThinkPHP 的实现机制你会觉得只要都是 WEB 框架,要解决得问题总是有限。早年 ThinkPHP 的控制器为 Action 后缀命名,连作者都直言是借鉴 Struts,模板中的变量属性输出可以用.来表示,PHP中.字符其实是字符串连接符,表示属性的话是->(PHP 很多原语都是类 C 的)。

那我们用 ThinkPHP 就可以快速解决开发中的问题了吗?当然不能。

虽然 ThinkPHP 中提供了很强的 DEBUG 输出,更有 G 方法计算输出运算时间以性能调试,但这依然不够,试想一下我们每天要调用多少外部接口(短信发送,微信集成,地图类等 API 输出),用户数量剧增时,又要接入多个 MySQL来负载(ThinkPHP 有软负载支持),如何一键输出所有的错误和性能问题呢?你没听错,就是一键,而且不管是测试还是生产环境,不管是出游还是办公室内,你随时可以拿起手机诊断这一切(我是在百度中真正搜索到这种平台才敢这么说)。

如果你总是关注开源中国等 IT 社区你一定知道有很多这样的平台了,但很多产品,安装上以后遇到了的第一个问题就是,不能免费,连最基本的测试都不能免费,只有最基本的功能。那有没有免费的可以用呢?不用去申请了,因为你可以选择使用OneAPM提供的SaaS 产品,目前,使用 Java 做业务处理后端语言的项目,已经可以和 PHP等展示端语言一起进行性能诊断了。

我们也可以对比分析国外的产品,首先在安装过程 OneAPM 已经非常自动化了,而且接入过程中,技术支持还会对所在的环境进行了一键远端排查,很快就可以诊断了环境中的问题。

下面为大家介绍如何使用 OneAPM 在线诊断代码中的各种问题

  • 1.性能全揽
    PHPer  为什么会被  Javaer  鄙视?

  • 2.慢日志
    PHPer  为什么会被  Javaer  鄙视?

  • 3.代码级定位
    PHPer  为什么会被  Javaer  鄙视?

  • 4.数据库事务多天对比
    PHPer  为什么会被  Javaer  鄙视?

  • 5.还送免费的报警(可以支持微信哦)
    PHPer  为什么会被  Javaer  鄙视?

  • 6.迁移到阿里云同样支持

更多内容见官方的 DEMO:
https://user.oneapm.com/account/demo.do

好吧,这一切都是免费的,如果你的团队已经在产品稳定期,也可以使用收费版本。

既然解决了快速性能分析,是不是就可以高枕无忧了呢?对了,问题刚刚开始,解铃还得系铃人,让我们看看如何面对自己挖的坑,当然我要先介绍几款好的武器。

为什么使用 Eclipse?对了,说好了不想被鄙视,你就必须是全栈,你还要编写 Java 呢不是吗?

打开浏览器把那只虫子点绿吧,开始捉虫之旅。

此时你还在乎被其他语言鄙视吗?如果是的话,你一定没有仔细看本文的开篇。另外很期待下一次可以与大家一同参加极客社区,分享更多极客编程体验!!!

本文系 | 6f64d567bff6feb737ffe653fc2c39b617 | 工程师编译整理。想阅读更多技术文章,请访问 OneAPM 官方博客


OneAPM蓝海讯通
11.4k 声望510 粉丝

Software makes the world run. OneAPM makes the software run.