個人理解PHP簡單的主要原因如下:
內置API很完備
基本不要去找第三方庫,這對初學者來說,方便很多,效率高很多,畢竟找個第三方庫要熟悉、要研究,總歸不放心,語言直接就有了,
很多人都是直接google一下API然后拿來就用,我開始也是這樣的。
Java ?我們一個項目有100多個第三方包。。。 ,而且這100多個第三方包還是從幾百個包中挑出來的,可以腦補一下初學者自己去選第三方包!
編程簡單
初學者拿個php寫個面向過程的腳本,只需要查查API就可以了,30分鐘搞定;能快速搞定一個事情,能讓人產生成就感,這個非常重要;至于面向對象么,后面慢慢學也不遲呀。
C++和Java的面向對象對于初學者來說簡直就是噩夢,對象都沒有你跟我談面向對象 ?
如果用C或者C++寫面向過程呢? 嗯,除非你寫hello world,否則請先好好看看《UNIX環境高級編程》《Linux系統編程》。不懂操作系統,你就別想寫C和C++程序,到一邊寫hello world或者冒泡鏈表這類簡單和數據結構玩去吧 :)
并發和內存管理簡單
(注:以下經驗來源于PHP 5.3)
并發:nginx + php-fpm,完美的解決了大部分的并發問題,程序員只要關注寫業務邏輯即可,PHP中要用線程或者進程,要么是很特殊的情況,要么是閑的蛋疼;
Java 和 C++ ?寫并發寫的吐血,線程、鎖、可見性、異步IO、Reactor模式......搞清楚這一堆你才能玩,一不小心出個問題都不知道怎么查。
內存管理:JVM的垃圾回收沒問題一切都好,有問題定位和調優就蛋疼了,平均一年有3 ~ 5次搞這個,24G內存怎么dump?dump后怎么從生產服務器傳到開發服務器?傳下來后用MAT打開耗費3個小時怎么辦?。。。不要問我,我也不知道怎么辦!
C和C++ ?碰上內存問題你就死菜了:1年都定位不出來,然后只能另外寫個腳本定時每月重啟,這樣的事情我不會告訴你是在哪家公司遇到的,因為我怕被打!
而我們的PHP業務運行了3年,內存泄漏內存爆掉都發生過,很容易就定位出來了,但從來沒有說要調優。
但寫好PHP并不容易,事實上用PHP把業務寫完很容易,但用PHP把業務寫好的話,需要非常扎實的基本功,要求寫代碼的人邏輯非常嚴謹:
1)變量名本來是report,結果寫成了reprot,運行OK,結果就是不對,面對一屏花花綠綠的代碼,你要是能一眼看出那就是天才! 2)==和===,不說了,新手100%必中,高手80%踩中! 3)isset vs empty,和上一個類似
你以為這幾個問題看起來都是小問題?這些問題原理很簡單,但是導致的業務問題就千奇百怪了:有的用戶正確有的用戶不正確,有的用戶早上正確但下午不正確,有的用戶用Chrome正確但用Firefox就不正確!
定位出來問題后,要么你想打自己三個耳光,要么你想打寫代碼的三個耳光!
所以我認為PHP是最快上手的語言,但PHP同時也是對嚴謹性要求很高的語言!當然,對初學者來說,PHP確實是世界上最好的語言 !
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com