不要用物件導向來迷惑程式設計師新手

發表於2011-03-29

當我被問及“哪種程式語言是教我[兒子 / 女兒 / 其他沒有程式設計經驗的人的首選]時,”我的答案這五年多來一直沒變:Python。

這也許會出乎你的意料,經常有人會說這是非主流語言,但我堅持我的看法。

Python十分適合解決很多簡單的、有趣的問題,比用C語言要省力的多。(這是實話,幾行Python程式碼你就能製作一個簡單的拼寫檢查程式。)你會發現這種語言裡幾乎沒有任何複雜或讓人困惑的東西,用它程式設計簡單易懂,比如說陣列更新你可以用固有的方法來實現任何的操作演算法。在Python裡,你學習的曲線很平滑。陣列,字典,集合是最主要的東西。

把Python當作入門語言,有一點需要注意:避免使用物件導向特徵。你當然不可能完全的迴避它們,有些基本資料型別裡一些有用的方法跟它們有關聯,問題不大。你只是使用它們已經提供的東西,不要去建立什麼類,要避免任何的物件導向設計裡的宣告,否則的話,你一點點的資料都需要會打包成類。

從程式導向到物件導向的轉移帶來後果是你從關注問題和解決方法轉移到關注架構。你透過對比程式導向的程式和麵向物件的程式,很容易能看出這點來。後者的程式會更長,到處是多餘的介面和縮排和標記。你也許忍不住想將一些小程式碼移進類裡,或往類裡新增一些小方法,這些都沒必要,等日後你再做這些也不遲。

當你在幫助某人把一個有問題的語句改正確的時候,你要做的最後一件事是給他們佈置一些沒有實際用處的技術工作。因為有些人沒事時就喜歡玩能一些物件導向的知識技術,做一些可怕的類繼承,最終沒有學到他們該學的東西。有些人在學習的時候慢慢的會失去興趣,因為他們看到了太多的這些沒有實際用處的繼承、介面程式碼,感覺程式越來越笨重、難以處理。

從某方面說,當然,你需要學習一下Python的物件導向的知識,但儘可能的避免使用它們吧。

本文是從 Don't Distract New Programmers with OOP 這篇文章翻譯而來。

轉自: http://www.aqee.net/2011/03/29/dont-distract-new-programmers-with-oop/

 

 

本文內容由 花見花開 提供

 

 已同步至 linux的微博

相關文章