※ 引述《acheron.bbs@bbs.cs.nthu.edu.tw (Seraph)》之銘言:
: > 往往只是像個 有 member function 的 struct 罷了
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: 附議,我就常看到很多不是C++的C++程式,真是可嘆!
我也是喜歡寫不像C++的C++程式,姑且不論
一個程式怎樣才算C++,但是用C++的編譯器,
我只喜歡他某些方面的優點,比方註解方式,
變數的宣告等等,實際上我是用C來寫,
這樣也沒什麼不好。 在一月份的遊戲設計大師
有看到一篇文章,裡面的作者講得很得我心,
他說後來決定還是回去用C,這樣或許少了許多
語法的支援,比方虛擬函示等等,但是卻也
讓他覺得更順手。
: > 沒有真正發揮了 oo 應有的 power
: 是不一定得發揮 OO 的 power,但是C++不像C++就是覺得很奇怪!
: 而且,在多年變革後的C++,我認為它早就不是所謂的 C 的超集合了,
: 把它看作是另一種語言,才不會有那種必須先學 C,再學 C++ 的怪論調。
: 學起來,才會自然!
是呀,C++的語法確實不能視為C的超集了。
所以要學好C++,從入門到真正能不覺得
窒礙難行地寫出具有OO精神的程式,我估計這時間不會太短,
其中或許還參考過各家門派的書籍,與C++某些語法搏鬥
過不少地時間。換算下來,值得嗎? 如果肯思考這問題,
你就會認為,不是每個人都需要C++的,即使多數人喊出來
的看法是,C++才是貴族。
至於有些人整天OOP喊不停,大家要注意到的是,他所從事
的工作,以程式設計者來說,我是完全把語言當成一種工具
看待。但是一個教育者會比較傾像學術氣息,至於實用
方面,則擺在較後面的層次。
又許多人腦海中的觀念是:學會「程式設計」,就可以寫出
心中想要的程式,在還沒有經驗的時候,我也是這樣
的想法。當你費盡九牛二虎之力才學會某一種語言,
最可悲的事情就是派不上用場,你不知道要寫些什麼,
而學習過程中那些狂熱的心態,只能淪為經驗值的獲取。
事實上不論一個人語言功力多強,並沒有辦法幫助他
獲取更好的IDEA來實作,不是嗎?
這封信給所有的網友。
至於為什麼突然間想到這些話,實在是前些時候在BOOK
版看到一些事情,不說又感到難過。
我的主要論點是,人的時間是有限的,書卻無窮無盡,
這期間我們需要做個徹底的取捨。而不是一時興起就抱頭猛鑽,
甚至還鑽錯方向。
前些日子一位網友剛參加完程式設計的比賽,當然名次
不怎麼好,寫信來問我,一個文組(他也是文組的)的同學該怎麼把
程式設計學好?
這個問題很難回答,以程式設計來說,不用刻意學,因為
他真的只是一個工具。當然我知道他問的是要怎麼
提昇程式設計比賽的功力,這一個問題我知道自己沒辦法
幫助他,因為這種比賽性質跟考聯考一樣,都是要熟練提型,
熟練再熟練,別安慰自己說,靠我的天分我就是要得名。
這跟數學也沒什麼兩樣,就是熟練,熟練,再熟練。
所以與其把得失心放在這種事情,倒不如學點自己
有興趣的東西。 而瞭解這種東西的性質,就看開點就好了。
我認為真正做學問的態度,是在很自然的狀態下學習,
或許也為了一個小小的目標,而且不必刻意去背,
只要能再需要知識派上用場的時候,能夠快速索引到需要的資料即可。
넊
--
※ Origin: 程式設計樂園 ◆ From: tsb28.thu.edu.tw