編程語言ruby,注定小眾的魔幻世界紅寶石


前言:
  Ruby作為一門非常有名的編程語言就不過多的介紹了捏境,有人對(duì)她的魔幻著迷于游,有人對(duì)她的晦澀難懂極度厭惡,個(gè)人也常常使用Ruby做一些程序設(shè)計(jì)垫言,可以說對(duì)Ruby的情感既有愛也有恨贰剥,作為一名千千萬萬程序員中的無名小卒,說說自己對(duì)Ruby的粗陋理解筷频。碼下這篇文章時(shí)我是瑟瑟發(fā)抖蚌成,還請(qǐng)大佬打臉輕一些。

背景:
  Ruby在松本行弘設(shè)計(jì)之初凛捏,考慮的就是以人為本担忧,從人的角度出發(fā),要符合程序員個(gè)人的心理感受坯癣。在當(dāng)時(shí)(1993年)這樣的思想可以說是相當(dāng)大膽的瓶盛,因?yàn)槟莻€(gè)時(shí)候機(jī)器的硬件性能普遍低下,內(nèi)存幾個(gè)M坡锡,CPU主頻不到半個(gè)G蓬网,硬/軟盤容量和讀寫速度低的可怕,雖然現(xiàn)在的年輕一代沒有經(jīng)歷過那個(gè)環(huán)境鹉勒,但是還是可以想象的帆锋。

在大多數(shù)程序員都在想著優(yōu)化程序內(nèi)存,最大化提升機(jī)器效率和速度的時(shí)候禽额,Ruby可以說是相當(dāng)不受待見锯厢,不過歷史上松本行弘不是第一個(gè)這樣做的,1958年脯倒,約翰·麥卡錫在麻省理工學(xué)院發(fā)明了Lisp編程語言实辑,自動(dòng)內(nèi)存管理和垃圾回收,可想而知藻丢,當(dāng)時(shí)Lisp并沒有實(shí)質(zhì)性的應(yīng)用開發(fā)價(jià)值剪撬。時(shí)至今日,Lisp依舊不溫不火悠反,但是Lisp成了一種思想残黑,個(gè)人認(rèn)為Lisp僅把動(dòng)作和命令賦予在表格數(shù)據(jù)上就有了強(qiáng)悍的表現(xiàn)能力馍佑。似乎有些跑題,接著說Ruby梨水。

提煉精華

松本行弘的創(chuàng)新其實(shí)并沒有多少拭荤,但是他把一些優(yōu)秀編程語言中的精華提煉出來,糅合成一家疫诽,這甚至比創(chuàng)新都有難度舅世,Ruby啟發(fā)語言來自:Ada、C++奇徒、CLU雏亚、Dylan、Eiffel逼龟、

Lisp评凝、Perl、Python腺律、Smalltalk甚至更多,其中借鑒最多的是Perl和smalltalk宜肉,Perl個(gè)人沒有怎么使用過匀钧,不好評(píng)價(jià),但是我知道Perl的語言密度極高谬返,用字符指定行為在Perl中非常常見之斯,有人把Perl寫成天書,甚至Perl可以簡(jiǎn)潔到不可多一個(gè)字符或少一個(gè)字符遣铝,smalltalk的IDE非常強(qiáng)大佑刷,有人說它是一個(gè)自帶IDE的編程語言。不熟悉就不過多的評(píng)論酿炸。Ruby也繼承了Perl的這部分特點(diǎn)瘫絮,所以才會(huì)有人說她是一個(gè)魔幻的語言,這種風(fēng)格吸引著一部分人深入了解并學(xué)習(xí)應(yīng)用填硕,也擋住了不少的好奇的腳步麦萤,總體來說Ruby的學(xué)習(xí)曲線還是比較平緩的,經(jīng)常有人建議編程初學(xué)者以Python為入門語言扁眯,其實(shí)Ruby更好壮莹,個(gè)人認(rèn)為比Ruby更好的還有scheme,但是scheme畢竟太小眾了姻檀,而且scheme的實(shí)用價(jià)值并不大命满。

風(fēng)格

接著說Ruby的魔幻
Ruby的魔幻特性注定Ruby只能是一門小眾語言,由于Ruby中自由的表達(dá)方式绣版,新手入門后看Ruby有關(guān)項(xiàng)目的源代碼胶台,會(huì)發(fā)現(xiàn)每個(gè)人都有自己的風(fēng)格歼疮,風(fēng)格無法統(tǒng)一,讓新人有種摸不著頭腦的感覺概作,這樣并不利于初學(xué)者對(duì)高級(jí)知識(shí)的理解腋妙,如果這樣還能堅(jiān)持學(xué)習(xí)Ruby的人,就更是少部分人了讯榕,這樣形成了Ruby社區(qū)的風(fēng)格骤素,大牛多,小白少愚屁,想入門的都徘徊在一個(gè)門檻前济竹,少部分人踏過了門檻,大牛的數(shù)量提升緩慢霎槐。

Rails

但是怎么解釋Ruby on Rails的熱度和人數(shù)一直在比較高的地位呢送浊?(Rails一般是創(chuàng)業(yè)公司使用,國內(nèi)只有少部分公司的部分業(yè)務(wù)使用Rails丘跌,統(tǒng)計(jì)數(shù)據(jù)不包含中國地區(qū)的Rails使用者袭景,這個(gè)年頭在中國創(chuàng)業(yè)還不如炒房,一套一二線城市的房子價(jià)值就趕得上一個(gè)創(chuàng)業(yè)公司了闭树,國內(nèi)的環(huán)境使得創(chuàng)業(yè)只是口號(hào)耸棒,創(chuàng)業(yè)者寥寥)
  這就引出Ruby的另一個(gè)現(xiàn)象了,Ruby的元編程能力非常強(qiáng)报辱,非常適合寫DSL与殃,Ruby誕生之初的語法就是為了嵌入式DSL而優(yōu)化設(shè)計(jì)的,Ruby on Rails可以說是用Ruby語言開發(fā)的Web DSL碍现,Rails誕生之初幅疼,猶如盤古開天辟地,當(dāng)時(shí)昼接,php還是old style爽篷,代碼混雜html,net還停留在WebfoRms階段辩棒,java還是with or widthout EJB中掙扎狼忱,Python還在用Zope這個(gè)先進(jìn)的無法使用的東西,可以毫不夸張的說一睁,Rails的誕生就如Iphone剛問世一樣钻弄,Web開發(fā)有了革命性的創(chuàng)新,之后各種語言的各種Web開放框架或多或少的都在向Rails致敬者吁,甚至影響了微軟MVC開發(fā)的方式窘俺,感興趣的可以搜索MonoRails,這里就不過多贅述了瘤泪。

Ruby的DSL特性使得Ruby有了這樣一種現(xiàn)象:某大牛寫出一種DSL灶泵,如果這個(gè)DSL特別出色,就有很多人去使用這個(gè)DSL对途,Ruby也就會(huì)火一陣赦邻。但是并不是每個(gè)Ruby開發(fā)者都有能力寫出優(yōu)秀的DSL,所以Ruby會(huì)隨著某些優(yōu)秀DSL的出現(xiàn)而火一陣实檀,接著熱潮就會(huì)褪去惶洲。在技術(shù)圈,尤其是程序員這個(gè)特殊的群體膳犹,如果不是底層開發(fā)恬吕,不接受新知識(shí),似乎就是落后须床,統(tǒng)計(jì)學(xué)的正態(tài)分布數(shù)據(jù)不會(huì)欺騙人群分布铐料,Ruby注定小眾,而且真正的Ruby開發(fā)者高手居多豺旬。

而且近幾年前端的大熱钠惩,JS MVC框架的路越來越廣,已經(jīng)不用太依賴服務(wù)端模板族阅,ES語法也在逐漸改進(jìn)javascRipt這門先天設(shè)計(jì)不足的語言妻柒,微服務(wù),后端提供API方式逐漸流行耘分,Rails的優(yōu)勢(shì)也小了一些,但是不可否認(rèn)绑警,如果還是開發(fā)Web項(xiàng)目求泰,Rails依然是最佳選擇。

之前在一個(gè)Ruby交流群中有人說Ruby將來會(huì)一直低迷计盒,Ruby在數(shù)據(jù)分析渴频,人工智能,科學(xué)計(jì)算方面根本沒有好用的gem北启。我認(rèn)為Ruby是否低迷不一定卜朗,同樣作為圖靈完備語言,只要想咕村,都是可以做的(商業(yè)公司要考慮成本問題场钉,而且商業(yè)公司居多),Ruby在其它方面確實(shí)落后Python很多懈涛,未來Ruby的應(yīng)用領(lǐng)域應(yīng)該是某個(gè)領(lǐng)域的某個(gè)部分逛万,在某些有特殊要求的地方用自己的強(qiáng)大DSL能力給開發(fā)者一個(gè)簡(jiǎn)單的解決方案。

從語言的角度也可以這樣看批钠,Python在語言密度和語義表達(dá)方面做到了一個(gè)平衡宇植,才會(huì)有這么多的人去使用得封,而Ruby的語言密度和語義表達(dá)都比Python要高一些,受眾小也是自然的指郁。

另外Metasploit真好用忙上。
以上是個(gè)人淺薄感想,如果有不正確的地方還請(qǐng)?zhí)岢觥?/p>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末闲坎,一起剝皮案震驚了整個(gè)濱河市疫粥,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌箫柳,老刑警劉巖手形,帶你破解...
    沈念sama閱讀 211,376評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異悯恍,居然都是意外死亡库糠,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門涮毫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瞬欧,“玉大人,你說我怎么就攤上這事罢防∷一ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 156,966評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵咒吐,是天一觀的道長野建。 經(jīng)常有香客問我,道長恬叹,這世上最難降的妖魔是什么候生? 我笑而不...
    開封第一講書人閱讀 56,432評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮绽昼,結(jié)果婚禮上唯鸭,老公的妹妹穿的比我還像新娘。我一直安慰自己硅确,他們只是感情好目溉,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著菱农,像睡著了一般缭付。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上大莫,一...
    開封第一講書人閱讀 49,792評(píng)論 1 290
  • 那天蛉腌,我揣著相機(jī)與錄音,去河邊找鬼。 笑死烙丛,一個(gè)胖子當(dāng)著我的面吹牛舅巷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播河咽,決...
    沈念sama閱讀 38,933評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼钠右,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了忘蟹?” 一聲冷哼從身側(cè)響起飒房,我...
    開封第一講書人閱讀 37,701評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎媚值,沒想到半個(gè)月后狠毯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,143評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡褥芒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評(píng)論 2 327
  • 正文 我和宋清朗相戀三年嚼松,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锰扶。...
    茶點(diǎn)故事閱讀 38,626評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡献酗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出坷牛,到底是詐尸還是另有隱情罕偎,我是刑警寧澤,帶...
    沈念sama閱讀 34,292評(píng)論 4 329
  • 正文 年R本政府宣布京闰,位于F島的核電站颜及,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蹂楣。R本人自食惡果不足惜器予,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望捐迫。 院中可真熱鬧,春花似錦爱葵、人聲如沸施戴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赞哗。三九已至,卻和暖如春辆雾,著一層夾襖步出監(jiān)牢的瞬間肪笋,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留藤乙,地道東北人猜揪。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像坛梁,于是被迫代替她去往敵國和親而姐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容