原創(chuàng)|行業(yè)資訊|編輯:龔雪|2014-11-03 09:23:15.000|閱讀 1460 次
概述:本文主要為大家介紹Facebook發(fā)表的Hack并由此展望PHP未來的發(fā)展。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Facebook今年發(fā)布了一種新的編程語言Hack,無論從什么角度分析,這種語言都類似于時下流行的PHP。其大量的功能,比如靜態(tài)類型等等和PHP開發(fā)人員長期要求的保持一致。拋開語法這些,其實Hack并不是PHP。Hack運行在Facebook的虛擬機(HHVM)上,而其競爭對手則運行在傳統(tǒng)的PHP Zend引擎上。
首先Facebook的內(nèi)部代碼是用PHP編寫的,同時Facebook可以讓很多新的開發(fā)人員能夠使用PHP,因為語言是容易學習和使用的。當然,F(xiàn)acebook的PHP代碼可能轉(zhuǎn)換為C衍生物被推到之前的生產(chǎn)環(huán)境中。問題的關(guān)鍵是Facebook強烈的依賴于PHP語言,以吸引新的人才和提高開發(fā)人員的效率。
不幸的是,PHP不可能在Facebook的規(guī)模下執(zhí)行。因為PHP是一種松散類型的語言,很多關(guān)于類型的錯誤可能在運行的時候不會被發(fā)現(xiàn)。這就意味著Facebook在早起必須編寫很多執(zhí)行類型錯誤檢查的測試,或者花更多的時間來重新構(gòu)建發(fā)布后的運行錯誤。為了解決這樣一個問題,F(xiàn)acebook添加嚴格的類型來對運行時的返回類型實施攻擊。嚴格的類型抹殺了很多相關(guān)單元測試的必要性,同時也激勵開發(fā)人員在早期開發(fā)過程中捕獲與類型相關(guān)的錯誤。
為了使開發(fā)的過程中捕獲錯誤更加得心應(yīng)手,F(xiàn)acebook的HHVM引擎包含了一個類型的檢查服務(wù)器,這個服務(wù)器在本地運行時監(jiān)控Hack代碼。開發(fā)人員的代碼編輯器和IDE在代碼開發(fā)過程中可以使用這個類型檢查服務(wù)器來立即報告語法或類型的相關(guān)錯誤。
大多數(shù)現(xiàn)有的PHP代碼將運行在Facebook的HHVM引擎,這是必要的,因為Facebook的現(xiàn)有代碼庫主要是PHP代碼。Hack代碼存在一些異常,畢竟其沒有和傳統(tǒng)的PHP等效,比如一些語言特性(如變量)和Zend擴展仍然不被支持。隨著時間的推移,HHVM也會盡快實現(xiàn)與Zend引擎的奇偶化校驗。
此外,F(xiàn)acebook創(chuàng)建的Hack語言與傳統(tǒng)的PHP代碼進行逐步的遷徙。
如果Hack是那么好,這是否意味著PHP的日子已經(jīng)屈指可數(shù)了?答案當然是:NO!傳統(tǒng)的PHP Zend是由專門的機構(gòu)管理審核通過的,任何新的功能必須由機構(gòu)的成員審核投票通過之后才能公布,這樣的投票時100%公正和公開的。
但Hack是非常不錯的,Hack有非常多屬于自己獨特的功能,所以永遠不可能成為傳統(tǒng)的PHP語言。Facebook的HHVM引擎比Zend引擎更好的性能,而且它具有更多的內(nèi)部開發(fā)人員,致力于不斷使HHVM引擎變得更好。
這也并不意味著PHP的Zend引擎將消失,Zend和HHVM引擎能夠而且將會并存。競爭是一件好事,我希望這兩個Zend和HHVM會從彼此的優(yōu)勢中獲益。
Hack是Facebook的產(chǎn)物,這主要是源于Facebook的工程師。雖然現(xiàn)在公眾都希望它能公布,但是Hack和HHVM很大程度上仍然依賴與Facebook的持續(xù)投資和參與。
由于Hack和HHVM的優(yōu)越性,我想從某種程度想來說,Hack是PHP的未來。
【年終大促 巔峰盛“慧” 】促銷火熱進行中 iPhone 6 Plus、 iPhone 6、iPad Air等你拿 ,點我查看
FastReport VCL 5新版發(fā)布會,2014-11-25 15:00網(wǎng)絡(luò)直播,免費看?
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)