超越 Java : 不斷的鬼打牆

最近對 Ruby on Rails 感到興趣十足,很想要嘗試看看這個被稱作「最簡潔有力的網頁框架」是怎麼一回事,學習一個「簡潔有力」的框架式語言應該不難,但是我的程式語言能力自認只到初階的程度,太複雜的部分通常還是丟給負責 Coding 的人員去處理,要接觸 Ruby on Rails 還是得要先 survey 一些資料。

Rubyonrails.org.tw 當中有幾段影片相當吸引人,像是 15 分鐘內寫出一個部落格網站,雖然感覺上整個架構出現是事先包裝好的架構,但是用「慣例」來進行開發的觀念非常的吸引我,尤其是「慣例」的不斷重新組合來創新,是我蠻喜歡進行思考的部分,不過網路上的東西看多了還蠻雜亂的,中文資料似乎也還不多,也看不到比較完整的中文教學,看書總是比較快的。

在搜尋的時候看到一本書「超越 Java」,幾個 Blogger 在網路上都說這本書提到不少 Ruby on Rails,有興趣的可以看看,不過我看書的頁數並不多,這本書也不是以語言教學為主,就先到台北市立圖書館查詢看看,沒想到還真的有,借閱的人也不多,就直接預約再指定分館取書。上週五拿到後,就在週末將這本書硬生生的 K 完。

首先,這本書不是寫給初學者看的,裡面提到不少 Java 的東西,我則是從未接觸過 Java ,相關部分看的有些吃力,不過一些範例至少算是看得似懂非懂;其次是這本書應該是「強譯版」,就是強硬翻譯出來的書籍,許多遣詞用語都相當的生硬,甚至是英翻中直譯,而非像 Ruby on Rails 那樣採用「慣例」;有些地方如果翻不出來,丟一段原文我說不定還比較容易理解一點,名詞翻成中文之後,我反而常常得要回頭去想英文原文可能是什麼,講的是什麼,才有可能理解,閱讀思緒常中斷,看得有些累,但是這似乎是資訊類翻譯書籍常有的問題。

不過最令人難過的問題還不是前面所說的那些瑣碎的部分,整本「超越 Java」看完之後,我的感想是「這會不會機械人寫出來的東西啊?」或許還可以程式化吧:
void main()
{
do
{
cout << "我泛舟" << endl;
cout << "Java 很強" << endl;
cout << "Java 是設計來取代 C++ 的" << endl;
cout << "Java 不是不好" << endl;
cout << "訪問一位名人" << endl;
cout << "Java 有強大的社群" << endl;
cout << "Java 偏離了路線" << endl;
cout << "我用 Ruby 完成了一個專案" << endl;
cout << "Java 不是不好" << endl;
} while ( pages < 90 ) ;

cout << "Ruby 一些範例、Java 一些範例" << endl;

while ( pages > 120 )
{
cout << "我真的有泛舟!" << endl;
cout << "Java 不是不強" << endl;
cout << "Java 比 C++ 好" << endl;
cout << "Java 吸引很多人使用" << endl;
cout << "訪問一位名人說說對 Ruby 或 ROR 的感想" << endl;
cout << "Ruby 也有強大的社群" << endl;
cout << "我用 Ruby 完成了一個專案" << endl;
cout << "Java 不是不好" << endl;
cout << "我沒說 Ruby 比 Java 好" << endl;
cout << "Ruby 真的很強大、很好" << endl;
cout << "我真的用 Ruby 完成了一個專案" << endl;
}
}
看不到半本,我就開始覺得我迷路了,這本書的內文進入一種不斷「鬼打牆」的狀態,作者不斷的一直在重複一些之前幾頁已經說過的話,舉了個小例子,重複一次,寫了幾句話,又重複一次,還會不忘提醒讀者:「記得我在前面說過 Java ...」,沒多久又「記得我在前面說過 Java ...」,真的是一整個難過,扣掉前面的序、後面的檢索、中間章節一頁泛舟內容與對頁的空白,整本書就是分成前後兩個大迴圈不斷的重複執行,簡直就像是「書本當機」一樣,或許作者希望證明 Java 寫多了,連寫書都會這樣吧?(必須重複撰寫很多次重複的程式命令)

在 Amazon 有很多人喜歡這本書(可能是 Ruby 或 ROR 愛好者),也有很多人不喜歡這本書(應該就是 Java 社群中的死忠支持者),但是我並非兩者的其中之一。 Ruby 並非不強,就我現在所知,我認為 Ruby on Rails 讓 Ruby 被世人感到強悍, Java 也並非不好,我個人則是傾向討厭 Java 的那一端;但是這本書的好壞實際上是這本書的撰寫結構真的太爛,翻譯又不是很好,讓我對這本書的觀感一整個爛掉,幸好我是去市圖借的,浪費時間而已。