《松本行弘的程序世界 第1章 我為什么開發(fā)Ruby》學(xué)習(xí)筆記

1.1 我為什么開發(fā)Ruby

1993年開始開發(fā)Ruby

1.1.1 編程語言的重要性

語言體現(xiàn)了人類思考的本質(zhì)兢孝。
語言可以影響說話者的思想涩澡。
程序員由于使用的編程語言不同檬输,他的思考方法和編寫出來的代碼都會受到編程語言的很大影響隙姿。
如果我們選擇了好的編程語言户敬,那么成為好程序員的可能性就會大很多荣茫。

一個程序員想帅,不管他使用什么編程語言,他在一定時間里編寫的程序行數(shù)是一定的啡莉。

程序員根據(jù)所選擇編程語言的不同港准,他的開發(fā)效率會有十倍、百倍甚至上千倍的差別咧欣。
軟件開發(fā)浅缸,要求能夠用更少的成本、更短的時間魄咕,開發(fā)出更多的軟件衩椒。
需要開發(fā)的軟件越來越多,開發(fā)成本卻有限哮兰,所以對于開發(fā)效率的要求就很高毛萌。編程語言就成了解決這個矛盾的重要工具。

1.1.2 Ruby的原則

Ruby編程語言的設(shè)計目標(biāo)是喝滞,讓作為語言設(shè)計者的我能夠輕松編程阁将,進而提高開發(fā)效率。
三個設(shè)計原則:

  • 簡潔性
  • 擴展性
  • 穩(wěn)定性

1.1.3 簡潔性

編程語言在這半個世紀(jì)以來是向著簡潔化的方向發(fā)展的右遭,從程序的簡潔程度就可以看出一門編程語言本身的能力做盅。

隨著編程語言的演進,程序員已經(jīng)可以更簡單窘哈、更抽象地編程了吹榴。

隨著計算機性能的提高,以前在編程語言里實現(xiàn)不了的功能滚婉,現(xiàn)在也可以做到了图筹。
面向?qū)ο蟮乃枷胫皇前褦?shù)據(jù)和方法看做一個整體,當(dāng)做對象來處理满哪,并沒有解決以前解決不了的問題婿斥。
面向?qū)ο蟮姆椒ú]有實現(xiàn)任何新的東西,卻要在運行時判定要調(diào)用的方法哨鸭,傾向于增大程序的運行開銷民宿。
現(xiàn)在,由于計算機性能大大提高像鸡,只要可以提高軟件開發(fā)效率活鹰,浪費一些計算機資源也無所謂了。
變量和表達(dá)式的類型檢查只估,在執(zhí)行時已經(jīng)可以自動檢查志群,而不用在編譯時檢查了。
Ruby不進行明確的數(shù)據(jù)類型定義蛔钙,不必要的聲明都可以省略锌云。
Ruby的目標(biāo)就是成為開發(fā)效率高、“能直接運行的偽碼式編程語言”吁脱。

class Sample {
    private static int fib (int n) {
        if (n < 2) {
            return n;
        } else {
            return fib(n-2) + fib(n-1);
        }
    }
    
    public static void main(String[] args) {
        System.out.println("fib(6)=" + fib(6));
    }

}
def fib(n)
    if n < 2
        n
    else
        fib(n - 2) + fib(n - 1)
    end
end
print "fib (6) =", fib(6), "\n"

1.1.4 擴展性

編程語言作為軟件開發(fā)工具桑涎,其最大的特征就是對要實現(xiàn)的功能事先沒有限制。

編程語言開發(fā)者實際上并不知道這種編程語言會用來開發(fā)什么兼贡,會在哪些領(lǐng)域中應(yīng)用攻冷。所以,編程語言的擴展性非常重要遍希。
實現(xiàn)擴展性的一個重要方法就是抽象化等曼。抽象化就是把數(shù)據(jù)和要做的處理都封裝起來,就像一個黑盒子凿蒜,我們不知道它的內(nèi)部是怎么實現(xiàn)的禁谦,但是可以用它。
以前的編程語言在抽象化方面是很弱的废封,要做什么處理首先要了解很多編程語言的細(xì)節(jié)枷畏。而很多面向?qū)ο蠡蚝瘮?shù)式的現(xiàn)代編程語言,都在抽象化方面做得很好虱饿。

程序塊——>List高階函數(shù)的特性
已有類的擴展特性
編程語言不是從安全性角度考慮為減少程序員犯錯誤拥诡,而是在程序員自己負(fù)責(zé)的前提下為他提供最大限度發(fā)揮能力的靈活性。

不要因為想當(dāng)然而加入無謂的限制氮发。
從某種角度說渴肉,編程的歷史就是因為想當(dāng)然而失敗的歷史。
Ruby對整數(shù)范圍不做任何限制爽冕,盡最大努力排除“想當(dāng)然”仇祭。

1.1.5 穩(wěn)定性

Ruby沒有宏。
宏可以替換掉原有的程序颈畸,給原有的程序加入新的功能乌奇。如果有了宏没讲,不管是控制結(jié)構(gòu),還是賦值礁苗,都可以隨心所欲地進行擴展爬凑。
Lisp流,其語言核心部分僅僅提供極為有限的特性和構(gòu)造试伙,其余的控制結(jié)構(gòu)都是在編譯時通過用宏來組裝其核心特性來實現(xiàn)的嘁信。

如果在編程語言中引入宏,活用宏的程序就會像是用完全不同的專用編程語言寫出來的一樣疏叨。
寫出來的程序是否具有很高的可讀性非常重要潘靖。從整體來看,程序員讀程序的時間可能比寫程序的時間還長蚤蔓。讀程序包括為理解程序的功能去讀卦溢,或者是為維護程序去讀,或者是為調(diào)試程序去讀秀又。
編程語言的語法是解讀程序的路標(biāo)既绕。

1.1.6 一切皆因興趣

編程語言存在的目的是讓人用它來開發(fā)程序,并且盡量能提高開發(fā)效率涮坐。這樣的話凄贩,才能讓人在開發(fā)中體會到編程的樂趣。

程序開發(fā)本來就是一件很快樂袱讹、很刺激和很有創(chuàng)造性的事情疲扎。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市捷雕,隨后出現(xiàn)的幾起案子椒丧,更是在濱河造成了極大的恐慌,老刑警劉巖救巷,帶你破解...
    沈念sama閱讀 223,126評論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件壶熏,死亡現(xiàn)場離奇詭異,居然都是意外死亡浦译,警方通過查閱死者的電腦和手機棒假,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評論 3 400
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來精盅,“玉大人帽哑,你說我怎么就攤上這事√厩危” “怎么了妻枕?”我有些...
    開封第一講書人閱讀 169,941評論 0 366
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我屡谐,道長述么,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,294評論 1 300
  • 正文 為了忘掉前任愕掏,我火速辦了婚禮度秘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘亭珍。我一直安慰自己,他們只是感情好枝哄,可當(dāng)我...
    茶點故事閱讀 69,295評論 6 398
  • 文/花漫 我一把揭開白布肄梨。 她就那樣靜靜地躺著,像睡著了一般挠锥。 火紅的嫁衣襯著肌膚如雪众羡。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,874評論 1 314
  • 那天蓖租,我揣著相機與錄音粱侣,去河邊找鬼。 笑死蓖宦,一個胖子當(dāng)著我的面吹牛齐婴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播稠茂,決...
    沈念sama閱讀 41,285評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼柠偶,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了睬关?” 一聲冷哼從身側(cè)響起诱担,我...
    開封第一講書人閱讀 40,249評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎电爹,沒想到半個月后蔫仙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,760評論 1 321
  • 正文 獨居荒郊野嶺守林人離奇死亡丐箩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,840評論 3 343
  • 正文 我和宋清朗相戀三年摇邦,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片屎勘。...
    茶點故事閱讀 40,973評論 1 354
  • 序言:一個原本活蹦亂跳的男人離奇死亡涎嚼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出挑秉,到底是詐尸還是另有隱情法梯,我是刑警寧澤,帶...
    沈念sama閱讀 36,631評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站立哑,受9級特大地震影響夜惭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜铛绰,卻給世界環(huán)境...
    茶點故事閱讀 42,315評論 3 336
  • 文/蒙蒙 一诈茧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧捂掰,春花似錦敢会、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至姐帚,卻和暖如春吏垮,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背罐旗。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評論 1 275
  • 我被黑心中介騙來泰國打工膳汪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人九秀。 一個月前我還...
    沈念sama閱讀 49,431評論 3 379
  • 正文 我出身青樓遗嗽,卻偏偏與公主長得像,于是被迫代替她去往敵國和親鼓蜒。 傳聞我的和親對象是個殘疾皇子媳谁,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,982評論 2 361

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