自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

李剛老師談Ruby語(yǔ)言的未來(lái)

原創(chuàng)
開(kāi)發(fā) 開(kāi)發(fā)工具
李剛老師在最近跟51CTO編輯的交流信件中談?wù)摿俗约簩?duì)于Ruby語(yǔ)言的一些看法和思考。李剛老師的《Ruby on Rails敏捷開(kāi)發(fā)最佳實(shí)踐》對(duì)很多Ruby學(xué)習(xí)者有很大的幫助。

【51CTO獨(dú)家專訪】李剛老師是經(jīng)驗(yàn)豐富的Java EE技術(shù)主管、IT技術(shù)培訓(xùn)導(dǎo)師以及IT技術(shù)作者。邀請(qǐng)李剛老師來(lái)這次的Ruby講堂,是因?yàn)槔顒偫蠋煹摹?A >Ruby on Rails敏捷開(kāi)發(fā)***實(shí)踐》一書(shū)。近日,51CTO編輯阿菜通過(guò)電子郵件聯(lián)系到了李剛老師,請(qǐng)他就Ruby的語(yǔ)言特性、發(fā)展現(xiàn)狀以及未來(lái)的前景談?wù)撘欢?,下面整理交流信件原文如下?/P>

[[6031]] 
《Ruby on Rails敏捷開(kāi)發(fā)***實(shí)踐》作者李剛

51CTO記者:有人說(shuō)Ruby簡(jiǎn)單上手,但是環(huán)境的搭建相對(duì)比較麻煩,而且在有些平臺(tái)上不怎么穩(wěn)定。您對(duì)Ruby學(xué)習(xí)、使用及環(huán)境搭建是怎么看的?

李剛老師:個(gè)人覺(jué)得:Ruby語(yǔ)言上手確實(shí)很簡(jiǎn)單。它甚至不需要你像Java那樣定義類,它也不需要你像C那樣定義函數(shù),你只要直接寫一條puts "Hello World!"語(yǔ)句就是最簡(jiǎn)單的Hello World。

至于說(shuō)環(huán)境搭建很麻煩,其實(shí)也不是,如果你只是安裝Ruby解釋器,只要登錄Ruby官方站點(diǎn)下載一個(gè)安裝文件進(jìn)行安裝即可。從這個(gè)角度來(lái)說(shuō),搭建Ruby開(kāi)發(fā)環(huán)境并不會(huì)比Java、PHP、C更復(fù)雜。當(dāng)然,如果要安裝一些額外的框架和服務(wù),可能需要花費(fèi)一些時(shí)間和精力,不過(guò)總體來(lái)說(shuō),初學(xué)者只要能找到系統(tǒng)的、好的文檔和書(shū)籍,按照書(shū)中內(nèi)容一步一步地走,搭建環(huán)境應(yīng)該是很簡(jiǎn)單的事情。

51CTO記者:據(jù)我所知,過(guò)去一年間Ruby社區(qū)的發(fā)展比較慢。而對(duì)于Ruby框架,很多人只聽(tīng)說(shuō)過(guò)Rails。您對(duì)Ruby社區(qū)的發(fā)展樂(lè)觀么?能否為我們介紹/推薦一些Ruby開(kāi)發(fā)工具以及框架呢?

李剛老師:其實(shí)Ruby語(yǔ)言作為動(dòng)態(tài)、腳本語(yǔ)言的代表,本身也是一門非常優(yōu)秀的編程語(yǔ)言。通常我推薦每個(gè)程序員在靜態(tài)語(yǔ)言、動(dòng)態(tài)語(yǔ)言都應(yīng)該有所涉足,所謂他山之石,可以攻玉嘛。如果總是局限于一門編程語(yǔ)言,往往很難真正全面地掌握它,真正了解這門語(yǔ)言所存在的制約和不足。

對(duì)于Ruby而言,在國(guó)內(nèi)影響較大的當(dāng)然是Rails框架了,其實(shí)Ruby雖然不像Java擁有那么廣泛的開(kāi)發(fā)群體,開(kāi)源框架也沒(méi)有Java框架那么活躍。

但實(shí)際上僅就Ruby在Web領(lǐng)域的開(kāi)發(fā)框架也不少,比如Merb,它是和Rails非常接近的框架。還有Camping,它是一個(gè)非常小巧的微框架(Microframework),使用ActiveRecord作為ORM解決方案;模板系統(tǒng)使用Markaby。通過(guò)使用Markaby作為模板語(yǔ)言,允許開(kāi)發(fā)者使用純Ruby開(kāi)發(fā)HTML模板。

個(gè)人覺(jué)得Merb的發(fā)展思路與Rails是不同的。Rails是一種“一站式”的解決方案,這既是Rails的一個(gè)優(yōu)勢(shì):開(kāi)發(fā)者日常開(kāi)發(fā)需要解決的問(wèn)題,Rails基本上都提供了解決方案。

從某種曾度上來(lái)看,這也未嘗不是Rails的缺陷:開(kāi)發(fā)者真正能自己選擇、控制的部分不多。

比如我只想用Rails的ActionController部分,這很難。從這個(gè)角度來(lái)看,我覺(jué)得Merb的思路對(duì)Rails應(yīng)該有些啟發(fā),Merb放棄成為一個(gè)大而全的解決方案,現(xiàn)階段,它可以整合Rails;如果未來(lái)有更好的解決方案,Merb也可與其整合。

其實(shí)廣大Ruby愛(ài)好者完全可以登錄http://rubyforge.org/softwaremap/trove_list.php看到大量Ruby語(yǔ)言開(kāi)發(fā)的項(xiàng)目。

對(duì)于Ruby的未來(lái),我還是比較有信心的。不管是Sun(現(xiàn)已被Oracle并購(gòu))的JRuby,還Microsoft的IronRuby,都體現(xiàn)了兩大軟件廠商對(duì)Ruby的信心,而且這兩個(gè)軟件廠商的支持必然讓Ruby更流行。

51CTO記者:在前幾個(gè)月的一次對(duì)腳本語(yǔ)言的調(diào)查中,Ruby在代碼可讀性和可維護(hù)性這一項(xiàng)得到了相當(dāng)高的分?jǐn)?shù)。從您對(duì)Ruby的了解來(lái)看,您認(rèn)為是什么為Ruby帶來(lái)了相對(duì)較高的代碼可讀性和可維護(hù)性?

李剛老師:如果從代碼可讀性角度來(lái)看,我并不覺(jué)得Ruby有多大的優(yōu)勢(shì),而且個(gè)人覺(jué)得:一份程序的代碼可讀性只和程序員的素質(zhì)和態(tài)度有關(guān),和語(yǔ)言無(wú)關(guān)。也就是說(shuō),任何編程語(yǔ)言,如果讓有良好編程習(xí)慣、良好編程素質(zhì)的程序員認(rèn)真地寫,這份代碼總能保持較好的可讀性。再好的編程語(yǔ)言,也有可能寫出糟糕的源代碼。關(guān)于程序可讀性,我認(rèn)為關(guān)鍵在于人。

當(dāng)然,總體來(lái)說(shuō),高級(jí)語(yǔ)言的代碼可讀性總比低級(jí)語(yǔ)言的代碼可續(xù)行強(qiáng)。

51CTO記者:Web發(fā)展的趨勢(shì)是個(gè)人信息都向互聯(lián)網(wǎng)上流動(dòng),因此網(wǎng)站的安全性十分重要。前一陣子聽(tīng)說(shuō)Ruby解釋器及其API庫(kù)有眾多安全缺陷。對(duì)于Ruby網(wǎng)站的安全性,您有何見(jiàn)解?

李剛老師:這個(gè)問(wèn)題前段時(shí)間也有看到。這種屬于語(yǔ)言本身帶來(lái)的有些缺陷,我們只能等待***的補(bǔ)丁。

51CTO記者:您認(rèn)為在未來(lái)幾年的Web開(kāi)發(fā)中,Ruby***的優(yōu)勢(shì)在哪里(比如它的敏捷)?***的短板又在哪里(如:可擴(kuò)展性不佳)?Ruby將會(huì)成為一個(gè)Web開(kāi)發(fā)的主導(dǎo)語(yǔ)言么?或者,像是Twitter那樣的Ruby+Scala模式將會(huì)成為更好的趨勢(shì)?

李剛老師:對(duì)于Ruby語(yǔ)言來(lái)說(shuō),語(yǔ)言簡(jiǎn)潔、語(yǔ)法隨意是它的一個(gè)很吸引人的地方。單純地從代碼量的角度來(lái)說(shuō),Ruby程序的代碼量就要小得多。

而且Ruby語(yǔ)言的語(yǔ)法非常隨意:就調(diào)用方法而言,你既可以用info,也可用info '張三',還可用info('張三' , 24)。

由于Ruby語(yǔ)法的簡(jiǎn)潔性、隨意性,使得Ruby語(yǔ)言天生具有敏捷特征。

對(duì)于Ruby語(yǔ)言來(lái)說(shuō),目前***的短板在于開(kāi)發(fā)群體不如Java、PHP開(kāi)發(fā)群體活躍。Ruby語(yǔ)言在國(guó)內(nèi)的活躍主要還是Rails帶動(dòng)的,而且國(guó)內(nèi)真正采用Ruby開(kāi)發(fā)的公司非常有限,還需要時(shí)間來(lái)培養(yǎng)。

【編輯推薦】

  1. 陸亦斌談Ruby語(yǔ)言的發(fā)展與前景
  2. Peter Cooper談Ruby是否將會(huì)流行
  3. Dave Thomas談編程與Ruby修煉之道
  4. Ruby百家談
  5. 牛人點(diǎn)評(píng)Ruby語(yǔ)言十大令人喜愛(ài)的特點(diǎn)
責(zé)任編輯:yangsai 來(lái)源: 51CTO.com
相關(guān)推薦

2012-11-07 09:41:30

2009-09-18 13:12:05

2015-02-09 09:51:06

2009-09-09 17:45:25

Ruby的blocks

2009-09-18 13:39:35

Peter CoopeBeginning R

2010-08-17 09:00:14

GoogleAndroid未來(lái)

2009-09-16 17:29:38

Ruby on RaiDave Thomas

2011-06-21 18:05:15

SEO

2025-02-07 12:54:57

大語(yǔ)言模型LLM

2014-11-05 11:05:15

Ruby

2010-01-26 10:00:30

Google工程師Web

2009-12-16 16:12:10

Ruby語(yǔ)言發(fā)展

2015-11-02 17:25:23

Elixir編程語(yǔ)言未來(lái)

2011-08-09 09:42:17

蘋果云云計(jì)算iCloud

2015-05-18 14:39:23

MySQL開(kāi)源OpenStack

2010-03-10 19:46:07

Python編程語(yǔ)言

2009-12-14 18:54:30

Ruby語(yǔ)言優(yōu)缺點(diǎn)

2021-12-07 10:18:06

首席信息官技術(shù)發(fā)展企業(yè)管理者

2012-04-17 10:44:58

戴爾CEO戴爾戰(zhàn)略

2009-06-10 16:09:56

netbeans ru動(dòng)態(tài)語(yǔ)言
點(diǎn)贊
收藏

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