Posted on 2007-10-13 21:27
Raylong 閱讀(1206)
評論(4) 編輯 收藏 所屬分類:
讀書筆記
1、程序設計就是對復雜度的管理,復雜度包括:待解決問題的復雜度和所依賴的機器的復雜度。正是這種復雜度的存在,導致了大多數項目的失敗。并且據我所知,還沒有哪個程序設計語言將主要設計目標放在“征服程序開發和維護過程中的種種復雜度”上。
(下面開始列舉了其他語言的種種不足,幾乎每本技術書的開篇就是王婆賣瓜的形式出現的,給讀者點鼓勵嘛,不要被厚厚的磚頭般的書嚇到。搞計算機的女生的好處是,晚上在你回宿舍的路上,不幸遇見歹人攔路打劫,你只需隨便抄起一本書就能把他打個半死。好的技術書不僅能豐富知識,也是居家旅游、貼身自衛的最佳工具。C++本身就很復雜,用復雜的語言描述復雜的問題,對設計者和程序員的要求都很高。)
2、最令我印象深刻的是sun公司在設計Java時的目標:為程序員降低復雜度。好像是在說“我們關注于減少編寫出健壯代碼的開發時間和難度。”同等功能的C++程序,java只需要一半或者更少的時間。只憑這一點,就能省下大量的時間和金錢。
(這點確實是事實,Java的開發效率比別的語言高不少。我學過一段時間的C++,大概是世界上最復雜的語言吧,很痛苦。初學java時,感覺那個hello world 怎么這么復雜,后來就好了很多,并且不打算再學C++了。simple is good!聽說硅谷那邊java很熱,因為稍微有點規模的公司都有自己的系統,java的跨平臺特性導致了這幫家伙玩命地學java。)
3、我們不應該將java僅僅看作是一組特性的集合---有一些特性在孤立狀態下沒有任何意義。只有在考慮設計,而不僅僅是編碼時,才能完整地運用Java的各個部分。而且要按照這種方式來理解Java,必須理解它所涉及的問題以及在程序設計時所伴隨的問題。……按照這種方式,直到Java思想意識稱為你最自然不過的語言。你需要在頭腦中創建一個模型,以加強你對這種語言的深入理解;如果你遇到了疑問,就將它反饋到頭腦中的模型并推斷出答案。
(為什么這本書是很多人推薦的,學Java的首選教材?就是編程思想!也是我打算重溫此書的原因之一。簡言之:不僅要知其然,還要知其所以然。漢語比鳥語精煉得多。)