最近在書店裡看到了一本新書,書名叫《Java Web整合開發王者歸來》,上千頁的一本大部頭,簡單翻看了一下目錄,書中涵蓋了JSP Servlet Struts Hibernate Spring EJB等開發技術及框架。然而對於一個沒有任何java語言基礎的人,通過學習這本書就能掌握web開發麼?這裡我不是批評這本書,這本書可以給有一定J2SK基礎的人去邁入web開發的大門。我想表達的是:一個沒有java語言基礎的人,想學習使用java語言進行web開發,其學習路徑是陡峭的。.NET框架的C#也是如此。web開發不只是有了以上知識的掌握就可以搞定。javac#PHP掌管的範圍主要在伺服器端,另外有一些知識也是web開發不可或缺的。比如htmlcssjavascript,資料庫設計等。全力去了解java語言,並熟悉《Java Web整合開發王者歸來》中提到的技術及框架,容易使我們的web開發“跑了題”,也容易使我們因為難度太大而半途而廢。
       PHP相比javac#等是比較容易入門的語言,主要應用於web伺服器端的開發。和各家廠商的資料庫有天然的整合,用不了多長時間即可掌握基本的語法,學習她可以直奔web主題,講解php的書上來會直接講解處理表單,運算元據庫,產生html,與javascript打交道等web世界的內容。掌握了基本的語法後,再選擇一個易用的MVC框架,比如Yii,不到半年即可開發一些小型的web應用。
       但是話又說回來,php也有她的缺點,比如程式碼隨意,缺少命名規範,結構話思維過程過多,大量使用全域性變數,弱型別語言,過於靈活,不利於嚴謹風格程式碼的形成等。資料結構,設計模式都使用javac++等語言來描述就是一個例證。PHP網上可以利用的資源很多,從某種角度來說,這也是一種缺點,對於一些初學者來說,可能導致懶散,實現某個功能,順手拈來,導致思維能力退化。然而關鍵還是在於人,在於自己的把握。
       那麼說來說去到底該做如何選擇呢?我認為:
       對於有一定java語言基礎的,堅持使用java,學習java web整合開發中提到的技術是一種不錯的選擇。而對於沒有java語言基礎的,如果有其他語言的基礎,比如c/c++,有物件導向思想的,學習使用PHP是一種不錯的選擇。既能快速擁抱web,又不至於被PHP“帶壞”。如果對於一個沒有任何語言基礎的程式新手呢,如果不想進入web開發領域,那麼各種語言,做何選擇均可,隨緣吧。如果想進入web開發領域,可以選擇php快速進入web的世界,當你覺得用php進行web開發已經很熟練的時候,不要沾沾自喜,javac++有很多我們要學習的地方。