Re: [討論] BASIC作為入門編程語言的價值
※ 引述《zanyking (遙遠的旅人)》之銘言:
: 有人說:『不懂OO,你開發不出夠複雜的應用系統。』
對這句總有些不理解. 因為根據個人經驗,學Java的確在OO方面都學過了,
但是常有人互問:"你懂不懂OO?"
那怎樣該叫做懂OO了,這我真不懂.
然後我看了 "Coders at Work" 這本訪談集,直接看了 Joe Armstrong 那一段.
(目前 Armstrong 對我來說算是神了,僅次於 Knuth 跟 von Neumann.)
他談到,就是OO派的語言,反而讓人不容易重用東西.
例如,如果你想要香蕉,OO是給你一整座森林以及一隻猩猩抓了一根香蕉給你.
反而像函數語言是一個小動作,一個小函數,就讓你得到一根香蕉.
然後他說,所謂 reusability, 以Erlang來說,可以把一段程式直接複製貼上,
就做到程式碼重覆使用了.
但是像Java呢,要修改元件或加入一些新東西,就要去看元件內許多變數和物件的狀態.
這段話,我仔細想想,嗯,對耶,現有的OO二大派系.net跟Java,是不是給人太多東西了?
有人OO了半天,卻是只在寫程式的過程中做一番自我琢磨,想東想西的舉動,
程式的結果沒差多少. reusing frequency 沒差多少.
但是,這樣的效果就是,很多人都會執著於 "某某語言支援不支援OO" 這樣問題.
不過,我想OO是個精神與執行方式,想懂OO可以讀Design Patterns,可以讀OO Theory,
但不必區別什麼語言是OO而什麼語言不是OO.
另外,可特別提的是,不是特地挑了某一類語言之後,別的東西就可以不用了.
以 Joe Armstrong 本人為例,1950年代開始在大學寫打孔卡片程式,
那卡片是一遇到錯誤就停下來,之後的程式不會讀下去.
當時他可是練到可以打了卡片餵進機器,就直接輸出成果.
而程式語言只有 Fortran 可用,沒別的選擇.
而且,他幫人debug很多程式,並注意到為什麼有人會寫一些比較不好的寫法.
因為這一些早年的經驗,他就有Erlang那種程式設計方式的哲學.
反觀現在許多人是以程式語言特徵與經驗介定他對天下百類千類的認知,
這想法是狹礙的.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.231.64.46
※ 編輯: yauhh 來自: 61.231.64.46 (03/12 05:43)
→
03/12 07:07, , 1F
03/12 07:07, 1F
→
03/12 07:08, , 2F
03/12 07:08, 2F
→
03/12 07:09, , 3F
03/12 07:09, 3F
→
03/12 07:11, , 4F
03/12 07:11, 4F
→
03/12 07:12, , 5F
03/12 07:12, 5F
推
03/12 07:16, , 6F
03/12 07:16, 6F
→
03/12 07:17, , 7F
03/12 07:17, 7F
→
03/12 07:19, , 8F
03/12 07:19, 8F
→
03/12 07:21, , 9F
03/12 07:21, 9F
→
03/12 07:22, , 10F
03/12 07:22, 10F
→
03/12 07:40, , 11F
03/12 07:40, 11F
→
03/12 07:41, , 12F
03/12 07:41, 12F
→
03/12 07:55, , 13F
03/12 07:55, 13F
→
03/12 07:56, , 14F
03/12 07:56, 14F
→
03/12 07:57, , 15F
03/12 07:57, 15F
→
03/12 07:58, , 16F
03/12 07:58, 16F
→
03/12 07:59, , 17F
03/12 07:59, 17F
→
03/12 08:00, , 18F
03/12 08:00, 18F
→
03/12 08:00, , 19F
03/12 08:00, 19F
→
03/12 08:10, , 20F
03/12 08:10, 20F
→
03/12 08:11, , 21F
03/12 08:11, 21F
→
03/12 08:12, , 22F
03/12 08:12, 22F
→
03/12 08:12, , 23F
03/12 08:12, 23F
→
03/12 08:13, , 24F
03/12 08:13, 24F
→
03/12 08:14, , 25F
03/12 08:14, 25F
→
03/12 08:14, , 26F
03/12 08:14, 26F
→
03/12 08:15, , 27F
03/12 08:15, 27F
→
03/12 08:16, , 28F
03/12 08:16, 28F
→
03/12 08:16, , 29F
03/12 08:16, 29F
推
03/12 08:51, , 30F
03/12 08:51, 30F
→
03/12 08:52, , 31F
03/12 08:52, 31F
→
03/12 08:53, , 32F
03/12 08:53, 32F
→
03/12 09:02, , 33F
03/12 09:02, 33F
推
03/12 09:22, , 34F
03/12 09:22, 34F
→
03/12 09:29, , 35F
03/12 09:29, 35F
→
03/12 09:29, , 36F
03/12 09:29, 36F
→
03/12 09:29, , 37F
03/12 09:29, 37F
→
03/12 09:30, , 38F
03/12 09:30, 38F
→
03/12 09:30, , 39F
03/12 09:30, 39F
→
03/12 10:05, , 40F
03/12 10:05, 40F
討論串 (同標題文章)