最近看了知乎上的一個話題
「在工作中,為什么 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.性能全攬

- 2.慢日志

- 3.代碼級定位

- 4.數據庫事務多天對比

- 5.還送免費的報警(可以支持微信哦)

- 6.遷移到阿里雲同樣支持
更多內容見官方的 DEMO:
https://user.oneapm.com/account/demo.do
好吧,這一切都是免費的,如果你的團隊已經在產品穩定期,也可以使用收費版本。
既然解決了快速性能分析,是不是就可以高枕無憂了呢?對了,問題剛剛開始,解鈴還得系鈴人,讓我們看看如何面對自己挖的坑,當然我要先介紹幾款好的武器。
為什么使用 Eclipse?對了,說好了不想被鄙視,你就必須是全棧,你還要編寫 Java 呢不是嗎?
打開瀏覽器把那只蟲子點綠吧,開始捉蟲之旅。

此時你還在乎被其他語言鄙視嗎?如果是的話,你一定沒有仔細看本文的開篇。另外很期待下一次可以與大家一同參加極客社區,分享更多極客編程體驗!!!
OneAPM 是應用性能管理領域的新興領軍企業,能幫助企業用戶和開發者輕松實現:緩慢的程序代碼和 SQL 語句的實時抓取。想閱讀更多技術文章,請訪問 OneAPM 官方博客。
