• 天天PK10官网

  • 天天PK10官网

  • 天天PK10官网

  • 天天PK10官网

天天PK10官网

作者︰wy  發布日期(qi)︰2020-02-25 22:41:00
  •   為(wei)何Python和Ruby總是放在一起呢(ne)?為(wei)何Python和Ruby要進行(xing)比較呢(ne)?Python和Ruby又(you)有那些不(bu)同呢(ne)?相信大家(jia)對這些問題肯定帶有很(hen)多疑惑,小編為(wei)大家(jia)因為(wei)這些問題找(zhao)到了(liao)答案,希望大家(jia)可以認(ren)真閱讀(du),在你的學習中生活中工作中明白些什麼收獲(huo)些什麼。

      Python優于Ruby的地(di)方︰

      a) Python開發人員的背景豐富多彩,陣營(ying)規模很(hen)大,這直ben)擁賈zhi)了(liao)Python的各種lib比Ruby多很(hen)多很(hen)多很(hen)多

      b) 和Ruby相反,Python的哲學是“做一件事情有且(qie)只有一種zhi)椒fa)”(There should be one-- and preferably only one --obvious way to do it.)。Ruby的信徒會覺得這樣非(fei)常boring,但是我覺得這一點減輕(qing)了(liao)人們在開發時(shi)的認(ren)xian) 旱︰脫≡ze)成本(ben),對于提高開發效率是很(hen)有幫助的。同時(shi),這個特點使得不(bu)同的人用(yong)Python寫出來的代碼不(bu)至于相差很(hen)大,這對于團隊合作也是很(hen)有用(yong)的。(這點也導致(zhi)了(liao)Python中是有公認(ren)xi)est Practice的,但是Ruby中就很(hen)難找(zhao)到一個公認(ren)xi)est Practice)

      c) Python在面向對象上做的並(bing)不(bu)好(hao),其實是qian)衙嫦蜆毯兔嫦蚨韻笤郁rou)起來了(liao)。(隨著Python 3的發展相信這點會有所改觀)我個人雖然(ran)感覺這樣不(bu)太好(hao),但是實際用(yong)的時(shi)候就會發現(xian),不(bu)強調面向對象其實能夠減輕(qing)程序員的認(ren)xian) 旱# 雌鶇肜椿岊冉縴嫘乃 雜程序員來說也更容易接受。(好(hao)吧,如(ru)果(guo)你覺得這點是Python的缺點,那麼其實你也是對的~)d) Python開始慢慢走進大學一年紀的教科(ke)書(shu),可以預見,未來的Python開發者陣營(ying)會繼續不(bu)斷壯大。(當(dang)然(ran)Ruby的陣營(ying)也bu)嵩嚼叢醬

      e) Python解釋器,特別是CPython,目前(qian)比ren)xian)有的Ruby解釋器快很(hen)多。這點Ruby的發明人Matz也是很(hen)想再重新寫個Ruby的虛擬機,但是苦于要做的事情很(hen)多,不(bu)知道什麼時(shi)候能完成。Ruby的運(yun)行(xing)效率目前(qian)來看(kan)實在太慢了(liao)些。(當(dang)然(ran)程序運(yun)行(xing)效率和代碼是如(ru)何寫的也有很(hen)大關系(xi),想讓Ruby程序盡可能快的話,除了(liao)一般的程序優化方法(fa)外(wai),還要注(zhu)意(yi)要多用(yong)built-in的東西,因為(wei)它們是用(yong)c寫的,運(yun)行(xing)快)

      f) Python的語(yu)法(fa)比較簡單,容易上手。

      說了(liao)這麼多Python優于Ruby的地(di)方,現(xian)在再來說說我覺得

    Python和Ruby

      Ruby優于Python的地(di)方︰

      a) 第一個印入我的腦海(hai)的優點是︰有趣!當(dang)你開始慢慢學會使用(yong)Ruby後,你就會覺得Python的代碼比較死板。這是qie)蛭wei)Ruby從(cong)Perl中繼承的一條哲學是和Python完全相反的︰“每一件事情總是有多種做法(fa)”(Having more than one way to do the same thing)。所以程序員的創造力(li)就完全被激發出來了(liao)。當(dang)你看(kan)到某個問題的一種前(qian)所未見又(you)十分優雅(ya)的解決方案時(shi),你會有一種混(hun)雜著強烈喜悅的驚訝的——寫(優美的)Ruby能夠激發人的靈(ling)感。

      b) Matz在設計(ji)Ruby的時(shi)候就想方設法(fa)讓Ruby成為(wei)一個“人性化”的語(yu)言(yan),力(li)求使Ruby程序員感覺到使用(yong)Ruby是qie)患湓玫氖慮欏D隳艽cong)Mixin、程序塊、元編程、極具(ju)包(bao)容性的語(yu)法(fa)等(deng)等(deng)當(dang)中獲(huo)得一種喜悅。

      c) 純kan)獾拿嫦蚨韻螅  淝看(kan)蟺腦 喑坦δ塴uby是純kan)獾拿嫦蚨韻蟆SDN的範凱曾經說過︰“你學習了(liao)Ruby以後,你就會發現(xian),原來Java/C++所謂(wei)的面向對象就是TMD的山寨版本(ben)的面向對象,原來面向對象還可以這樣玩啊”。Ruby的元編程能力(li)還有寬松的語(yu)法(fa)使得使用(yong)Ruby可以很(hen)輕(qing)松的開發DSL(Domain Specific Language),這一點Python是搞不(bu)定的。

      d) Ruby on Rails!要不(bu)是DHH開發出了(liao)RoR不(bu)知道現(xian)在還會有多少人在用(yong)Ruby。毋庸置(zhi)疑,RoR是快速Web開發的神器。為(wei)什麼RoR那麼牛?有一個很(hen)重要的原因就是RoR將Ruby的元編程能力(li)發揮到了(liao)極致(zhi),“甚至到了(liao)一種變態(tai)的程度”(Matz語(yu),見《松本(ben)行(xing)弘的程序世(shi)界(jie)》P.S.想要了(liao)解Ruby設計(ji)思想的話此書(shu)一定要讀(du)一讀(du),起碼是部(bu)分章(zhang)節)

      e) Ruby吸收了(liao)很(hen)多語(yu)言(yan)(Lisp、Smalltalk等(deng)等(deng))的特性,對于程序員來說了(liao)解一下Ruby對于開闊思路是很(hen)有幫助的,它能幫助你更好(hao)的看(kan)清你之前(qian)一直使用(yong)的語(yu)言(yan)的限制之處(chu)在哪。

      經過了(liao)對Python和Ruby兩(liang)者的理(li)論知識(shi)概括和基礎目標設定,我們通(tong)過對Python和Ruby的優點和缺點討(tao)zhi)?ran)後將兩(liang)者進行(xing)比較分析,得出不(bu)一樣的結(jie)論和想法(fa)。願(yuan)此篇文(wen)章(zhang)能夠給你幫助和解決你的問題。

天天PK10官网

About IT165 -廣告服務 -隱(yin)私聲明 -版權申明 -免責(ze)條款(kuan) -網(wang)站地(di)圖(tu) -網(wang)友投稿 -聯系(xi)方式(shi)
本(ben)站內容來自于互聯網(wang),僅供用(yong)于網(wang)絡技術學習,學習中請(qing)遵(zun)循相關法(fa)律法(fa)規
天天PK10官网 | 下一页