在高速發(fā)展的時代,個種各樣的程序語言不斷出現(xiàn),怎樣去辨別他們的使用效果呢?PHP寫的網(wǎng)站占所有網(wǎng)站的大概 80%了。這個網(wǎng)站的數(shù)據(jù)我覺得還是比較信服的。你黑跟不黑,他們都在那兒用php。

PHP流行無外乎:
簡單、性能足夠好
熱部署、易修改
部署方案簡單、各種獨立的php空間商好找
php官方夠給力、性能提升比較大, Facebook出的HHVM更是反映了PHP的興盛
PHP的極強的兼容性:
PHP的極強的兼容性,這個也是穩(wěn)定、高效的最好的佐證,PHP5.2到現(xiàn)在的PHP7、hhvm有多少的不兼容么?反觀Python Python2跟Python3是裂變,ruby每個版本的兼容性其實很大的,甚至一些gem比如rails之類的 ,兼容性很差的。
Php的靈魂Hash Table很精妙,php的簡單我覺得絕大多數(shù)構(gòu)筑在hash table設(shè)計精巧上, 用了那么多的語言,php的數(shù)組、對象操作真是最簡單最得心應(yīng)手的,這個就是Php hash table的強大了,關(guān)于hash table的C實現(xiàn),可以大概瞅瞅PHP C源代碼, //www.php-internals.com/book/?p=chapt03/03-01-02-hashtable-in-php
四大web語言(僅僅web上用的比較多,比較類似的4大語言) PHP跟python、ruby java 我都學(xué)過(C#粉勿怪,我是linux腦殘粉,只用linux下用的比較廣的東西,ms系列的東西我都不看的。)
其中php ruby python算是同類C實現(xiàn)的腳本語言這一類的。java自成一類字節(jié)碼半編譯基于強大JVM的偉大語言。
php、ruby、python比較
在php、ruby、python里面,雖然我覺得python、ruby比較省代碼,但我不覺得在web上 python、ruby有機會擊敗php。不要因為少數(shù)開玩笑的、低級的黑PHP就覺得PHP不行了,那些黑PHP的多少黑到點子上去了。
別的我不知道,學(xué)校里一些玩兒python的自以為python很厲害,整個php群體比較菜的,這其實是python小眾群體的優(yōu)越感了。真比起來,python在純web上比不過php跟ruby。
以前十年前大概,挺多初高中生搞ACM、OI 會一點pascal 就那種很優(yōu)越的經(jīng)常說,“別跟我提C++,我是寫pascal,不懂C++啦”,就是那種自黑狂妄的秀優(yōu)越的那樣說出來的, “不懂C++都拿出來秀優(yōu)越一樣”,真是可笑。
python、ruby的類庫比php多一些, 但是在純web跟web相關(guān)這方面,php的成熟類庫比ruby、python多的,這就是php為什么現(xiàn)在在web上比python、ruby強。perl的沒落也不是沒有原因的。1995-1998年大概, lamp就開始提出來,盛行天下。當時很強大的雅虎在內(nèi)部全部推廣php, 最后才引起php的盛世啦。
java跟(php ruby python) 這兩大類:
java綜合來說,寫起來復(fù)雜一點,不要跟我扯java敏捷開發(fā)(java的敏捷開發(fā)是相對于java以往的開發(fā)例子的敏捷開發(fā)),嵌進去預(yù)言的語法是你的一個便捷的框架能改變的么?真想逆天改命呢。
jvm經(jīng)過sun orcale IBM 等等花重金堆人才、堆技術(shù)、堆黑科技,堆出來的超強性能,驚世罕見。已經(jīng)在很多地方j(luò)ava不比c++ 慢了。
java的一些工業(yè)級的強大類庫、php ruby python只有看著的份兒,這個是事實,得認。apache基金會下面一票的偉大的java項目: tomcat 、 cassdra、POI 、strust 、lucene、solr、hadoop、hbase、zookeeper 等等。
在web方面, java堆機器、堆集群是可以把一些性能堆上去的,還有一些像站內(nèi)搜索引擎方面事實標準是solr 、lucence, 這一塊基本只能用java。
還有一些復(fù)雜的后臺任務(wù)啊、之類的都用java不斷的跑。寫到cache、隊列里面去,供其他語言調(diào)用。
java一個很好的特點就是工程性特別規(guī)范特別強、簡直是標準的工業(yè)級語言。雖然寫起來有點點繁瑣,但是配合偉大的jetbrains idea 系列IDE的智能提示,基本不麻煩。java的安全性、線程鎖、同步啊、Exception等等是別的語言很難達到的。所以淘寶、當當、京東有用到j(luò)ava的,哪一步比如讀文件、數(shù)據(jù)庫連接、IO、網(wǎng)絡(luò)等等所有地方的 異常都可以捕獲,萬一發(fā)生詭異的異常都可以找出來的。其他語言(php ruby python)目前基本沒這樣的能力的。
所以一些大企業(yè)java / c++ + php混用的,其實挺好的。個人覺得“PHP是最好的語言”,這話即使不對,也是最好語言之一。分數(shù)越高越好,我把各大語言我認識的 常用的web框架,標出來了。
框架的具體介紹:
大家也可以自己看看自己在用的框架在什么位置
看到?jīng)]php-raw , 也就是純php, 在很高的位置。在純php之上的,除了純java的servlet-raw, 其他我都不認識。注意php-raw 比 python django flask、ruby rails sinatra、go 、go revel 等等好多都要高,有的還高很多很多。
php的流行,必然有很大的一方面就是性能很強的原因。配合簡單、穩(wěn)定、容易部署。
我還在百度實習(xí)的時候,百度用的比較普遍的一個php統(tǒng)一解決方案,核心就是ap框架??梢哉f ap框架 約等于 yaf框架。幾乎一模一樣的。是鳥哥還在百度的時候,他們一起為百度的基礎(chǔ)架構(gòu)寫了一個php c語言框架。
AMP組合已經(jīng)集齊一套完整的帶CGI功能,數(shù)據(jù)庫的網(wǎng)頁服務(wù)器套裝,而且相近的技術(shù)(JSP/*或者sevrlet*/,ASP)當時出現(xiàn)晚了(PHP2是95年,引入Zend引擎的PHP2是97年,PHP3是98年,JSP是99年,/*sevrlet是97年*/,ASP是96年,//ASP.NET是02年),其實只是最近一些年才發(fā)現(xiàn)PHP的語言特征太“粗獷”了,才認為不太適合。(畢竟原設(shè)計只是給作者自己更新網(wǎng)頁用的)



皖公網(wǎng)安備 34010202600669



