程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 為什麼開發者對PHP又愛又恨

為什麼開發者對PHP又愛又恨

編輯:關於PHP編程

為什麼開發者對PHP又愛又恨


受人尊敬的服務器端腳本語言PHP,因在web開發中的應用而知名。首次由Rasmus Lerdorf在1995年發布,受WordPress和Facebook的影響而變化著,據W3Techs報道,82%網站的服務器端編程語言是PHP。這門語言在編程語言受歡迎程度排名上,稍微落後於Java,在競爭對手Tiobe排行榜降到第六名。做為高性能的升級版本PHP 7,預期在2015年發布。

然而,就像任何語言,它也有支持者和反對者。下面解釋了支持者聲援PHP、和持不同意見者痛批它的原因。

好的:流行、入門快

“PHP是目前最流行的web開發語言,”PHP工具提供商Zend Technologies公司注1】CEO Andi Gutmans說。在New Media Campaings供職的開發者Josh Lockhart,也是一名作家,強調了PHP較小的學習曲線、易於部署和快速的開發迭代。Lockhart說,“PHP是最易理解的web開發語言之一,它被安裝在大部分服務器上包含大部分共享主機)。因為有優秀的在線文檔和最新的在線資源,學習起來相對容易。”

好的:好找工作

“PHP幫助你賺錢、找到一份在服務器端的工作”,Gutmans說。在上周的Dice.com技術工作網站上的快速研究,找到了3,366份PHP相關的工作。與17,418份Java工作相比顯得很平淡,緊追Perl4,300)和Python5,429),但是高於Ruby2,973),甚至包括Objective-C985)。Lockhart把PHP看做使用頻率最高的語言之一,盡管它和Ruby、Python、Go和Rust之類的語言比起來,有些保守。

好的:繼續在發展

這門語言自诩有閉包和命名空間之類的現代功能,還有性能和現代框架。正如Gutmans所指出的,“一些想離開的人在PHP能提供什麼上面所受到的必要教育不多。”Lockhart說,開發者正在意識到,PHP有著強大的現代特性以及合適的面向對象編程模型。即將到來的版本7,在應用程序上提供了巨大的性能提升。Lockhart指出,Facebook對PHP的增強,包含了HHVM虛擬機和Hack語言注2】。

壞的:抱怨設計、缺乏重心

博主Eevee在2012年反對這門語言的公開信《PHP:不規則的糟糕設計》中說道,“事實上PHP裡的每個特性都多多少少是不規則的”。Eevee不僅僅給這門語言差評,而且包括框架和生態系統。根據該博主說的,這門語言不是可預期的、一致的,而是充滿了讓人詫異和不一致的地方。在批評中,PHP被稱作不透明的,沒有默認的堆棧跟蹤,一直承受著復雜的、功能不佳的類型,“沒有清晰的設計哲學。早期的PHP受到了Perl的激勵;帶有‘out’參數的龐大的stdlib來自於C;面向對象部分模仿著C++和Java設計。”

Lockhart承認,Eevee的反PHP言論有些“誇大了事實本質”。盡管是一名PHP支持者,Lockhart在被問及時,還是足夠和藹地列出了批判:

  • 這門語言是不一致的,特別是函數名稱和參數順序。“這很容易修正,因此這不是個大問題。”
  • PHP仍然有很多遺留包袱,像全局變量、魔術引用等等。“這些壞的實踐正在緩慢地從語言中修剪,但是在它們消失之前,它們還會慫恿愚昧的開發者堅持不好的實踐。”
  • PHP不像其它語言那樣專注,Lockhart將其歸咎於“受到委員會驅動的、長期都是一塊一塊的”。

  • 注1:Zend Technologies 公司是一家互聯網基礎架構軟件公司。Zend Technologies最為人們熟知的是它的兩個奠基人:Andi Gutmans和Zeev Suraski,他們與其他以色列程序員一起,發展了由Rasmus Lerdorf開創的PHP語言。http://zh.wikipedia.org/wiki/Zend_Technologies
  • 注2:Hack,一種開源腳本語言,運行在HHVM虛擬機上,主要開發者為Facebook。在2014年3月20日正式發布。在發布前,Facebook已經在它的網站上廣泛使用及測試。http://zh.wikipedia.org/wiki/Hack_(%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80)



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved