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