最近看了知乎上的一個(gè)話題
「在工作中,為什么 Java 程序員常常瞧不起 PHP 程序員钞馁?」
個(gè)人從業(yè)多年虑省,用過的后端語(yǔ)言 ASP、ASP.NET僧凰、Java探颈、PHP、Node.js训措、Python伪节,如果你非要讓我說哪種語(yǔ)言好,我會(huì)說「凡是宏哥說的都是對(duì)的隙弛,凡是宏哥提倡的都要堅(jiān)持架馋。只有真正的理解了宏哥思想才可以洞穿一切,走出空谷全闷〔婕牛」話不閑談,咱們先說說我對(duì) Java 的看法总珠。
Java 在我看來(lái)好比重型武器屏鳍,而且武器種類如王牌特工里勘纯,那位老特工給新特工展示的武器庫(kù)一樣豐富,就 Github 上的開源項(xiàng)目來(lái)說钓瞭,遠(yuǎn)不止這些驳遵。
那么背后說明了什么?讓我們引申出幾個(gè)問題山涡。
為什么 Java 這么重型竖螃?為什么 Java 思想開闊蚯涮?
其實(shí)一開始 Java 就是以大型的服務(wù)器得解決方案而存在的葵硕,所以面對(duì)的都是企業(yè)級(jí)比較重型的需求(典型的銀行項(xiàng)目梳庆、房產(chǎn)項(xiàng)目),對(duì)比一下淘寶和 ECShop鳞溉,雖然最底層需求都是商城類整站瘾带,但是后者明顯需求要單薄很多。那么也可以說 Java 是變相解決了更多的問題熟菲,自然可以說 Java 思想就開闊了看政。
Java 在團(tuán)隊(duì)協(xié)作中我的直觀感覺就是庫(kù)和標(biāo)準(zhǔn)。Java 有著數(shù)不完的現(xiàn)實(shí)標(biāo)準(zhǔn)庫(kù)和標(biāo)準(zhǔn)抄罕。而且一個(gè)很多人不認(rèn)為是要害的問題就是 Java 有好的 IDE允蚣,在如 Eclipse 上寫出程序,錯(cuò)誤會(huì)及時(shí)爆出贞绵,運(yùn)行不了基本編譯時(shí)就會(huì)報(bào)告出絕大多數(shù)錯(cuò)誤厉萝。而 PHP 早年的學(xué)習(xí)基本只是記事本,DW 等工具榨崩,而且早年的 PHP 同樣也不支持復(fù)雜的 OO 特性,從而在工程質(zhì)量上 Java 就略勝一籌章母。
此時(shí)你要說那是早年了母蛛,現(xiàn)在 PHP 很多 OO 特性都支持,PHP 是世界上最好的語(yǔ)言并且沒有之一乳怎,但是從人的角度上講彩郊,從業(yè)時(shí)間長(zhǎng)的大多數(shù)老兵還停留在早年 PHP 的狀態(tài),所以團(tuán)隊(duì)和新人的水平也大多得不到整體得提升(大牛和天才畢竟是少數(shù))蚪缀。到目前為止我也沒有見過誰(shuí)非要在 PHP 圈推行什么標(biāo)準(zhǔn)秫逝,推行什么框架(Java 圈基本天天都在喊,如果你趕上 JavaEye 崛起的時(shí)刻你能更明顯得感覺到)询枚,大家都是拿全能「腳手架」在用违帆,大家都是找快速實(shí)現(xiàn)需求得 CMS 類程序在用。
那么 PHP 就一無(wú)是處嗎金蜀?自然不是刷后,如果你使用過 SSH 開發(fā)過的畴,看看 ThinkPHP 的實(shí)現(xiàn)機(jī)制你會(huì)覺得只要都是 WEB 框架,要解決得問題總是有限尝胆。早年 ThinkPHP 的控制器為 Action 后綴命名丧裁,連作者都直言是借鑒 Struts,模板中的變量屬性輸出可以用.
來(lái)表示含衔,PHP中.
字符其實(shí)是字符串連接符煎娇,表示屬性的話是->
(PHP 很多原語(yǔ)都是類 C 的)。
那我們用 ThinkPHP 就可以快速解決開發(fā)中的問題了嗎贪染?當(dāng)然不能缓呛。
雖然 ThinkPHP 中提供了很強(qiáng)的 DEBUG 輸出,更有 G 方法計(jì)算輸出運(yùn)算時(shí)間以性能調(diào)試抑进,但這依然不夠强经,試想一下我們每天要調(diào)用多少外部接口(短信發(fā)送,微信集成寺渗,地圖類等 API 輸出)匿情,用戶數(shù)量劇增時(shí),又要接入多個(gè) MySQL來(lái)負(fù)載(ThinkPHP 有軟負(fù)載支持)信殊,如何一鍵輸出所有的錯(cuò)誤和性能問題呢炬称?你沒聽錯(cuò),就是一鍵涡拘,而且不管是測(cè)試還是生產(chǎn)環(huán)境玲躯,不管是出游還是辦公室內(nèi),你隨時(shí)可以拿起手機(jī)診斷這一切(我是在百度中真正搜索到這種平臺(tái)才敢這么說)鳄乏。
如果你總是關(guān)注開源中國(guó)等 IT 社區(qū)你一定知道有很多這樣的平臺(tái)了跷车,但很多產(chǎn)品,安裝上以后遇到了的第一個(gè)問題就是橱野,不能免費(fèi)朽缴,連最基本的測(cè)試都不能免費(fèi),只有最基本的功能水援。那有沒有免費(fèi)的可以用呢密强?不用去申請(qǐng)了,因?yàn)槟憧梢赃x擇使用OneAPM提供的SaaS 產(chǎn)品蜗元,目前或渤,使用 Java 做業(yè)務(wù)處理后端語(yǔ)言的項(xiàng)目,已經(jīng)可以和 PHP等展示端語(yǔ)言一起進(jìn)行性能診斷了奕扣。
我們也可以對(duì)比分析國(guó)外的產(chǎn)品薪鹦,首先在安裝過程 OneAPM 已經(jīng)非常自動(dòng)化了,而且接入過程中成畦,技術(shù)支持還會(huì)對(duì)所在的環(huán)境進(jìn)行了一鍵遠(yuǎn)端排查距芬,很快就可以診斷了環(huán)境中的問題涝开。
下面為大家介紹如何使用 OneAPM 在線診斷代碼中的各種問題
-
1.性能全攬
PHPer 為什么會(huì)被 Javaer 鄙視框仔? -
2.慢日志
PHPer 為什么會(huì)被 Javaer 鄙視? -
3.代碼級(jí)定位
PHPer 為什么會(huì)被 Javaer 鄙視银舱? -
4.數(shù)據(jù)庫(kù)事務(wù)多天對(duì)比
PHPer 為什么會(huì)被 Javaer 鄙視跛梗? -
5.還送免費(fèi)的報(bào)警(可以支持微信哦)
PHPer 為什么會(huì)被 Javaer 鄙視? - 6.遷移到阿里云同樣支持
更多內(nèi)容見官方的 DEMO:
https://user.oneapm.com/account/demo.do
好吧核偿,這一切都是免費(fèi)的诚欠,如果你的團(tuán)隊(duì)已經(jīng)在產(chǎn)品穩(wěn)定期,也可以使用收費(fèi)版本漾岳。
既然解決了快速性能分析轰绵,是不是就可以高枕無(wú)憂了呢?對(duì)了尼荆,問題剛剛開始左腔,解鈴還得系鈴人,讓我們看看如何面對(duì)自己挖的坑捅儒,當(dāng)然我要先介紹幾款好的武器液样。
為什么使用 Eclipse?對(duì)了巧还,說好了不想被鄙視鞭莽,你就必須是全棧,你還要編寫 Java 呢不是嗎麸祷?
打開瀏覽器把那只蟲子點(diǎn)綠吧撮抓,開始捉蟲之旅。
![](http://news.oneapm.com/content/images/2015/09/c.png)
此時(shí)你還在乎被其他語(yǔ)言鄙視嗎摇锋?如果是的話,你一定沒有仔細(xì)看本文的開篇站超。另外很期待下一次可以與大家一同參加極客社區(qū)荸恕,分享更多極客編程體驗(yàn)!K老唷融求!
OneAPM 是應(yīng)用性能管理領(lǐng)域的新興領(lǐng)軍企業(yè),能幫助企業(yè)用戶和開發(fā)者輕松實(shí)現(xiàn):緩慢的程序代碼和 SQL 語(yǔ)句的實(shí)時(shí)抓取算撮。想閱讀更多技術(shù)文章生宛,請(qǐng)?jiān)L問 OneAPM 官方博客县昂。