成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Ruby性能特點總結

開發 開發工具
Ruby性能特點的優勢性決定了它應用范圍的廣泛。我們知道,它是一種“純正”的 OOP 語言;并且還是是動態語言,解釋型語言等等。

如果您對Ruby語言不了解,只能說您不是一個真正的編程人員。它是一款完全面向對象的解釋性腳本語言。下面我們就來一起看看Ruby性能特點。#t#

Ruby 是面向對象語言。

這意味著什么呢?的確,關于“什么是 OOP”,每十位程序員當中恐怕就有十二種看法。這個問題我留待您自己判斷。而就特征而言,Ruby 提供了機制,將數據和方法封裝到對象里,實現了一個類到另一個類的繼承機制,還提供對象多態機制。與某些語言(C++、Perl 5 等等)不同的是,Ruby 從一開始的時候就是以面向對象為目標來設計的。

Ruby 是“純正”的 OOP 語言。

我說重復了么?我可不這么認為。說“純正”,這就意味著,所有的一切——包括字符串或整型之類的基本數據類型——都是以對象的形態來表達的。在 Ruby 中用不著 Java 里面提供的那種 wrapper class(包裹類)(譯注:wrapper class 用來將基本類型包裝成對象類型)。而且,甚至連常量都被當作對象來對待,因此方法可以由——比如數字常量——來喚起。

Ruby性能特點之Ruby 是動態語言。

對于只熟悉諸如 C++、Java 等靜態語言的人而言,這就是個新概念。所謂動態意味著,可以在運行期動態地追加或者重新定義方法和變量。這種動態機制免除了對 C 語言中條件編譯(#ifdef)這類功能的需要,并且使構建復雜的 reflection(內省機制)API 成為可能。復雜的 reflection 機制又進而使得程序可以變得更為“自知(self-aware)”——從而為如下諸多功能開啟了方便之門:運行期類型信息、丟失方法的偵測、能夠偵測新追加的方法的鉤子技術,等等。從這個方面來看,Ruby 與 Lisp 和 Smalltalk 有些許親緣關系。

Ruby 是解釋型語言。

這是個復雜問題,值得多說幾句。有人可以爭論說,從性能方面來考量,語言采用解釋型機制弊大于利。對于這種想法,我用下面的斟酌予以回應:1. 首先最為顯著的是,快速開發周期(rapid development cycle)頗有效益可得,Ruby 的解釋型語言本質助長這種效益。2. 太慢到底是多慢呢?說慢之前請先做一些性能測試。3. 盡管會有人因此而批評我,但我還是要這么說:處理器每年都在持續提速。4. 如果您著實需要速度,您可以用 C 語言撰寫需要速度的那部分代碼。5. ***,從某種意義上說,有一種值得商榷的觀點:鑒于沒有哪種語言是從骨子里就被解釋,因此并不能說不可能撰寫出 Ruby 編譯器。

Ruby 能夠處理正則表達式。

多年以來,正則表達式一直被認為是屬于 UNIX 領域的雕蟲小技,涉及諸如 grep 和 sed 之類的陽春工具,或是在 vi 里面做一些討巧的“查找-替換”操作。Perl 語言幫助人們改變了這種看法,而現在 Ruby 也對此有所幫助。越來越多的人認識到這種超高級的字符串和文本操縱技巧中所蘊含的無比威力。對此持懷疑態度者,應該去讀一讀 Jeffrey Friedl 的書 Mastering Regular Expressions 。非懷疑論者也應該讀。

Ruby性能特點之Ruby 是支持多種平臺的語言。

Ruby 可以運行在 Linux 及其他 UNIX 變體、各種版本 Windows 平臺、BeOS,甚至 MS-DOS 上。如果我沒記錯的話,還有 Amiga 版本的。

Ruby 借鑒了前輩語言。

這是好事兒嗎?在文學領域之外,是的,這是好事兒。牛頓說,“若我看得比別人遠,乃是因為我站在了巨人的肩上”。Ruby 確實是站在了巨人的肩上。Ruby 引借了來自 Smalltalk, CLU, Lisp, C, C++, Perl, Kornshell,以及其他語言的特性。我看到其中的原則是:1. 不要重新發明輪子;2. 不要修補沒有問題的部分;3. 特別重要的是,充分利用人們現有的知識。您掌握 UNIX 里面的文件和管道(pipes)嗎?沒問題,您可以在 Ruby 中運用到那些知識。您花了兩年時間研習 printf 的各種格式符號?別擔心,您在 Ruby 里面還可以使用 printf。您了解 Perl 的 regex handling 技術?好的,那么您幾乎也就立刻學會了 Ruby 的 regex handling 技術。

Ruby性能特點之Ruby 具創新性。

這一條與第7條有些矛盾吧?唔……是有一點;每個硬幣都有兩面嘛。Ruby 有一些特征***創新性,比如非常有用的 mix-in 概念?;蛟S這些創新型特征將來會被新的語言借鑒。(注:一位讀者向我指出,LISP 至少早在 1979 年就有 mix-in 了。這一點我倒是完全沒有注意到;我當另尋一個更好的例證,保證其真確性。)

Ruby 是特高級語言(Very High-Level Language,VHLL)。

這個問題有待商榷,因為術語 VHLL 還未被廣泛使用,而其含義更是比 OOP 的含義更具爭議性。我說“特高級”指的是,Ruby 可以通過相對較少的指令掌控復雜的數據結構并對其進行復雜的操作,符合了被一些人稱為“最少投入”的原則(Principle of Least Effort)。

Ruby 有智能垃圾收集器。

諸如 malloc 和 free 之類的函數現在只是已然過去的昨夜噩夢。您連析構函數都不需要調用。僅此足矣。

Ruby性能特點之Ruby 是腳本語言。

不要以為 Ruby 是腳本語言所以就不強大。Ruby 可不是玩具。Ruby 是全功能的程序設計語言,只不過 Ruby 讓傳統的腳本操作變得更容易撰寫,比如運行外部程序、檢查系統資源、使用 pipe(管道)、截獲輸出等等。

Ruby 用處多樣。

Ruby 可以完成好 Kornshell 能夠完成好的事情,也可以完成好 C 語言能夠完成好的事情。想快速寫一個十行的 hack 程序來完成一次性的任務,或者為遺留代碼寫個 wrapper 嗎?用 Ruby 沒問題。想寫一個 Web 服務器、CGI,或者棋類游戲嗎?用 Ruby 也沒問題。

Ruby 對線程予以支持。

您可以使用簡單的 API 撰寫多線程應用程序。是的,即使是在 MS-DOS 上撰寫也可以。

Ruby性能特點之Ruby 是開源的。

想看 Ruby 的源代碼了?想提供一個補丁建議了?只管去吧!想與智慧云集、樂于助人、包括語言設計者在內的用戶社區進行聯絡嗎?可以的!

Ruby 具有直觀性(直覺性)。

學習曲線平滑不陡。一旦入了門,您是否就開始“猜測” Ruby 的使用方式了呢?您的猜測通常是正確的(譯注:因為 Ruby 很直觀,符合了人們慣常期待的方式)。Ruby 致力于符合“最少詫異或驚訝”之原則(Principle of Least Astonishment (or Surprise)).

Ruby 具有異常(exception)機制。

同 Java 和 C++ 一樣,Ruby 能處理異常。這意味著少與返回代碼糾纏,更少的嵌套 if 語句,更少的意大利面式邏輯(spaghetti logic,貶義,指的是復雜混亂的代碼設計,比如大量使用GOTO語句等等),更好的錯誤處理機能。

Ruby性能特點之Ruby 有高級的 Array class 。

數組是動態的;您不必像在 Pascal 等語言當中那樣在編譯期聲明數組大小。您不必像在 C/C++/Java 當中那樣為數組分配內存空間。Ruby 的數組是對象,因此您不必時刻警惕其長度;原則上,您不可能像在 C 語言當中那樣“越出數組的長度大限”。想以索引、元素,或者反向處理數組嗎?想打印整個數組嗎?Ruby 為所有這些事情提供了對應的方法。想把數組當作集合(set)、堆棧(stack),或隊列(queue)來對待嗎?Ruby 也為此提供了對應的方法。想把數組當作查找表(lookup table)來使用嗎?這是個問題問得巧——您不必這樣用,因為 Ruby 提供了哈希表專門處理這個問題。

責任編輯:曹凱 來源: CSDN
相關推薦

2009-12-14 13:56:12

Ruby特點

2009-12-14 18:30:59

Ruby DSL特點

2009-12-17 10:29:04

Ruby異常處理結構

2009-12-08 15:51:12

多功能寬帶路由器

2010-01-27 16:41:48

Android特點

2009-12-24 15:53:19

WPF API

2009-12-14 10:03:57

Ruby慣用法

2009-12-17 11:27:31

Ruby時間方法

2009-12-16 14:40:14

Ruby控制結構

2009-12-17 14:29:50

Ruby on Rai

2015-10-10 11:00:05

RubyRails性能

2015-10-14 17:27:18

性能

2009-12-17 17:46:26

Ruby編寫問題

2009-12-30 15:32:03

Silverlight

2010-01-05 10:24:16

.NET Framew

2010-02-25 14:26:48

WCF特點

2010-07-12 09:22:05

RubyRuby on rai

2009-12-16 15:23:33

Ruby on rai

2010-06-08 15:55:14

CAN總線協議

2009-12-18 17:20:00

Ruby核心類
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲欧美日韩在线不卡 | 欧美激情五月 | 伊色综合久久之综合久久 | 精品国产一区二区三区性色av | av一区二区三区四区 | 亚洲成人精品国产 | 亚洲1区 | www亚洲精品 | 久久一日本道色综合久久 | 亚洲精品一区中文字幕乱码 | 国产精品99一区二区 | 日韩视频精品在线 | 我想看国产一级毛片 | 在线播放亚洲 | 日韩欧美视频在线 | 91秦先生艺校小琴 | 国产精品完整版 | 日本中文字幕在线视频 | 国产日本精品视频 | 99亚洲国产精品 | 日韩福利 | 99一级毛片| 国产精品18久久久久久白浆动漫 | 亚洲精品日韩在线 | 欧美一级久久久猛烈a大片 日韩av免费在线观看 | 91视频在线观看免费 | 久久大| 欧美区精品| 欧美日一区二区 | 国产伦精品一区二区三区照片91 | 黑人巨大精品欧美一区二区免费 | 99精品国产一区二区青青牛奶 | 国产视频精品在线观看 | 欧美日韩国产一区 | 国产精品日韩在线观看一区二区 | 亚洲成av| 国产精品美女久久久久久免费 | 国产福利小视频 | 精品一二区 | 成人av一区二区三区 | 欧美日韩18|