PHP到底有多糟糕?


四川優就業的小編個人是十分支持PHP的,畢竟專做IT培訓100年!
但是為了回答你這個問題,搬運一個答案:

韓天峰老師的評價:

PHP 語言有 20 多年的歷史,由於一直保持向下兼容。存在很多糟糕的地方,比如:

  • 混亂的函數命名

  • 不友好的 Array/String 函數,至今數組和字元串的操作都沒有實現 OO 介面

  • 混亂的參數順序,導致完全記不住一個函數的用法,每次需要查手冊或藉助 IDE

  • 難用的 Zend API ,導致了在應用與內核之間,很難有一個中間層。比如 Node.js 做的就很好,它提供的 C++ API 可以讓其他 C++ 程序員很方便地為 Node 編寫擴展模塊。而 Zend API 幾乎就是地獄模式,對開發者要求太高了。我在今年新開發的 PHP-X 就是為了解決這個問題

  • 缺乏非同步 IO 網路層,PHP 官方只提供了 sockets、stream、select 等 IO 函數,無法滿足現在大並發時代的需求。所以就有了 Swoole 這個項目

  • 缺乏對多線程的支持,雖然有一個 pthreads 項目,但這個連玩具都算不上。多線程需要 PHP 語言底層進行支持,而 PHP 設計之初就沒考慮過多線程

當然,PHP 也有明顯的優點,比如其部署對於虛擬主機的友好超過(除了古老的 ASP 之外的)所有其他主流語言,因此在互聯網應用爆發初期就佔領了巨大市場,一些世界上最大的網站最初(甚至至今)都是 PHP 寫的,這是其至今屹立不倒的核心原因。


感謝邀請!

這個不是PHP的問題,是你對待你人生自己所擁有的東西的態度。

自信心的問題:

我以前只會asp(2006年)。靠著asp一個月1千多元維持生計。有兩三年時間(和你現在的心理一樣覺的asp什麼都不是)。後來看PHP很好,

一個機緣轉向PHP。這十年時間就是靠著會php,在北京買車買房(貸款)。

表面上你是比較的php和其他的技術。實際上你是比較的你擁有的東西和別人擁有的東西。

如果你月薪5萬,只會寫php程序。和一個每個月5k的java程序員在討論php和java的時候,你還會是現在的心態嗎?

人的成熟不緊緊是技能的成熟,更是心裡上的成熟。

幸福的生活不是比較而來的,要感恩你所擁有的。

如果你覺的哪種編程語言好,完全可以學呀。沒人說不讓你學吧。

掌握PHP的技能方面

以你現在這麼問問題,那麼你的php掌握水平,應該在掌握Php技能的不到30%的知識量。如果你努力掌握更多php的各項技能,你就會發現語言很多都是相通的。比較英語和漢語哪個更重要沒有意義,只是使用的場合不同。

掌握事物的本質

  1. php和別的語言比較 誰好誰差和你沒什麼關係,因為都不是你發明的。
  2. 程序語言最根本的目的是開發程序,如果沒把程序開發出來。在好的程序語言也沒用。

所以提高自己的技能,把自信找回來。慢慢的就會渡過迷茫期。加油??!


我1999年開始寫PHP,那年PHP還只是3,一個連session都需要自己實現的版本。

對於PHP來說缺點的確很多,最典型的例子就是函數參數順序混亂,一會兒needle在第一個,一會兒haystack在第一個,這個對於初學者來說真的是很暈的事情。

不過總得來說PHP正在往一個好的方向發展,7重寫了內核,性能在極端情況下提升了300%

其實我現在已經很少寫PHP,如果是自己的項目,一般我會優先選擇Python或者Java,但是作為早期就相當屬性的語言,PHP我經常會寫2行程序,比如把一個json文本展開看一下之類的。

還是那句話,語言沒有好壞,選擇語言的時候更多的情況是看合不合適~項目的預算、時間、後期成本等等,然後再對需求進行評估,看看上哪個語言比較合適,組什麼樣的團隊比較合適。


感覺PHP挺好的,號稱世界上最好的語言,開發速度上確實比java 塊多了!要是開發小型的網站PHP的優勢太明顯了,節省成本!如果要是搞seo技術,建立站群的話,PHP作用遠高於java,python了!建立網站不就是為了獲得更多的流量嗎?


很糟,同行越來越多,競爭越來越激烈,身價不容易漲,建站容易得多,經常見小白下個開源的cms然後再下個免費模板就把站搞起來了,然後問我們問題如果要收費還要挨罵說人家都開源了你們做個插件或模板就要收費?開源難道不應該免費了嗎。。。。經常在各類語言爭論問題時被拉進去說php是最好的語言,久而久之居然成了語言鄙視鏈的最下層。。。隨著nodeJs的流行,那些前端都開始搶php的活了,你居然還在說php有多糟糕,人艱不拆啊,你是不是學Java的過來踢館的?


衡量一個程序員水平的本質是解決問題的能力。世界上沒有絕對好的語言或者系統,因為一切都會隨著時間和場景的變化所替代。高水平的技術人員從來不會人云亦云一項技術的好壞,而是關心什麼樣的場景用什麼能最高效解決問題。如果它是如此的一文不值,那就不會有facebook了。而且使用什麼技術不僅僅只是技術的考量,公司規模,所處階段,發展思路,業務環境都息息相關。


說那麼多廢話,能不能像我這麼簡單解釋:用java阿里雲的伺服器至少五千一年,用php阿里雲的虛擬伺服器三百一年。其他再說優劣就是後話了,如果沒有這個成本優勢,我覺得更多的人用java


推薦閱讀:

中興通訊員工為什麼會跳樓?
印表機共享後為什麼有的電腦能連接上,有的不能?
為什麼市場上有專門支持某款手機的背夾式充電寶,但小米華為等手機廠商卻不自己製造呢?
php+mysql資料庫,製作的簡單發布系統上傳到購買伺服器無法調取數據,是什麼原因?

TAG:PHP | 編程語言 | 科技 |