精華區beta Programming 關於我們 聯絡資訊
==> 在 yuanchang.bbs@cszone.cc.ntu.edu.tw (小璋璋) 的文章中提到: > 所以要學好C++,從入門到真正能不覺得 > 窒礙難行地寫出具有OO精神的程式,我估計這時間不會太短, > 其中或許還參考過各家門派的書籍,與C++某些語法搏鬥 > 過不少地時間。換算下來,值得嗎? 如果肯思考這問題, > 你就會認為,不是每個人都需要C++的,即使多數人喊出來 > 的看法是,C++才是貴族。 對新手來說, 學好傳統的結構化設計方法, 也是要花相當時間, 才能有所謂「真正能不覺得窒礙難行地寫出具有結構化精神的程式」的表現。 好的洞察力、好的書籍、好的良師益友, 能降低門檻、催化進步。 OO 亦如是。 固然「不是每個人都需要C++的」, 或者更進一步講「不是每個人都需要 OO 的」, 不過, OO 已侵略性地進佔越來越多的傳統領域, 所以, 能夠在你所在領域還沒變天之前就先領略(領略 ≠ 使用), 總是比較好的。 等到一夕變天再去緊張得抱佛腳, 是很悲哀的事; 尤其是到了你已不太能也不太想去適應新變局的年齡或人生階段。 > 至於有些人整天OOP喊不停,大家要注意到的是,他所從事 > 的工作,以程式設計者來說,我是完全把語言當成一種工具 > 看待。但是一個教育者會比較傾像學術氣息,至於實用 > 方面,則擺在較後面的層次。 There is no silver bullet. 所以學術人士致力於探勘探索各種潛在的可能解, 並致力於發掘出各解的極限。 學術界探討的東西, 往往要幾年過後才會在實務界看到大用。 > 又許多人腦海中的觀念是:學會「程式設計」,就可以寫出 > 心中想要的程式,在還沒有經驗的時候,我也是這樣 > 的想法。當你費盡九牛二虎之力才學會某一種語言, > 最可悲的事情就是派不上用場,你不知道要寫些什麼, > 而學習過程中那些狂熱的心態,只能淪為經驗值的獲取。 > 事實上不論一個人語言功力多強,並沒有辦法幫助他 > 獲取更好的IDEA來實作,不是嗎? 這倒是。 不過, 過於偏重「程式語言」層面的功力, 也是錯誤的。 沒有與之搭配的形而上思維, 等於是無頭蒼蠅亂飛亂竄。 九牛二虎的付出, 若是付出錯了方向, 也別想得到九牛二虎的經驗值。 最近受人之託, 要去工x院 N 減一組講幾天的 OO 引介課。 不過, 由於對象是與 mobile computing、MAC protocol、embedded system 工作 相關的工程師, 且多半是 EE 出身的, 就很煞費思量... 總不能舉一堆由 CS 及 information system 類比過去的東東做為切入角度吧 (如:資料結構、ADT、E-R model、結構化系統分析/設計/程式設計...) 如果聽眾是 CS 背景的話, 這種切入方向就很適合。 所以, 大概會偏重 UML 的 dynamic 層面來講, 少講些 static 的層面。 與經理談了一下, 大概把自己的預期心態調整了一下。 不必要求講完之後, 聽眾能真正領略多少(畢竟要這些在本職上不太用得到 OO 的人 且背景知識與訓練上根本不太 CS 的人一下子就領略得了 OO, 是項苛求); 只要有某些理念傳達過了, 讓他們在未來有適當情境時, 能夠有些 inspiration 作用, 能夠有些 guideline 作用, 就夠了。 畢竟, 你不能要求事事皆要有「立竿見影」的效果。 有「立竿見影」效果的東西, 往往也是短視近利的泡沫。 > 我認為真正做學問的態度,是在很自然的狀態下學習, > 或許也為了一個小小的目標,而且不必刻意去背, > 只要能再需要知識派上用場的時候,能夠快速索引到需要的資料即可。 有些東西是可以等到要用時才去「快速檢索」, 但有些東西可不是所謂的「等到要用時才去『快速檢索』」即可成事; 否則一些 open book 的考試, 怎麼反而更讓準備考試的人心驚膽跳? 有些東西, 重點是「心法的養成」。 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- ≡ 何陋居 ≡ 雋永難忘的事總落在願聽任其發生的人身上。 Jeffrey A. Kottler, 《旅行,重新打造自己》 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- * Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>