⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000001.htm

📁 一份很好的linux入门资料
💻 HTM
字号:
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人:&nbsp;kafa&nbsp;(staring&nbsp;at&nbsp;the&nbsp;sun),&nbsp;信区:&nbsp;Linux&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;Ruby&nbsp;vs.&nbsp;Python&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Sun&nbsp;Nov&nbsp;19&nbsp;13:55:06&nbsp;2000)&nbsp;<BR>&nbsp;<BR>From&nbsp;Python&nbsp;Mailing&nbsp;list&nbsp;<BR>------------------------&nbsp;<BR>June&nbsp;Kim&nbsp;&nbsp;wrote:&nbsp;<BR>><I>&nbsp;Has&nbsp;anyone&nbsp;used&nbsp;Ruby&nbsp;here?&nbsp;or&nbsp;are&nbsp;there&nbsp;some&nbsp;documents&nbsp;at&nbsp;least&nbsp;</I><BR>unbiased&nbsp;--&nbsp;<BR>><I>&nbsp;yet,&nbsp;&nbsp;Python-centric&nbsp;view&nbsp;would&nbsp;be&nbsp;okay&nbsp;if&nbsp;not&nbsp;too&nbsp;fictional.&nbsp;</I><BR>&nbsp;<BR>Ruby&nbsp;is&nbsp;Smalltalk&nbsp;with&nbsp;Perlish&nbsp;syntax.&nbsp;<BR>Python&nbsp;is&nbsp;...&nbsp;(this&nbsp;is&nbsp;c.l.p.,&nbsp;you&nbsp;fill&nbsp;in&nbsp;the&nbsp;blank)&nbsp;<BR>&nbsp;<BR>Python&nbsp;and&nbsp;Ruby&nbsp;are&nbsp;both&nbsp;object&nbsp;oriented&nbsp;languages&nbsp;that&nbsp;provide&nbsp;a&nbsp;<BR>smooth&nbsp;transition&nbsp;from&nbsp;procedural&nbsp;to&nbsp;OO&nbsp;programming&nbsp;styles.&nbsp;Smalltalk,&nbsp;<BR>by&nbsp;contrast,&nbsp;is&nbsp;object&nbsp;only&nbsp;-&nbsp;you&nbsp;can't&nbsp;do&nbsp;anything&nbsp;until&nbsp;you&nbsp;understand&nbsp;<BR>objects,&nbsp;inheritance&nbsp;and&nbsp;the&nbsp;sizable&nbsp;Smalltalk&nbsp;class&nbsp;hierarchy.&nbsp;By&nbsp;<BR>providing&nbsp;procedural&nbsp;training&nbsp;wheels,&nbsp;Python&nbsp;and&nbsp;Ruby&nbsp;&quot;fix&quot;&nbsp;one&nbsp;of&nbsp;<BR>the&nbsp;features&nbsp;that&nbsp;may&nbsp;have&nbsp;kept&nbsp;Smalltalk&nbsp;out&nbsp;of&nbsp;the&nbsp;mainstream.&nbsp;<BR>The&nbsp;two&nbsp;languages&nbsp;differ&nbsp;by&nbsp;approaching&nbsp;this&nbsp;solution&nbsp;from&nbsp;<BR>opposite&nbsp;directions.&nbsp;<BR>&nbsp;<BR>Python&nbsp;is&nbsp;a&nbsp;hybrid&nbsp;language.&nbsp;It&nbsp;has&nbsp;functions&nbsp;for&nbsp;procedural&nbsp;<BR>programming&nbsp;and&nbsp;objects&nbsp;for&nbsp;OO&nbsp;programming.&nbsp;Python&nbsp;bridges&nbsp;<BR>the&nbsp;two&nbsp;worlds&nbsp;by&nbsp;allowing&nbsp;functions&nbsp;and&nbsp;methods&nbsp;to&nbsp;interconvert&nbsp;<BR>using&nbsp;the&nbsp;explicit&nbsp;&quot;self&quot;&nbsp;parameter&nbsp;of&nbsp;every&nbsp;method&nbsp;def.&nbsp;When&nbsp;a&nbsp;<BR>function&nbsp;is&nbsp;inserted&nbsp;into&nbsp;an&nbsp;object,&nbsp;the&nbsp;first&nbsp;argument&nbsp;automagically&nbsp;<BR>becomes&nbsp;a&nbsp;reference&nbsp;to&nbsp;the&nbsp;receiver.&nbsp;<BR>&nbsp;<BR>Ruby&nbsp;is&nbsp;a&nbsp;pure&nbsp;OO&nbsp;language&nbsp;that&nbsp;can&nbsp;masquerade&nbsp;as&nbsp;a&nbsp;procedural&nbsp;one.&nbsp;<BR>It&nbsp;has&nbsp;no&nbsp;functions,&nbsp;only&nbsp;method&nbsp;calls.&nbsp;In&nbsp;a&nbsp;Ruby&nbsp;method&nbsp;the&nbsp;receiver,&nbsp;<BR>also&nbsp;called&nbsp;self,&nbsp;is&nbsp;a&nbsp;hidden&nbsp;argument&nbsp;like&nbsp;&quot;this&quot;&nbsp;in&nbsp;C++.&nbsp;A&nbsp;&quot;def&quot;&nbsp;<BR>statement&nbsp;outside&nbsp;of&nbsp;a&nbsp;class&nbsp;definition,&nbsp;which&nbsp;is&nbsp;a&nbsp;function&nbsp;in&nbsp;<BR>Python,&nbsp;is&nbsp;actually&nbsp;a&nbsp;method&nbsp;call&nbsp;in&nbsp;Ruby.&nbsp;These&nbsp;ersatz&nbsp;functions&nbsp;<BR>become&nbsp;private&nbsp;methods&nbsp;of&nbsp;class&nbsp;Object,&nbsp;the&nbsp;root&nbsp;of&nbsp;the&nbsp;Ruby&nbsp;class&nbsp;<BR>hierarchy.&nbsp;Procedural&nbsp;programming&nbsp;is&nbsp;neatly&nbsp;solved&nbsp;from&nbsp;the&nbsp;other&nbsp;<BR>direction&nbsp;-&nbsp;everything&nbsp;is&nbsp;an&nbsp;object.&nbsp;If&nbsp;the&nbsp;user&nbsp;doesn't&nbsp;grok&nbsp;objects&nbsp;<BR>yet,&nbsp;they&nbsp;can&nbsp;just&nbsp;pretend&nbsp;that&nbsp;&quot;def&quot;&nbsp;is&nbsp;a&nbsp;function&nbsp;definition&nbsp;and&nbsp;<BR>still&nbsp;get&nbsp;useful&nbsp;work&nbsp;done.&nbsp;<BR>&nbsp;<BR>Ruby's&nbsp;OO&nbsp;purity&nbsp;provides&nbsp;a&nbsp;number&nbsp;features&nbsp;that&nbsp;Python&nbsp;lacks&nbsp;or&nbsp;is&nbsp;<BR>still&nbsp;workng&nbsp;toward:&nbsp;a&nbsp;unified&nbsp;type&nbsp;/&nbsp;class&nbsp;hierarchy,&nbsp;metaclasses,&nbsp;<BR>the&nbsp;ability&nbsp;to&nbsp;subclass&nbsp;*everything*,&nbsp;and&nbsp;uniform&nbsp;method&nbsp;invocation&nbsp;<BR>(none&nbsp;of&nbsp;this&nbsp;len()&nbsp;is&nbsp;a&nbsp;function&nbsp;but&nbsp;items()&nbsp;is&nbsp;a&nbsp;method&nbsp;rubbish).&nbsp;<BR>Ruby,&nbsp;like&nbsp;Smalltalk,&nbsp;only&nbsp;supports&nbsp;single&nbsp;inheritance,&nbsp;but&nbsp;it&nbsp;does&nbsp;<BR>have&nbsp;a&nbsp;very&nbsp;powerful&nbsp;mixin&nbsp;concept:&nbsp;a&nbsp;class&nbsp;definition&nbsp;may&nbsp;<BR>include&nbsp;a&nbsp;module,&nbsp;which&nbsp;inserts&nbsp;that&nbsp;module's&nbsp;methods,&nbsp;constants,&nbsp;<BR>etc.&nbsp;into&nbsp;the&nbsp;class.&nbsp;<BR>&nbsp;<BR>Ruby,&nbsp;again&nbsp;like&nbsp;Smalltalk,&nbsp;provides&nbsp;closures&nbsp;and&nbsp;code&nbsp;blocks&nbsp;and&nbsp;uses&nbsp;<BR>them&nbsp;to&nbsp;the&nbsp;same&nbsp;good&nbsp;effect.&nbsp;The&nbsp;Ruby&nbsp;collection&nbsp;classes&nbsp;and&nbsp;<BR>iterators&nbsp;are&nbsp;outstanding,&nbsp;much&nbsp;more&nbsp;powerful&nbsp;and&nbsp;elegant&nbsp;than&nbsp;the&nbsp;ad&nbsp;<BR>hoc&nbsp;solutions&nbsp;that&nbsp;Python&nbsp;is&nbsp;sprouting&nbsp;(lambdas&nbsp;and&nbsp;list&nbsp;comprehensions).&nbsp;<BR>&nbsp;<BR>Ruby's&nbsp;syntax&nbsp;and&nbsp;design&nbsp;philosophy&nbsp;are&nbsp;heavily&nbsp;influenced&nbsp;by&nbsp;Perl.&nbsp;It&nbsp;<BR>has&nbsp;a&nbsp;lot&nbsp;of&nbsp;syntactic&nbsp;variability.&nbsp;Statement&nbsp;modifiers&nbsp;(if,&nbsp;unless,&nbsp;<BR>while,&nbsp;until,&nbsp;etc.)&nbsp;may&nbsp;appear&nbsp;at&nbsp;the&nbsp;end&nbsp;of&nbsp;any&nbsp;statement.&nbsp;Some&nbsp;key&nbsp;<BR>words&nbsp;are&nbsp;optional&nbsp;(the&nbsp;&quot;then&quot;&nbsp;in&nbsp;an&nbsp;&quot;if&quot;&nbsp;statement&nbsp;for&nbsp;example).&nbsp;<BR>Parentheses&nbsp;may&nbsp;sometimes&nbsp;be&nbsp;elided&nbsp;in&nbsp;method&nbsp;calls.&nbsp;The&nbsp;<BR>receiver&nbsp;of&nbsp;a&nbsp;method&nbsp;may&nbsp;usually&nbsp;be&nbsp;elided.&nbsp;&nbsp;Many,&nbsp;many&nbsp;things&nbsp;are&nbsp;<BR>lifted&nbsp;directly&nbsp;from&nbsp;Perl.&nbsp;Built&nbsp;in&nbsp;regular&nbsp;expressions,&nbsp;$_&nbsp;and&nbsp;<BR>friends,&nbsp;here&nbsp;documents,&nbsp;the&nbsp;single-quoted&nbsp;/&nbsp;double-quoted&nbsp;string&nbsp;<BR>distinction,&nbsp;$&nbsp;and&nbsp;@&nbsp;prefixes&nbsp;to&nbsp;distinguish&nbsp;different&nbsp;kinds&nbsp;of&nbsp;names&nbsp;<BR>and&nbsp;so&nbsp;forth.&nbsp;<BR>&nbsp;<BR>If&nbsp;you&nbsp;like&nbsp;Perl,&nbsp;you&nbsp;will&nbsp;like&nbsp;Ruby&nbsp;and&nbsp;be&nbsp;right&nbsp;at&nbsp;home&nbsp;with&nbsp;its&nbsp;<BR>syntax.&nbsp;If&nbsp;you&nbsp;like&nbsp;Smalltalk,&nbsp;you&nbsp;will&nbsp;like&nbsp;Ruby&nbsp;and&nbsp;be&nbsp;right&nbsp;at&nbsp;home&nbsp;<BR>with&nbsp;its&nbsp;semantics.&nbsp;If&nbsp;you&nbsp;like&nbsp;Python,&nbsp;you&nbsp;may&nbsp;or&nbsp;may&nbsp;not&nbsp;be&nbsp;put&nbsp;off&nbsp;<BR>by&nbsp;the&nbsp;huge&nbsp;difference&nbsp;in&nbsp;design&nbsp;philosophy&nbsp;between&nbsp;Python&nbsp;and&nbsp;<BR>Ruby/Perl.&nbsp;<BR>&nbsp;<BR>Ruby&nbsp;is&nbsp;much&nbsp;more&nbsp;complex&nbsp;than&nbsp;Python&nbsp;but&nbsp;its&nbsp;features,&nbsp;for&nbsp;<BR>the&nbsp;most&nbsp;part,&nbsp;hang&nbsp;together&nbsp;well.&nbsp;Ruby&nbsp;is&nbsp;well&nbsp;designed&nbsp;and&nbsp;full&nbsp;<BR>of&nbsp;neat&nbsp;ideas&nbsp;that&nbsp;might&nbsp;be&nbsp;mined&nbsp;for&nbsp;P3K.&nbsp;I'm&nbsp;not&nbsp;sure&nbsp;how&nbsp;many&nbsp;<BR>Python&nbsp;programmers&nbsp;will&nbsp;be&nbsp;attracted&nbsp;to&nbsp;it&nbsp;though&nbsp;-&nbsp;it&nbsp;hasn't&nbsp;won&nbsp;me&nbsp;<BR>over&nbsp;(yet).&nbsp;But&nbsp;it&nbsp;is&nbsp;worthy&nbsp;of&nbsp;serious&nbsp;study&nbsp;and&nbsp;could&nbsp;be&nbsp;a&nbsp;real&nbsp;threat&nbsp;<BR>to&nbsp;Perl.&nbsp;<BR>&nbsp;<BR>John&nbsp;Dell'Aquila&nbsp;<BR>&nbsp;<BR>------------------------&nbsp;<BR>--&nbsp;<BR>风来疏竹,风去而竹不留声&nbsp;<BR>雁渡寒潭,雁去而潭不留影&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;smth.org·[FROM:&nbsp;166.111.64.211]&nbsp;<BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -