首頁 後端開發 php教程 PHPer 為什麼會被 Javaer 鄙視?

PHPer 為什麼會被 Javaer 鄙視?

Jul 29, 2016 am 09:15 AM
eclipse java php thinkphp

最近看了一個知乎上的一個話題
「在工作中,為什麼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  鄙视?
  • 6.遷移到阿里雲同樣支援
    PHPer  为什么会被  Javaer  鄙视?
  • 更多內容見官方的DEMO:
  • https://user.oneapm.com/account/demo.do
好吧,這一切都是免費的,如果你的團隊已經在產品穩定期,也可以使用收費版本。


既然解決了快速性能分析,是不是就可以高枕無憂了呢?對了,問題才剛開始,解鈴還得繫鈴人,讓我們看看如何面對自己挖的坑,當然我要先介紹幾款好的武器。

chrome

插件 xdebug
  • php 使用 eclipse 安裝 xdebug
  • 為什麼要使用 Eclipse?對了,說好了不想被鄙視,你就必須是全棧,你還要寫 Java 呢不是嗎?
  • 打開瀏覽器把那隻蟲子點綠吧,開始捉蟲之旅。

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

以上就介紹了PHPer 為什麼會被 Javaer 鄙視? ,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1677
14
CakePHP 教程
1431
52
Laravel 教程
1334
25
PHP教程
1279
29
C# 教程
1257
24
session_start()函數的意義是什麼? session_start()函數的意義是什麼? May 03, 2025 am 12:18 AM

session_start()iscucialinphpformanagingusersessions.1)ItInitiateSanewsessionifnoneexists,2)resumesanexistingsessions,and3)setsasesessionCookieforContinuityActinuityAccontinuityAcconActInityAcconActInityAcconAccRequests,EnablingApplicationsApplicationsLikeUseAppericationLikeUseAthenticationalticationaltication and PersersonalizedContentent。

如何使用MySQL的函數進行數據處理和計算 如何使用MySQL的函數進行數據處理和計算 Apr 29, 2025 pm 04:21 PM

MySQL函數可用於數據處理和計算。 1.基本用法包括字符串處理、日期計算和數學運算。 2.高級用法涉及結合多個函數實現複雜操作。 3.性能優化需避免在WHERE子句中使用函數,並使用GROUPBY和臨時表。

作曲家:PHP開發人員的軟件包經理 作曲家:PHP開發人員的軟件包經理 May 02, 2025 am 12:23 AM

Composer是PHP的依賴管理工具,通過composer.json文件管理項目依賴。 1)解析composer.json獲取依賴信息;2)解析依賴關係形成依賴樹;3)從Packagist下載並安裝依賴到vendor目錄;4)生成composer.lock文件鎖定依賴版本,確保團隊一致性和項目可維護性。

MySQL的字符集和排序規則如何配置 MySQL的字符集和排序規則如何配置 Apr 29, 2025 pm 04:06 PM

在MySQL中配置字符集和排序規則的方法包括:1.設置服務器級別的字符集和排序規則:SETNAMES'utf8';SETCHARACTERSETutf8;SETCOLLATION_CONNECTION='utf8_general_ci';2.創建使用特定字符集和排序規則的數據庫:CREATEDATABASEexample_dbCHARACTERSETutf8COLLATEutf8_general_ci;3.創建表時指定字符集和排序規則:CREATETABLEexample_table(idINT

作曲家的目的:管理PHP中的項目依賴性 作曲家的目的:管理PHP中的項目依賴性 Apr 30, 2025 am 12:01 AM

我們需要Composer因為它能有效管理PHP項目的依賴,避免版本衝突和手動管理庫的麻煩。 Composer通過composer.json聲明依賴,並使用composer.lock確保版本一致,簡化了依賴管理過程,提高了項目穩定性和開發效率。

將Java用於需要在不同服務器上運行的Web應用程序的優點是什麼? 將Java用於需要在不同服務器上運行的Web應用程序的優點是什麼? May 03, 2025 am 12:13 AM

Java適合開發跨服務器web應用。 1)Java的“一次編寫,到處運行”哲學使其代碼可在任何支持JVM的平台上運行。 2)Java擁有豐富的生態系統,包括Spring和Hibernate等工具,簡化開發過程。 3)Java在性能和安全性方面表現出色,提供高效的內存管理和強大的安全保障。

考慮到平台獨立性,Java在物聯網(物聯網)設備的開發中扮演什麼角色? 考慮到平台獨立性,Java在物聯網(物聯網)設備的開發中扮演什麼角色? May 03, 2025 am 12:22 AM

JavaplaysigantroleiniotduetoitsplatFormentence.1)itallowscodeTobewrittenOnCeandrunonVariousDevices.2)Java'secosystemprovidesuseusefidesusefidesulylibrariesforiot.3)

怎樣設置 HTML 元素的旋轉效果 怎樣設置 HTML 元素的旋轉效果 Apr 30, 2025 pm 02:42 PM

如何在HTML中設置元素的旋轉效果?使用CSS和JavaScript可以實現。 1.CSS的transform屬性用於靜態旋轉,如rotate(45deg)。 2.JavaScript可動態控制旋轉,通過改變transform屬性實現。

See all articles