星期五, 1月 22, 2010

php的優劣

逛網站看到幾篇很有意思的東西
是在討論PHP的優缺點


程式設計與小提琴 - 以前的PHP有很多缺陷
這篇在說php的缺點,大概的重點就是php不嚴謹,不專業的設計師很容易寫出滿是垃圾的程式碼。
節錄其中幾段出來:

一些開發員對php的看法(節錄)

大略翻譯:

如果你想學PHP,請讓我知道,我很樂意幫助你

PHP非常容易寫出很爛的程式碼,對Perl、C和Java來說也一樣,我想有兩件事情讓人對於PHP程式碼覺得很糟糕,首先,當你寫出了垃圾程式,它一樣運作的很好,除非你是專業的程式設計師,或是維護大量的程式碼,不然你根本不在意那程式碼是些垃圾。

第二,因為PHP很容易學,很普及,在網路上有很多PHP的範例,很容易就有非專業的人用PHP來亂搞,他們學習糟糕的習慣,然後發表他們的程式教其他人這些壞習慣,很多流行的Open source PHP程式也寫得非常爛,說到這裡就想到Gallery和Wordpress

它是一把可以建造漂亮結構或是歪曲鳥籠的槌子,還有它很容易敲爛你的姆指,有這麼多業餘的PHP開發者,所以在外面有這麼多爛程式也不令人意外

你可以在上面這些文章中發現,現在是2010年了,以現今的眼光來看,PHP確實是爛到暴炸了,有人反對我所說的,是說程式是人寫的,所以程式的好壞是在人而不是在程式語言本身,而且也有很多人有提到PHP可以寫出很棒的程式,這我也很認同,但是如同這些人也有提到的,要寫出優良的PHP程式非常困難,為什麼? 因為他有太多缺陷了,是的,不可否認他的門檻真的很低,但是那些缺陷就像是地雷一樣,而它的門檻就像是雷區的鐵絲網,讓大部份人可以跳進雷區來玩,不懂那些瑣碎的語言缺陷,很容易就被滿地的地雷炸飛,只有少數的人能夠熟知地雷的位置,在這雷區中行走自如,那是非常困難的事,換言之,PHP的學習曲線一開始是很平緩的,大部份人都可以快速上手寫出簡單的程式,但是當要寫的東西越來越複雜,要懂的東西就不是一般的多和瑣碎,因為那些問題都來自語言的設計不良,不瞭解就很容易誤用或濫用,所以到後來的學習曲線會很抖,而就算你懂也會那些問題,還有另一個疑問,為什麼要堅持用這個破爛而不知進步的爛語言? 而不改用一個更優良的語言或開發平台呢?

/*------------------------------------------------------------------------------------------------------------------------------*/


網站製作學習誌 - 你的 PHP 比我的糟,因為你只懂得抱怨
這篇與上篇持相反看法,基本上來說算是反駁上一篇
大概再說:
PHP是易於上手的語言,且參和了很多其他程式碼的概念
雖然比較雜,但是寫出垃圾程式碼跟程式設計師比較有關係

以下節錄一些句子

然而隨著 PHP 5 的誕生,以及 2008 年 PHP 4 不再被官方維護,大部份的主機商也已經佈署了 PHP 5 作為主要執行環境;雖然現階段 PHP 5 還是會讓 PHP 4 的程式碼能夠執行,但是開發者的觀念如果沒有一起隨著更新,那才是災難的開始。

語言的設計本來就沒辦法一開始考慮周詳, Java 如此, Python 也是如此,它們在重大改版時,部份語法及相關的核心組件上本來就會有所改變。而開發者如果沒有適時去瞭解在新版本上的使用差異,那麼跟抱怨一把生銹的斧頭很難砍倒一棵大樹有什麼差別?

...

語言本身沒有好壞之分,因為所謂的爛不爛都是決定於怎麼用它來開發的人。任何工具一定有用得順手和用得不順手的問題,端看開發者用什麼樣的心態去面對而已。

依賴語言或框架本身的優勢的確很方便,但一旦脫離了它們,卻無法保證能開發出好的程式,這不是一個優秀的工程師。

我不否認 PHP 確實有缺陷,但我不傾向去抱怨它們。瞭解它的優缺點,正確的使用它才是身為 PHP 開發者所應該走的方向。

一切都是開發者本身的問題。



來源:
程式設計與小提琴 - 以前的PHP有很多缺陷
網站製作學習誌 - 你的 PHP 比我的糟,因為你只懂得抱怨

沒有留言:

張貼留言