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

📄 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;<BR>标&nbsp;&nbsp;题:&nbsp;Ruby与其他语言的比较&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Tue&nbsp;Nov&nbsp;21&nbsp;21:28:43&nbsp;2000)&nbsp;WWW-POST&nbsp;<BR>&nbsp;<BR>呵呵,凑个热闹。
&nbsp;<BR>这是www.ruby-lang.org自己网站上的比较。
&nbsp;<BR>---------------------------
&nbsp;<BR>&nbsp;Contrast&nbsp;Ruby&nbsp;and&nbsp;Other&nbsp;Languages&nbsp;Ruby&nbsp;Search&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;<BR>
&nbsp;<BR>-----------------------------------------------------------------------
&nbsp;<BR>
&nbsp;<BR>Let's&nbsp;compare&nbsp;other&nbsp;languages&nbsp;with&nbsp;Ruby.&nbsp;We&nbsp;take&nbsp;up&nbsp;Perl,&nbsp;Python,&nbsp;Tcl,&nbsp;Java,&nbsp;&nbsp;<BR>Eiffel&nbsp;and&nbsp;C++.&nbsp;This&nbsp;is&nbsp;based&nbsp;on&nbsp;our&nbsp;own&nbsp;judgment&nbsp;and&nbsp;biased&nbsp;view,&nbsp;however,&nbsp;&nbsp;<BR>it&nbsp;does&nbsp;not&nbsp;intend&nbsp;to&nbsp;spread&nbsp;fibs.&nbsp;
&nbsp;<BR>
&nbsp;<BR>Please&nbsp;tell&nbsp;me&nbsp;about&nbsp;mistakes,&nbsp;correction&nbsp;or&nbsp;supplementation&nbsp;for&nbsp;this&nbsp;page.&nbsp;
&nbsp;<BR>
&nbsp;<BR>Perl
&nbsp;<BR>Ruby&nbsp;owes&nbsp;a&nbsp;lot&nbsp;of&nbsp;ideas&nbsp;Perl.&nbsp;Now,&nbsp;let's&nbsp;compare&nbsp;Perl&nbsp;with&nbsp;Ruby:&nbsp;
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>Ruby&nbsp;was&nbsp;a&nbsp;genuine&nbsp;easy-to-use&nbsp;object-oriented&nbsp;language&nbsp;from&nbsp;the&nbsp;beginning;&nbsp;&nbsp;<BR>whereas&nbsp;Perl's&nbsp;OOP&nbsp;features&nbsp;were&nbsp;added&nbsp;to&nbsp;non-OO&nbsp;Perl,&nbsp;so&nbsp;that&nbsp;these&nbsp;features&nbsp;&nbsp;<BR>are&nbsp;(unlike&nbsp;the&nbsp;rest&nbsp;of&nbsp;Perl)&nbsp;very&nbsp;clumsy&nbsp;and&nbsp;hard&nbsp;to&nbsp;use&nbsp;correctly&nbsp;and&nbsp;&nbsp;<BR>effectively.&nbsp;For&nbsp;many&nbsp;people&nbsp;and&nbsp;purposes,&nbsp;Ruby&nbsp;is&nbsp;a&nbsp;better&nbsp;OO&nbsp;Perl&nbsp;than&nbsp;&nbsp;<BR>Perl.&nbsp;
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>Ruby&nbsp;uses&nbsp;less&nbsp;punctuation&nbsp;($,@,%,&nbsp;etc.)&nbsp;Ruby&nbsp;uses&nbsp;($,@)&nbsp;prefixes&nbsp;to&nbsp;denote&nbsp;&nbsp;<BR>variable&nbsp;scope,&nbsp;not&nbsp;data&nbsp;type.&nbsp;
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>Ruby&nbsp;scripts&nbsp;tend&nbsp;to&nbsp;be&nbsp;less&nbsp;cryptic.&nbsp;
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>The&nbsp;default&nbsp;variable&nbsp;scope&nbsp;rules&nbsp;for&nbsp;Ruby&nbsp;(default:&nbsp;local)&nbsp;are&nbsp;much&nbsp;better&nbsp;&nbsp;<BR>suited&nbsp;for&nbsp;medium-to-large&nbsp;scale&nbsp;programming&nbsp;tasks;&nbsp;no&nbsp;&quot;my,&nbsp;my,&nbsp;my&quot;&nbsp;&nbsp;<BR>proliferation&nbsp;is&nbsp;needed&nbsp;for&nbsp;safe&nbsp;Ruby&nbsp;programming.&nbsp;
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>Ruby&nbsp;is&nbsp;easier&nbsp;to&nbsp;learn&nbsp;than&nbsp;Perl,&nbsp;easier&nbsp;to&nbsp;maintain&nbsp;than&nbsp;Perl,&nbsp;yet&nbsp;Ruby&nbsp;&nbsp;<BR>compares&nbsp;well&nbsp;to&nbsp;Perl&nbsp;in&nbsp;terms&nbsp;of&nbsp;overall&nbsp;convenience&nbsp;and&nbsp;power.&nbsp;
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>Ruby&nbsp;copies&nbsp;many&nbsp;good&nbsp;capabilities&nbsp;of&nbsp;Perl,&nbsp;ranging&nbsp;from&nbsp;$_&nbsp;short&nbsp;cuts&nbsp;to&nbsp;&nbsp;<BR>extended&nbsp;regular&nbsp;expressions.&nbsp;
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>Perl&nbsp;is&nbsp;statically&nbsp;typed&nbsp;language&nbsp;except&nbsp;for&nbsp;references.&nbsp;The&nbsp;only&nbsp;types&nbsp;in&nbsp;&nbsp;<BR>Perl&nbsp;are&nbsp;scalar,&nbsp;array,&nbsp;hash&nbsp;and&nbsp;type&nbsp;glob.&nbsp;:-)&nbsp;
&nbsp;<BR>
&nbsp;<BR>Python
&nbsp;<BR>Python&nbsp;and&nbsp;Ruby&nbsp;deal&nbsp;with&nbsp;similar&nbsp;problem&nbsp;areas.&nbsp;Now,&nbsp;let's&nbsp;compare&nbsp;Python&nbsp;&nbsp;<BR>with&nbsp;Ruby:&nbsp;
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>Ruby&nbsp;uses&nbsp;conservative&nbsp;statement&nbsp;structure,&nbsp;using&nbsp;`end'.&nbsp;
&nbsp;<BR>You&nbsp;don't&nbsp;have&nbsp;to&nbsp;say&nbsp;`self.'&nbsp;to&nbsp;access&nbsp;attribute&nbsp;of&nbsp;the&nbsp;object.&nbsp;
&nbsp;<BR>All&nbsp;data&nbsp;(including&nbsp;Integer,&nbsp;String,&nbsp;List,&nbsp;etc.)&nbsp;in&nbsp;Ruby&nbsp;are&nbsp;class&nbsp;instances.&nbsp;&nbsp;<BR>
&nbsp;<BR>Ruby&nbsp;has&nbsp;a&nbsp;better&nbsp;(or&nbsp;real)&nbsp;closure&nbsp;feature.&nbsp;
&nbsp;<BR>Object&nbsp;attributes&nbsp;are&nbsp;not&nbsp;accessible&nbsp;by&nbsp;default&nbsp;in&nbsp;Ruby.&nbsp;
&nbsp;<BR>Ruby's&nbsp;functions&nbsp;(methods)&nbsp;are&nbsp;not&nbsp;first&nbsp;class&nbsp;objects.&nbsp;
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~~~~~~~~~~~请教什么意思?
&nbsp;<BR>Ruby&nbsp;converts&nbsp;small&nbsp;integers&nbsp;and&nbsp;long&nbsp;integers&nbsp;automatically.&nbsp;
&nbsp;<BR>Ruby&nbsp;does&nbsp;not&nbsp;have&nbsp;tuples.&nbsp;
&nbsp;<BR>呵呵,我到现在也搞不清楚python为什么要搞个不能修改的tuple类型?
&nbsp;<BR>Statements&nbsp;in&nbsp;Ruby&nbsp;have&nbsp;values;&nbsp;you&nbsp;can&nbsp;say&nbsp;
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>def&nbsp;max(a,b)
&nbsp;<BR>&nbsp;&nbsp;if&nbsp;a&gt;b&nbsp;then&nbsp;a&nbsp;else&nbsp;b&nbsp;end
&nbsp;<BR>end
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>Ruby&nbsp;has&nbsp;assignment&nbsp;syntax&nbsp;sugar&nbsp;such&nbsp;as&nbsp;+=,&nbsp;-=,&nbsp;etc.&nbsp;
&nbsp;<BR>Ruby&nbsp;has&nbsp;more&nbsp;natural&nbsp;operator&nbsp;overloading;&nbsp;e.g.&nbsp;you&nbsp;can&nbsp;define&nbsp;
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>def&nbsp;+(x)
&nbsp;<BR>&nbsp;self.to_i&nbsp;+&nbsp;x
&nbsp;<BR>end
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>Ruby&nbsp;has&nbsp;real&nbsp;garbage&nbsp;collector,&nbsp;not&nbsp;ref-counting.&nbsp;So&nbsp;that:&nbsp;
&nbsp;<BR>(这个很爽,能够省不少事,其他的到没觉得怎么样。象把integer也作为类不知道会有什&nbsp;<BR>么好处?如果不能有特别的过人之处,想超越那些发展很久的“老语言”而流行起来不太&nbsp;<BR>可能吧?)
&nbsp;<BR>Not&nbsp;subject&nbsp;to&nbsp;memory&nbsp;leaks&nbsp;like&nbsp;ref-counting&nbsp;is.&nbsp;
&nbsp;<BR>No&nbsp;INCREF,&nbsp;DECREF&nbsp;are&nbsp;required&nbsp;for&nbsp;extensions.&nbsp;
&nbsp;<BR>Extensions&nbsp;for&nbsp;Ruby&nbsp;written&nbsp;in&nbsp;C/C++&nbsp;can&nbsp;easily&nbsp;define&nbsp;Ruby&nbsp;classes.&nbsp;
&nbsp;<BR>Ruby&nbsp;has&nbsp;a&nbsp;loop&nbsp;abstraction&nbsp;using&nbsp;block;&nbsp;e.g.&nbsp;
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>10.times&nbsp;do
&nbsp;<BR>&nbsp;&nbsp;...
&nbsp;<BR>end
&nbsp;<BR>
&nbsp;<BR>You&nbsp;can&nbsp;define&nbsp;your&nbsp;own&nbsp;arbitrary&nbsp;iterator.&nbsp;
&nbsp;<BR>
&nbsp;<BR>Ruby's&nbsp;block&nbsp;for&nbsp;method&nbsp;can&nbsp;be&nbsp;used&nbsp;more&nbsp;than&nbsp;iterator;&nbsp;e.g.&nbsp;
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>mutex.synchronize&nbsp;do
&nbsp;<BR>&nbsp;&nbsp;..&nbsp;critical&nbsp;process&nbsp;..
&nbsp;<BR>end
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>Ruby&nbsp;provides&nbsp;method&nbsp;combination&nbsp;using&nbsp;`super'.&nbsp;
&nbsp;<BR>Ruby&nbsp;is&nbsp;often&nbsp;faster&nbsp;than&nbsp;Python.&nbsp;
&nbsp;<BR>
&nbsp;<BR>Tcl
&nbsp;<BR>Tcl&nbsp;is&nbsp;well-known&nbsp;as&nbsp;a&nbsp;scripting&nbsp;and&nbsp;glue&nbsp;language,&nbsp;but&nbsp;much&nbsp;simpler&nbsp;than&nbsp;&nbsp;<BR>Perl.&nbsp;Now,&nbsp;let's&nbsp;compare&nbsp;Tcl&nbsp;with&nbsp;Ruby:&nbsp;
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>Ruby&nbsp;is&nbsp;a&nbsp;genuine&nbsp;object-oriented&nbsp;language.&nbsp;
&nbsp;<BR>Ruby&nbsp;is&nbsp;often&nbsp;far&nbsp;faster&nbsp;than&nbsp;Tcl.&nbsp;
&nbsp;<BR>Ruby&nbsp;can&nbsp;handle&nbsp;various&nbsp;data&nbsp;types.&nbsp;
&nbsp;<BR>Ruby&nbsp;has&nbsp;various&nbsp;GUI&nbsp;toolkits,&nbsp;of&nbsp;cource&nbsp;including&nbsp;Tk.&nbsp;
&nbsp;<BR>
&nbsp;<BR>Java
&nbsp;<BR>Java&nbsp;is&nbsp;the&nbsp;language&nbsp;in&nbsp;the&nbsp;news&nbsp;one&nbsp;way&nbsp;or&nbsp;another.&nbsp;Now,&nbsp;let's&nbsp;compare&nbsp;Java&nbsp;&nbsp;<BR>with&nbsp;Ruby:&nbsp;
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>Ruby&nbsp;is&nbsp;an&nbsp;intepreted&nbsp;language.&nbsp;
&nbsp;<BR>All&nbsp;data&nbsp;(including&nbsp;Integer,&nbsp;String,&nbsp;etc.)&nbsp;in&nbsp;Ruby&nbsp;are&nbsp;class&nbsp;instances.&nbsp;
&nbsp;<BR>Ruby's&nbsp;module&nbsp;can&nbsp;be&nbsp;used&nbsp;to&nbsp;share&nbsp;implementation&nbsp;among&nbsp;classes.&nbsp;
&nbsp;<BR>Ruby's&nbsp;variable&nbsp;and&nbsp;expressions&nbsp;are&nbsp;not&nbsp;statically&nbsp;typed.&nbsp;
&nbsp;<BR>
&nbsp;<BR>Eiffel
&nbsp;<BR>An&nbsp;veteran&nbsp;would&nbsp;know&nbsp;the&nbsp;OOPL&nbsp;Eiffel.&nbsp;Now,&nbsp;let's&nbsp;compare&nbsp;Eiffel&nbsp;with&nbsp;Ruby:&nbsp;
&nbsp;<BR>
&nbsp;<BR>Too&nbsp;much&nbsp;difference&nbsp;in&nbsp;target&nbsp;(Why&nbsp;do&nbsp;I&nbsp;list&nbsp;it&nbsp;here&nbsp;;-)&nbsp;
&nbsp;<BR>
&nbsp;<BR>C++
&nbsp;<BR>C++&nbsp;is&nbsp;famous&nbsp;OOPL&nbsp;in&nbsp;many&nbsp;places.&nbsp;Now,&nbsp;let's&nbsp;compare&nbsp;C++&nbsp;with&nbsp;Ruby:&nbsp;
&nbsp;<BR>Ruby&nbsp;is&nbsp;too&nbsp;good&nbsp;to&nbsp;compare&nbsp;;-)&nbsp;
&nbsp;<BR>----------------------------------------------------------------------
&nbsp;<BR>----------------------------------------------------------------------
&nbsp;<BR>Written&nbsp;by&nbsp;<A HREF="mailto:webmaster@ruby-lang.org
">webmaster@ruby-lang.org
</A>&nbsp;<BR>---------------------------
&nbsp;<BR>我觉得,理想的脚本语言本身应该具有简单清晰的语法,少用特殊标点符号;应该具有真&nbsp;<BR>正的oo特性,这是现代语言的标志;本身只提供基本的逻辑流程功能,通过提供简单方便&nbsp;<BR>的extension&amp;embedding特性来利用其他语言写的“产品级的库”,这一点非常关键。
&nbsp;<BR>最后,当然要在设计时就考虑国际化啦,呵呵。&nbsp;<BR>&nbsp;<BR>--&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;smth.org·[FROM:&nbsp;166.111.160.183]&nbsp;&nbsp;<BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>

⌨️ 快捷键说明

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