讓Ruby之父教您大師級的程式思考術!
本書以松本行弘先生對程式本質的深層認知、各種技術之優缺點的掌握,闡述Ruby這套程式語言的設計理念,並由此延伸讓您一窺程式設計的奧妙之處。本書內含許多以Ruby、Lisp、Smalltalk、Erlang、JavaScript等動態語言所寫成的範例,從動態語言、函數式程式設計等領域開展您的學習視野。
本書精華:
‧物件導向與抽象化
‧多重繼承的問題與Mix-in
‧基於原型與基於類別的物件導向概念
‧靜態語言與動態語言的差異
‧Duck Typing與Metaprogramming
‧區塊和閉包的強大威力
‧設計模式與開閉原則
‧Ajax與JavaScript
‧Ruby on Rails與MVC
‧開放類別與Monkey Patching
‧字碼問題與Unicode
‧正則表達式與「鬼車」
‧整數、浮點數、位元運算
‧程式最佳化技術與平行程式設計
‧程式弱點與攻擊手法
‧程式的時間問題
‧資料的永續性與XML
‧函數式程式語言的特性
‧記憶體管理與垃圾回收機制
‧程式碼產生技術與Ruby的擴充方式
‧開放原始碼的精神與選擇授權的觀念
作者簡介:
松本行弘
1965年出生。鳥取縣米子市出身。筑波大學第三學院資訊學系畢業。於1993年開始開發物件導向指令稿語言「Ruby」,於1995年發表。目前為網路應用通訊研究所(NaCI)研究員,並兼任樂天技術研究所的研究員。以「Matz」的暱稱為人所知。討厭東京、喜歡溫泉。
目錄
前言
第一章:我為什麼開發了Ruby
1-1 我為什麼開發了Ruby
第二章:關於物件導向
2-1 程式設計與物件導向的關係
2-2 抽象資料與繼承
2-3 多重繼承的負面影響
2-4 兩個誤解
2-5 Duck Typing的誕生過程
2-6 元程式設計
第三章:關於區塊
3-1 區塊的威力
3-2 以區塊反覆執行
3-3 靈活地運用集合
第四章:關於設計模式
4-1 設計模式(1)
4-2 設計模式(2)
4-3 設計模式(3)
第五章:關於Ajax
5-1 Ajax與JavaScript(前篇)
5-2 Ajax與JavaScript(後篇)
第六章:關於Ruby on Rails
6-1 MVC與Ruby on Rails
6-2 開放類別與Monkey Patching
第七章:關於字碼
7-1 字碼的種類
7-2 程式處理字串的方式
第八章:關於正則表達式
8-1 正則表達式的基礎
8-2 正則表達式的應用範例與「鬼車」
第九章:關於整數與浮點數
9-1 意外深奧的整數世界
9-2 充滿浮點數之謎團的世界
第十章:關於程式的高速化與平行化
10-1 將程式高速化(前篇)
10-2 將程式高速化(後篇)
10-3 平行程式設計
10-4 平行程式設計的有望技術‧Actor
第十一章:關於程式的安全性
11-1 程式的弱點與攻擊手法
11-2 以例外處理錯誤情形
第十二章:關於處理時間的程式
12-1 以程式處理的時刻與時間
第十三章:關於資料存續
13-1 資料存續的方法
13-2 保存物件
13-3 XML的相關考察
第十四章:關於函數式程式設計(及其他)
14-1 新範式「函數式程式設計」
14-2 產生程式碼
14-3 記憶體管理與垃圾收集
14-4 以C語言擴充Ruby
14-5 為何開放原始碼
索引
前言
第一章:我為什麼開發了Ruby
1-1 我為什麼開發了Ruby
第二章:關於物件導向
2-1 程式設計與物件導向的關係
2-2 抽象資料與繼承
2-3 多重繼承的負面影響
2-4 兩個誤解
2-5 Duck Typing的誕生過程
2-6 元程式設計
第三章:關於區塊
3-1 區塊的威力
3-2 以區塊反覆執行
3-3 靈活地運用集合
第四章:關於設計模式
4-1 設計模式(1)
4-2 設計模式(2)
4-3 設計模式(3)
第五章:關於Ajax
5-1 Ajax與JavaScript(前篇)
5-2 Ajax與JavaScript(後篇)
第六章:關於Ruby on Rails
6-1 MVC與...