動態(tài)編程語言遍地開花:淺析Ruby的主流
原創(chuàng)【51CTO獨家特稿】隨著計算機的快速發(fā)展,編程語言也越來越多,在10年因為開發(fā)速度的問題,Java成了編程語言的老大,隨著Java不斷的臃腫與復(fù)雜,開發(fā)者也不斷的去尋找,嘗試各種新的語言,也因近年動態(tài)語言有后來居上的趨勢,Ruby作為具有動態(tài)類型的解釋型面向?qū)ο笳Z言因此而被開發(fā)者熱捧。革命的年代已經(jīng)結(jié)束。Ruby從1995年至今已經(jīng)成熟成為了編程界的主流語言,至少主流在向Ruby前進。
當然,在這個充滿偏見的語言戰(zhàn)爭年代,或許是一場無意義的比拼,這是哪個語言都無法回避的。從復(fù)雜性問題本身來考慮,為什么說它受到開發(fā)者的熱捧?首先我們來張國外某博客發(fā)起的一次編程語言的投票。
從2983個人的投票中我們看到,僅有96人認為Ruby會死,也是上面編程語言中最少的一個。在國外,Ruby已經(jīng)是主流的編程語言,Ruby的開發(fā)理念認為解決問題的方法可以不止一種,選擇哪種取決于程序員的喜好。
在舊金山的獨立開發(fā)者Sara Mei就一直用Ruby開發(fā)大量的應(yīng)用,在他看來,Ruby的魅力在于它是一個使用起來非常舒服的編程語言,它具有許多強大的元編程功能。
為什么選擇Ruby而不是PHP或者Python之類的語言呢?
從圖片上我們看到了Ruby從06年開始關(guān)注Ruby的人漸漸增多,在國外udemy 博客中Renee就做了個詳細的對比,重點介紹了三個當今最流行的編程語言。
從這張圖片上看在可用性方面Ruby無疑是超越了PHP和Python這兩種語言,PHP是屬于比較傳統(tǒng)的,可用性較弱些;Python相對來說稍微好點;Ruby的優(yōu)勢在于代碼編寫優(yōu)雅、強大和表達性好,可用性極高。
如何理解這個可用性?
Ruby,它是有歷史的“人”
為什么說Ruby是有歷史的?因為Ruby它是一門借鑒了前輩的語言,它站在了巨人的肩膀上,引入了C,C++,Lisp,Perl等等語言的特性。Ruby它也是一門支持多種平臺的語言,像Java一樣,可以運行在Linux及其它UNIX變體、Windows平臺、MAC、BeOS等等。更重要的事,Ruby沒有指針。和Java類似,同時也向惡狠狠的瞥了C++一眼!不知道是否追求簡單和速度,Ruby也就不存在于法和調(diào)試指針所帶來的頭疼困擾。
Ruby,它有著女人的優(yōu)雅
用優(yōu)雅來形容Ruby最好不過了,因為它完全具備了語法簡潔,靈活性強,多樣性這三個特征。
語法簡潔:更純正的面向?qū)ο笳Z言,也就是說,所有的一切(包括字符串或整形之類的基本數(shù)據(jù)類型)都是以對象的形態(tài)來表達的。許多功能讓從Java/C++世界過來的人耳目一新;
靈活性強:如模塊的混入,塊,開放式的類定義,加上已有的動態(tài)性使其變得極其靈活;各種繁多的著名設(shè)計模式在它手中好象都失去了意義,Java做夢都想達到的靈活性在Ruby手中輕而易舉;
多樣性:Ruby可以完成好Kornshell和C語言能夠完成好的事情。想快速寫一個十行的hack程序來完成一次性的任務(wù),或者為遺留代碼寫個wrapper嗎?用Ruby沒問題。想寫一個Web服務(wù)器、CGI,或者棋類游戲嗎?用Ruby也沒問題。
小結(jié):
Python和Ruby雖然作為同個時代的動態(tài)編程語言,在開發(fā)的語法上以及其社區(qū)的風(fēng)格都有著很大的區(qū)別。當然從它們的編程理念上去理解:Python注重規(guī)范化,統(tǒng)一的解決方法,縮進的強制約束,有利于多人合作;而Ruby注重人性化,閱讀方便,同個問題有著多種解決方法,過多的方法需要使用者自己鍛煉駕馭能力。
如果你是偏重樂趣,偏重人類語言化,那么Ruby無疑是最佳的選擇。