欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Python和Ruby的對比,糾正一些誤解
Python和Ruby的對比,糾正一些誤解



下面是我在看兩篇關(guān)于Python和Ruby對比的文章時(shí),所作的糾正,原文都是廣泛流行的,比較好找。



------------------------------------------------------



《ruby和python的比較》更正一點(diǎn)事情

1、文檔、開(kāi)源項目、庫支持,這些東西Ruby不要跟Python比,不是幾個(gè)數量級的問(wèn)題,何必貌似并列的排在一起。
2、Python確實(shí)沒(méi)有把正則表達式模塊內置到核心里面,但是卻有re這個(gè)標準庫的支持,當時(shí)的目的也是為了盡可能的把核心做到最小。我不太明白,使用標準庫和內置有什么區別,甚至可以作為優(yōu)點(diǎn)?且使用Python中的正則表達式也不過(guò)是多個(gè)import re和調用時(shí)的幾個(gè)字母而已,省下的無(wú)數個(gè)end足以抵銷(xiāo)這個(gè)問(wèn)題了。
3、至于嵌入HTML功能,Python里有C/Python雙實(shí)現的Cheetah模板可用,據說(shuō)托Zope的福,美國海軍和法國政府在用,不知Ruby這個(gè)功能的成熟度如何?
4、mod_ruby模塊的出現時(shí)間很短,如果作者沒(méi)有聽(tīng)過(guò)mod_python那就實(shí)在孤陋寡聞了。我在一年前翻譯mod_python3.2.8文檔的時(shí)候,mod_python已經(jīng)很成熟了,以至于幾乎所有的Python WEB框架都支持構建在其上來(lái)提高效率。但是,似乎mod_ruby的更新,每年也只有幾次。mod_python更有g(shù)nu.org這樣的重量級應用,不知mod_ruby有沒(méi)有?
5、另外,提到unix工具。Red hat Linux的安裝程序一直是用Python寫(xiě)的,如果你恰巧用ubuntu,那么,那個(gè)提示你更新系統的程序,也是用Python寫(xiě)的。
6、racc和doctools,請原諒我的孤陋寡聞,我google了一下居然除了你的這篇文章還沒(méi)找到幾篇關(guān)于racc的中文內容,輾轉之后才查到是一種類(lèi)似yacc的工具。從google的角度講,racc的可用性我就不多說(shuō)了。我不太明白一個(gè)yacc工具在日常編程當中有多大的實(shí)用性,但是既然作者提到了我就順便找了個(gè)我只聽(tīng)說(shuō)過(guò)名字,根本沒(méi)用過(guò)的spark。google的結果是"racc ruby":"python spark"=159,000:659,000。至于doctools,我更是無(wú)話(huà)可說(shuō),在google上只有15,800條記錄,我到現在都看不出這個(gè)東西是干什么用的。所以找了個(gè)估計是類(lèi)似的東西對比了一下,docutils,google的記錄是25,400條。
7、“比Python庫更完整的面向對象語(yǔ)法”。試問(wèn)面向對象的目的是什么?再者,ruby能否像Python一樣,絕大多數標準庫根本不需要查文檔,只要猜測一下大體上的名字,然后dir()一下,再help()一下就可以直接上手,用到第二次的時(shí)候,因為模塊內東西實(shí)在太少,記憶太方便,就可以直接寫(xiě)出來(lái)的地步?另外,面向對象既不是什么銀彈,也不是最先進(jìn)的軟件工程思想。
8、"ruby的整個(gè)庫都是類(lèi)繼承結構的",個(gè)人認為是Java的糟粕,反倒是當成寶學(xué)過(guò)來(lái)了?;蛟S這也是ruby來(lái)拯救Java程序員的一項優(yōu)勢吧。
9、"基本數據類(lèi)型和運算符都是可以重載的",這個(gè)不是太清楚,不知Python中重載__add__之類(lèi)的算不算。
10、"ruby主要的功能都是通過(guò)對象的方法調用來(lái)實(shí)現的,而不是函數",Python中所有的東西都是對象,但并不都是類(lèi),不知這句還有什么意義。另外,推薦你不要太追求什么徹底,還是實(shí)用這個(gè)詞比較有吸引力。
11、Python沒(méi)有嚴格要求單繼承是給程序員以靈活性。另外,關(guān)于接口,Python中只要定義了同名的函數就算是具有了相同的接口,玄學(xué)上升到了這個(gè)高度,我也有些迷糊了。至于接口,不要那么自信,ruby的所謂接口也不過(guò)是個(gè)mix-in。這個(gè)東西Python的幾個(gè)大項目中也有過(guò)實(shí)現,只是因為對Python意義不明顯,所以才沒(méi)有更多的使用。
12、關(guān)于lisp的函數式編程,Python中有很多內置支持,如map、zip、filter等等,當然還有lambda。不要說(shuō)支持,我們談實(shí)用。Pythoner中尚且有些人認為函數式編程影響了代碼可讀性而盡量避免呢。所以,你認為支持什么東西之前,先想好這樣東西算不算是個(gè)好東西。
13、"最大的不足正是因為ruby的強大所引起的"。這句真惡心,不予評論。
14、呵呵,ruby居然沒(méi)有國際化支持,真是個(gè)笑話(huà),不知道當初那個(gè)小日本怎么想的?難道他英語(yǔ)過(guò)了四級?
15、至于jython,現在也有了jruby,可能是作者的原文比較早的緣故吧。Python也有很多種實(shí)現,像是jython, ironpython, pypy, pyrex等等。Python的優(yōu)秀其實(shí)并不一定要通過(guò)用其他語(yǔ)言來(lái)實(shí)現才能體現出來(lái)。當然更不要說(shuō)寄希望于要Java來(lái)解救水深火熱中的ruby了。
另外么,有些ruby的缺點(diǎn)不要回避:
16、ruby沒(méi)有本地化線(xiàn)程,而是用的偽線(xiàn)程,根本無(wú)法利用多核CPU的優(yōu)勢。CPython使用了本地化線(xiàn)程,但是因為使用了GIL所以也是無(wú)法利用多核CPU優(yōu)勢的。但是Stackless的出現完全可以解決這個(gè)問(wèn)題,并且stackless更是將Python提高到了并行計算的高度,這個(gè)高度的競爭對手可以是Erlang,ruby自然不必窺探。其中的超輕量線(xiàn)程技術(shù)可以確保一臺很爛的機器上跑幾十萬(wàn)的線(xiàn)程還很輕松?;赥wisted的異步編程方式也提供了一種選擇。
17、剛剛開(kāi)始學(xué)Python的時(shí)候,就聽(tīng)說(shuō)過(guò)一句“Python是主流動(dòng)態(tài)語(yǔ)言中最慢的”,后來(lái)才知道,說(shuō)那句話(huà)的人根本沒(méi)把ruby放在眼里。如果把ruby也算進(jìn)主流動(dòng)態(tài)語(yǔ)言里,那么就會(huì )出現一個(gè)比Python還慢了一個(gè)多數量級的語(yǔ)言了。
18、ruby流行么?是不是要走向PHP?PHP是個(gè)好東西,但是問(wèn)題在于他只能作WEB編程,限制了PHP的應用范圍,稍微需要系統一點(diǎn)的東西就要借助于C。而現在的ruby似乎也就是走著(zhù)這條路。直到有一天,有人爆料"ruby是可以做客戶(hù)端編程的",贏(yíng)得大家一片好奇。況且現在的ROR能否取代什么還是個(gè)未知數。從Java WEB開(kāi)發(fā)中解救出來(lái)的人們也并不都是走向了ruby。



-------------------------------------------



評《選Ruby還是選Python?》

這篇文章看來(lái)傳播的算是比較多的,至少我看到的是轉載。文中謬誤頗多,在此糾正一下,當然還有少許經(jīng)典語(yǔ)句這里也要提及。

Python和Ruby的設計哲學(xué)確實(shí)有很大的差異,這個(gè)問(wèn)題,我就不評論哪個(gè)更好了,各有所愛(ài)吧。至于效率,Ruby永遠不要考慮跟Python相比。Ruby是偽線(xiàn)程,而且根本沒(méi)有利用多核CPU的可能,直接pass。而Python使用native thread,僅僅由于部分模塊不是threadsafe的而加入了GIL來(lái)限制應用多核CPU,而在我最近的測試中,在使用Twisted的異步線(xiàn)程之后,已經(jīng)可以很好的利用多核CPU的計算能力了。執行效率上也不是一個(gè)數量級,自己試試就知道。

拿Java對比Python,可見(jiàn)作者創(chuàng )造力之強悍,哈哈。開(kāi)源項目是很符合達爾文的自然選擇的,難道Ruby的開(kāi)源項目少倒成了優(yōu)點(diǎn)了?另外,在Python中我也沒(méi)見(jiàn)除了WEB framework之外有什么項目有太多的重復。舉個(gè)例子,pypcap就已經(jīng)基本淘汰了pcapy了。

談到資源,Ruby還有很長(cháng)的路要走,所以提到雙方都很強的時(shí)候,麻煩不要太并列化了。至于Java社區的人傾向于學(xué)Ruby,我個(gè)人認為只是被Java折磨慣了的開(kāi)發(fā)人員目光太狹隘所致。語(yǔ)言是工具,面向對象也是工具,純粹的面向對象并不見(jiàn)得高明到哪里去,Python也有函數式編程的支持,作者怎么沒(méi)有提到。另外,Python的很多做法是以開(kāi)發(fā)效率為第一目標的而不拘泥于各類(lèi)形式,甚至為很多智力有限的人所廣泛詬病的C++中的多繼承,Python也可以支持。問(wèn)題不在于支持了什么讓你不喜歡的東西,而是讓盡可能多的人用上他們喜歡的東西。另外,一直被Ruby開(kāi)發(fā)者所認為的Python不夠OO的一個(gè)例子就是取一個(gè)序列的長(cháng)度,Python使用len(x)的方法。這個(gè)問(wèn)題,如果Ruby開(kāi)發(fā)者認為x.length就可以算是OO的話(huà),那么Python也大可以直接使用x.__len__()來(lái)獲取長(cháng)度。從用方法來(lái)封裝屬性的Java角度講,誰(shuí)更OO一些呢,哈哈。

Ruby是一個(gè)日本人的作品,呵呵,這個(gè)就不多說(shuō)了,不喜歡日本的國人有很多,在此我僅在技術(shù)層面就可以把Ruby貶低下去,無(wú)須用非技術(shù)的東西了。

關(guān)于Ruby on rails,Ruby社區確實(shí)把幾乎所有的精力都集中于此。但是這只能表現出Ruby的幼稚,事實(shí)已經(jīng)證明了,ROR的很多模仿者已經(jīng)推出無(wú)數的高級功能,遠遠超過(guò)了ROR,沒(méi)有取代ROR只是出于先入為主的觀(guān)念。如果現在的Ruby,突然失去了ROR又會(huì )是什么樣子。至于作者提到的zend,居然用來(lái)跟ROR相比,有如以卵擊石,我學(xué)過(guò)Python的2種WEB框架,平時(shí)也比較關(guān)注Python和Ruby的各種東西,但是zend這個(gè)東西,我是沒(méi)有聽(tīng)說(shuō)過(guò)的,不知是不是作者的作品,哈哈。如果一定要在WEB框架上有個(gè)較量的話(huà),你可以用django,Quixote,mod_python之類(lèi)的來(lái)比較一下。django,一個(gè)典型的ROR模仿品,還在成長(cháng),但是已經(jīng)有很多優(yōu)于ROR的功能了,而性能上遠優(yōu)于ROR自不必說(shuō)。應用Quixote的douban.com是所有使用Python和Ruby網(wǎng)站中流量最大的,而且在相同硬件配置的情況下比ROR實(shí)現速度快了一倍還多,要知道去除WEB服務(wù)器等等的各種平等損耗之后,這可是要快上一個(gè)數量級的東西。至于mod_python,據說(shuō)www.gnu.org用的就是這個(gè)。如果Ruby還想開(kāi)源的話(huà),那么就永遠活在Python的陰影里面吧。

至于上手的速度,各個(gè)人有不同的情況,不作評論。至于靈活性所帶來(lái)的東西,仁者見(jiàn)仁,就不要評論了。作者談到Python的入門(mén)不容易,真不知Ruby有個(gè)何等容易。我初學(xué)Python時(shí),第11天就用Python寫(xiě)了一個(gè)詞法解析器,至今仍然在我博客上可查。所以,入門(mén)難度這個(gè)東西,每個(gè)人還是自己去試試為好,不必聽(tīng)別人怎么說(shuō)。

提到ROR生成的目錄有很多東西,要很久才可以都了解,這確實(shí)是IDE的綜合癥。在Python下,比較典型的例子是TurboGears,如果你希望了解整個(gè)應用程序的運行方式,你可以從核心cherrypy開(kāi)始學(xué)習,然后開(kāi)始使用TurboGears就沒(méi)有什么可不了解的東西了。在這個(gè)角度上,ROR沒(méi)有選擇。再者,現在ROR可用的一種連接WEB服務(wù)器的方式scgi,當年也是Python的作品,又是一個(gè)在Python的陰影下活著(zhù)的小東西。

未來(lái)的發(fā)展么,孤注一擲的Ruby還很難說(shuō),但既然是孤注一擲,風(fēng)險還是蠻大的。而Python么,我也以為真的會(huì )平穩的發(fā)展,但是后來(lái)Micro$oft的加入,讓我們都難以預料Python的未來(lái)到底有多大了。我們再回頭談?wù)勛髡咭恢庇憛挼腜ython的多樣性,在我看來(lái)Ruby可以超越Python的東西屈指可數,而Python超過(guò)Ruby的東西,自然是Ruby難以逾越的鴻溝。所以從編程語(yǔ)言的多樣性考慮,也就不建議大家學(xué)Ruby了吧,少了一種選擇,聚集一些人氣總是好的。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
語(yǔ)言簡(jiǎn)評:比較Perl、PHP、Python、Java和Ruby
Perl、PHP、Python、Java和Ruby的比較
有了這十五款編程游戲,誰(shuí)都可以學(xué)編程?。ńㄗh收藏)
RoR的部署方案選擇
博客園 - Fantasy Soft - 吹響反擊Ruby On Rails的號角
2000-2010 十大最具技術(shù)影響力產(chǎn)品(國外)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久