偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

動(dòng)態(tài)編程語言遍地開花:淺析Ruby的主流

原創(chuàng)
開發(fā) 開發(fā)工具 后端
隨著計(jì)算機(jī)的快速發(fā)展,編程語言也越來越多,在10年因?yàn)殚_發(fā)速度的問題,Java成了編程語言的老大,隨著Java不斷的臃腫與復(fù)雜,開發(fā)者也不斷的去尋找,嘗試各種新的語言,也因近年動(dòng)態(tài)語言有后來居上的趨勢,Ruby作為具有動(dòng)態(tài)類型的解釋型面向?qū)ο笳Z言因此而被開發(fā)者熱捧。革命的年代已經(jīng)結(jié)束。Ruby從1995年至今已經(jīng)成熟成為了編程界的主流語言,至少主流在向Ruby前進(jìn)。

【51CTO獨(dú)家特稿】隨著計(jì)算機(jī)的快速發(fā)展,編程語言也越來越多,在10年因?yàn)殚_發(fā)速度的問題,Java成了編程語言的老大,隨著Java不斷的臃腫與復(fù)雜,開發(fā)者也不斷的去尋找,嘗試各種新的語言,也因近年動(dòng)態(tài)語言有后來居上的趨勢,Ruby作為具有動(dòng)態(tài)類型的解釋型面向?qū)ο笳Z言因此而被開發(fā)者熱捧。革命的年代已經(jīng)結(jié)束。Ruby從1995年至今已經(jīng)成熟成為了編程界的主流語言,至少主流在向Ruby前進(jìn)。

當(dāng)然,在這個(gè)充滿偏見的語言戰(zhàn)爭年代,或許是一場無意義的比拼,這是哪個(gè)語言都無法回避的。從復(fù)雜性問題本身來考慮,為什么說它受到開發(fā)者的熱捧?首先我們來張國外某博客發(fā)起的一次編程語言的投票。

 

從2983個(gè)人的投票中我們看到,僅有96人認(rèn)為Ruby會(huì)死,也是上面編程語言中最少的一個(gè)。在國外,Ruby已經(jīng)是主流的編程語言,Ruby的開發(fā)理念認(rèn)為解決問題的方法可以不止一種,選擇哪種取決于程序員的喜好。

在舊金山的獨(dú)立開發(fā)者Sara Mei就一直用Ruby開發(fā)大量的應(yīng)用,在他看來,Ruby的魅力在于它是一個(gè)使用起來非常舒服的編程語言,它具有許多強(qiáng)大的元編程功能。

為什么選擇Ruby而不是PHP或者Python之類的語言呢?

 
【圖 TIOBE的Ruby流行度趨勢】

從圖片上我們看到了Ruby從06年開始關(guān)注Ruby的人漸漸增多,在國外udemy 博客中Renee就做了個(gè)詳細(xì)的對(duì)比,重點(diǎn)介紹了三個(gè)當(dāng)今最流行的編程語言。

【點(diǎn)擊擴(kuò)大】
 

從這張圖片上看在可用性方面Ruby無疑是超越了PHP和Python這兩種語言,PHP是屬于比較傳統(tǒng)的,可用性較弱些;Python相對(duì)來說稍微好點(diǎn);Ruby的優(yōu)勢在于代碼編寫優(yōu)雅、強(qiáng)大和表達(dá)性好,可用性極高。

如何理解這個(gè)可用性?

Ruby,它是有歷史的“人”

為什么說Ruby是有歷史的?因?yàn)镽uby它是一門借鑒了前輩的語言,它站在了巨人的肩膀上,引入了C,C++,Lisp,Perl等等語言的特性。Ruby它也是一門支持多種平臺(tái)的語言,像Java一樣,可以運(yùn)行在Linux及其它UNIX變體、Windows平臺(tái)、MAC、BeOS等等。更重要的事,Ruby沒有指針。和Java類似,同時(shí)也向惡狠狠的瞥了C++一眼!不知道是否追求簡單和速度,Ruby也就不存在于法和調(diào)試指針?biāo)鶐淼念^疼困擾。

Ruby,它有著女人的優(yōu)雅

用優(yōu)雅來形容Ruby最好不過了,因?yàn)樗耆邆淞苏Z法簡潔,靈活性強(qiáng),多樣性這三個(gè)特征。

語法簡潔:更純正的面向?qū)ο笳Z言,也就是說,所有的一切(包括字符串或整形之類的基本數(shù)據(jù)類型)都是以對(duì)象的形態(tài)來表達(dá)的。許多功能讓從Java/C++世界過來的人耳目一新;

靈活性強(qiáng):如模塊的混入,塊,開放式的類定義,加上已有的動(dòng)態(tài)性使其變得極其靈活;各種繁多的著名設(shè)計(jì)模式在它手中好象都失去了意義,Java做夢都想達(dá)到的靈活性在Ruby手中輕而易舉;

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

小結(jié):

Python和Ruby雖然作為同個(gè)時(shí)代的動(dòng)態(tài)編程語言,在開發(fā)的語法上以及其社區(qū)的風(fēng)格都有著很大的區(qū)別。當(dāng)然從它們的編程理念上去理解:Python注重規(guī)范化,統(tǒng)一的解決方法,縮進(jìn)的強(qiáng)制約束,有利于多人合作;而Ruby注重人性化,閱讀方便,同個(gè)問題有著多種解決方法,過多的方法需要使用者自己鍛煉駕馭能力。

如果你是偏重樂趣,偏重人類語言化,那么Ruby無疑是最佳的選擇。

責(zé)任編輯:林師授 來源: 51CTO
相關(guān)推薦

2012-11-20 17:44:12

開發(fā)技術(shù)周刊

2012-02-14 09:46:05

虛擬化

2010-01-13 10:19:56

2012-08-02 09:22:38

2013-10-14 13:57:56

2021-03-09 09:36:43

人工智能AI互聯(lián)網(wǎng)

2013-01-11 10:35:00

云計(jì)算公共服務(wù)IT

2017-12-29 10:51:35

AI芯片初創(chuàng)

2014-11-10 10:04:25

數(shù)據(jù)中心云計(jì)算大數(shù)據(jù)

2012-12-31 14:02:31

數(shù)據(jù)中心云計(jì)算數(shù)據(jù)中心

2023-02-15 15:57:13

網(wǎng)絡(luò)安全網(wǎng)絡(luò)詐騙

2012-05-11 09:19:52

2011-07-29 18:34:35

云計(jì)算標(biāo)準(zhǔn)盲目建設(shè)

2011-09-09 09:46:32

云計(jì)算

2012-12-27 10:06:42

數(shù)據(jù)中心市場

2010-01-21 17:05:21

互聯(lián)網(wǎng)

2018-06-14 10:11:40

2020-10-23 19:00:14

人臉識(shí)別人工智能AI

2014-07-10 11:42:25

SAP大數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)