|
本文是從 這篇文章翻譯而來(lái)。
當(dāng)我被問(wèn)及“哪種編程語(yǔ)言是教我[兒子/女兒/其他沒(méi)有編程經(jīng)驗(yàn)的人的首選]時(shí),”我的答案這五年多來(lái)一直沒(méi)變:Python。
這也許會(huì)出乎你的意料,經(jīng)常有人會(huì)說(shuō)這是非主流語(yǔ)言,但我堅(jiān)持我的看法。
Python十分適合解決很多簡(jiǎn)單的、有趣的問(wèn)題,比用C語(yǔ)言要省力的多。(這是實(shí)話,幾行Python代碼你就能制作一個(gè)簡(jiǎn)單的拼寫(xiě)檢查程序。)你會(huì)發(fā)現(xiàn)這種語(yǔ)言里幾乎沒(méi)有任何復(fù)雜或讓人困惑的東西,用它編程簡(jiǎn)單易懂,比如說(shuō)數(shù)組更新你可以用固有的方法來(lái)實(shí)現(xiàn)任何的操作算法。在Python里,你學(xué)習(xí)的曲線很平滑。數(shù)組,字典,集合是最主要的東西。
把Python當(dāng)作入門(mén)語(yǔ)言,有一點(diǎn)需要注意:避免使用面向?qū)ο筇卣鳌D惝?dāng)然不可能完全的回避它們,有些基本數(shù)據(jù)類型里一些有用的方法跟它們有關(guān)聯(lián),問(wèn)題不大。你只是使用它們已經(jīng)提供的東西,不要去創(chuàng)建什么類,要避免任何的面向?qū)ο笤O(shè)計(jì)里的聲明,否則的話,你一點(diǎn)點(diǎn)的數(shù)據(jù)都需要會(huì)打包成類。
從面向過(guò)程到面向?qū)ο蟮霓D(zhuǎn)移帶來(lái)后果是你從關(guān)注問(wèn)題和解決方法轉(zhuǎn)移到關(guān)注架構(gòu)。你通過(guò)對(duì)比面向過(guò)程的程序和面向?qū)ο蟮某绦颍苋菀啄芸闯鲞@點(diǎn)來(lái)。后者的程序會(huì)更長(zhǎng),到處是多余的接口和縮進(jìn)和標(biāo)記。你也許忍不住想將一些小代碼移進(jìn)類里,或往類里添加一些小方法,這些都沒(méi)必要,等日后你再做這些也不遲。
當(dāng)你在幫助某人把一個(gè)有問(wèn)題的語(yǔ)句改正確的時(shí)候,你要做的最后一件事是給他們布置一些沒(méi)有實(shí)際用處的技術(shù)工作。因?yàn)橛行┤藳](méi)事時(shí)就喜歡玩能一些面向?qū)ο蟮闹R(shí)技術(shù),做一些可怕的類繼承,最終沒(méi)有學(xué)到他們?cè)搶W(xué)的東西。有些人在學(xué)習(xí)的時(shí)候慢慢的會(huì)失去興趣,因?yàn)樗麄兛吹搅颂嗟倪@些沒(méi)有實(shí)際用處的繼承、接口代碼,感覺(jué)程序越來(lái)越笨重、難以處理。
從某方面說(shuō),當(dāng)然,你需要學(xué)習(xí)一下Python的面向?qū)ο蟮闹R(shí),但盡可能的避免使用它們吧。
it知識(shí)庫(kù):不要用面向?qū)ο髞?lái)迷惑程序員新手,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。