精華區beta Ruby 關於我們 聯絡資訊
這裡有一篇 Ruby , Python , Perl 中心思想比較 http://lightyror.blogspot.com/2006/09/rubypythonperl.html 寫的不好,請給予指教,我提出 Ruby 的部份 Ruby 的作者在接受訪問的時候提到 Often people, especially computer engineers, focus on the machines. They think, "By doing this, the machine will run faster. By doing this, the machine will run more effectively. By doing this, the machine will something something something." They are focusing on machines. But in fact we need to focus on humans, on how humans care about doing programming or operating the application of the machines. We are the masters. They are the slaves. 代表的意思是人們寫程式時不應該選擇了解機器做啥事情,以及怎麼做機器比較有效率 而應該考慮到 "人" 怎麼去想 人是比機器更高級的東西,應該要去思考該思考的東西 而不是將時間花在記憶體配置的問題上面 並且 Ruby 採用 the principle of least surprise (POLS),代表我們應該用機器應該 照人們的意思去做,而不是機器常常給人 Surprise !!! People are the masters. Machine are the slaves. 這就是Ruby最主要的中心思想,一切以人為本,方便人們思考為最重要的方向。 有些人形容讀 Ruby 就跟讀詩一樣,有些人覺得Ruby的文法很像英文 這些都是因為這個中心思想的原因。 但是 Ruby 很重視 Perl 的 There is more than one way to do it. 的觀念 (因為人本來就是喜歡多變化的,這也是符合以人為本的中心思想) 所以他也提供許多不同的文法選擇。 我是 Perl 出身的,很喜歡 Perl 的想法,但是我卻對 Perl 的 write-only 感到很麻煩 。後來投身 Ruby ,對Ruby的以人為本想法感到相當的疑惑,真的有那麼神奇嗎?後來漸 漸的發覺,我寫出來的code擁有簡單的結構,但是產生的效率跟可讀性非常的棒。並且 Ruby API 可以用猜的就猜出他的規律,不像 JAVA 還要 Documention 放在旁邊 =_= 。 漸漸的,我好像稍微可以掌握 The Ruby Way ... -- lighty RoR 是一個介紹 lighttpd , SQLite , Ruby and Rails 的 Blog http://lightyror.blogspot.com/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.230.109.202 ※ 編輯: giive 來自: 61.230.109.202 (09/05 18:55) > -------------------------------------------------------------------------- < 作者: ogamenewbie (._.) 看板: Ruby 標題: Re: [Ruby] Ruby 的中心思想 時間: Wed Sep 6 06:05:12 2006 ※ 引述《giive (lala)》之銘言: : 這裡有一篇 Ruby , Python , Perl 中心思想比較 : http://lightyror.blogspot.com/2006/09/rubypythonperl.html : 寫的不好,請給予指教,我提出 Ruby 的部份 : Ruby 的作者在接受訪問的時候提到 : Often people, especially computer engineers, focus on the machines. : They think, "By doing this, the machine will run faster. By doing this, : the machine will run more effectively. By doing this, the machine will : something something something." They are focusing on machines. But in : fact we need to focus on humans, on how humans care about doing : programming or operating the application of the machines. : We are the masters. They are the slaves. (恕刪) 人,尤其是電腦工程師們,時常著重機器。 他們想著 "這樣做,機器可以跑更快。 這樣做,機器會更有效率。 這樣做,機器會巴拉巴拉。" 他們著重機器。 但是,實際上,我們應該著重人。 著重人類所關心的程式編寫或運作。 (這一句我翻的特別不好) 我們才是主人,他們 (機器) 只是奴僕。 ... 人,尤其是廚師,時常著重食材。 他們想著 "這樣做,食材能散發更加濃郁的香味。 這樣做,食材能帶出更有彈性的咬勁。 這樣做,食材能巴拉巴拉巴拉巴拉巴。" 他們著重食材。 但是,實際上,我們應該著重人。 著重人類所關心的"餐桌禮儀"跟"晚宴交流"。 我們是食客,他們 (食材) 只是食物罷了。 -- 現在的人類,究竟是為了開會才聚眾吃晚餐,還是為了吃晚餐才聚眾開會? 我們現在也不需要知道什麼米配什麼水用什麼東西會煮成什麼樣了。 打開電鍋,買來的米丟進去,自來水到進去,按下炊煮。 我們現在也不需要知道什麼肉要用什麼煮多久淋什麼醬了。 便利商店,快煮包,加熱,打開,倒出。 我們現在也不需要拿什麼棍子趕什麼麵皮了, 拿什麼粽葉包什麼糯米了,煮什麼菜色拼什麼便當了。 我們只要知道現在ATM會吐鈔票, 便利商店拿的到水餃、義大利麵、粽子、或便當。 我們現在也不用知道當初多少東西跑不起來,電腦效能差到什麼地步, 是歷經多少人一直開發改進至今讓機器能動的。 反正我們現在只要考慮程式的結果,考慮軟體的運作就好了。 真是悲哀阿。 -- 不過其實我不是廚師,也不是電腦工程師,我也沒什麼好悲哀的。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.25.148.49 > -------------------------------------------------------------------------- < 作者: Schelfaniel (Test) 看板: Ruby 標題: Re: [Ruby] Ruby 的中心思想 時間: Wed Sep 6 10:37:51 2006 ※ 引述《giive (lala)》之銘言: : 我是 Perl 出身的,很喜歡 Perl 的想法,但是我卻對 Perl 的 write-only 感到很麻煩 : 。後來投身 Ruby ,對Ruby的以人為本想法感到相當的疑惑,真的有那麼神奇嗎?後來漸 : 漸的發覺,我寫出來的code擁有簡單的結構,但是產生的效率跟可讀性非常的棒。並且 : Ruby API 可以用猜的就猜出他的規律,不像 JAVA 還要 Documention 放在旁邊 =_= 。 : 漸漸的,我好像稍微可以掌握 The Ruby Way ... 我雖然之前也寫過 Perl, 但是我應該不算是 Perl 出身啦... 尤其是看 Perl 程式看得往往很累人...:QQ 後來走 Java, C# 之後又回來看 Ruby, 當時是 OO 為主.... 覺得 Ruby 的算是蠻容易理解的, 實際 Ruby 很好上手... 目前有人要我推薦"第一個學習的程式語言", 我都會推薦 Ruby... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.220.34.34 > -------------------------------------------------------------------------- < 作者: godfat (godfat 真常) 看板: Ruby 標題: Re: [Ruby] Ruby 的中心思想 時間: Wed Sep 6 15:27:40 2006 ※ 引述《ogamenewbie (._.)》之銘言: : 反正我們現在只要考慮程式的結果,考慮軟體的運作就好了。 : : 真是悲哀阿。 我覺得,這可以說是不同層次、不同領域甚至是不同世界的事 記得之前看 Joel on Software 的架構太空人 http://local.joelonsoftware.com/mediawiki/index.php/ The_Joel_on_Software_Translation_Project:架構太空人 縮:http://0rz.net/131Mn 我覺得他的問題在於,眼裡只容得下「直接」跟自己有關的事 也許他這篇文章的目標族群就是完全跟他一樣的人 我不知道,如果是這樣的話,ok, 我不介意他這樣寫 但如果不是的話,我覺得他這樣的思維就大大有問題, 因為他忽視了-如同你所說的-為什麼今天我們可以只關切這些問題, 這些直接跟人有關的問題。 正是因為有人在研究這些「乍看」之下沒有用處的議題, 我們今天才會找到「他」其實是有用的,甚至非常有用; 或者他是所有無用所堆積出來的有用,見樹無用,見林則有用了 怎麼可以因為這些東西「乍看」無用,就否定他們的價值呢? Matz 說得不錯,但有一個假設前提,就是你的身份必須是使用高階語言, 甚至是越高階越好的語言,這種狀況下才成立。 當然,以現況來說需要去研究底層的人很少,但不代表這一區塊是無用的, 錯誤的,方向不對的。他們是有他們的價值在,甚至是比高階語言的價值更高 因為踏入那個領域的門檻極高(沒有成為接近最強,就會被淘汰), 而且要讓我們不只是原地踏步,需要的正是他們 所以,找到自己想走的路,就走下去不要想有很多路都沒有走到 因為人不是章魚,沒有那麼多腳可以同時走那麼多路(?) 會有其他人幫你走完的… XD -- Hear me exalted spirits. Hear me, be you gods or devils, ye who hold dominion here: I am a wizard without a home. I am a wonderer seeking refuge. Sacrifice -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.28.18 ※ 編輯: godfat 來自: 220.135.28.18 (09/06 15:31)
Schelfaniel:章魚有多隻腳但也只能走同一條路呀 :QQ 09/06 15:53
ogamenewbie:其實章魚比較喜歡鑽進一個洞裡面... 09/07 00:17
> -------------------------------------------------------------------------- < 作者: giive (lala) 看板: Ruby 標題: Re: [Ruby] Ruby 的中心思想 時間: Wed Sep 6 15:02:08 2006 ※ 引述《ogamenewbie (._.)》之銘言: [恕刪] : : 反正我們現在只要考慮程式的結果,考慮軟體的運作就好了。 : : 真是悲哀阿。 : 請不要覺得悲哀 舉我當作例子,我上班很忙,所以通常沒時間煮菜 只好去餐館或是便利商店料理我的三餐 對我來說 便利商店食物對我來說方便多了 雖然三餐老是在外,人人叫我老外 我有時候會希望吃些好吃的食材 像是松版牛肉之類的 遇到那個時候,那我會到燒肉店去吃 那裡的廚師會挑選好吃的松版牛肉給我吃 而我,想吃到松板牛肉 也不必變成一個好廚師 而這個世界,不是每個人都希望當廚師 傳說中的廚具雖然很棒,不過交給小當家就好了 XD 有一篇文章 " 如何成為好駭客 " 裡面提到身為一個好駭客 需要懂得五種語言 LISP , Python , JAVA , Perl , C (我不確定誰比較高階XD) 駭客與畫家作者對於這個建議非常的贊成 因為五個語言各自有不同的思考觀念 卻又剛好坐落在高階到低階的五個位置 我的看法也很類似 身為一個好程式設計師 必須從高階到低階都有涉獵 Ruby 是一個好語言,因為他的中心思想就是往高階語言邁進 而他也做一個很稱職的高階語言 如果您覺得食材的挑選很重要,請不需要覺得悲哀 您可以致力成為一個好廚師 如果你覺得了解機器內部怎麼運作很重要 您可以挑選一個很好的低階語言,像是 C 之類的 並且致力成為一個了解機器運作的專家 至於我,我還是當一個精通高階語言的專家吧 XD 所以 Ruby 交給我學吧 :) -- lighty RoR 是一個介紹 lighttpd , SQLite , Ruby and Rails 的 Blog http://lightyror.blogspot.com/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.218.90.242
qrtt1:qrtt1推薦這篇文章 09/06 15:08
※ 編輯: giive 來自: 61.218.90.242 (09/06 15:11) ※ 編輯: giive 來自: 61.218.90.242 (09/06 15:16) ※ 編輯: giive 來自: 61.218.90.242 (09/06 15:55)
omusico:推薦 09/07 23:07
> -------------------------------------------------------------------------- < 作者: Schelfaniel (Test) 看板: Ruby 標題: Re: [Ruby] Ruby 的中心思想 時間: Wed Sep 6 15:42:56 2006 ※ 引述《giive (lala)》之銘言: : 需要懂得五種語言 : 高階 中階 低階 : LISP -> Python , JAVA , Perl -> C Lisp 算高階語言呀?? 我是覺得不太算很高階的語言說.... 就速度來說 Lisp 超過 Script Language, 應該更低階一點... 就容易撰寫來說...Script Language 比較好寫.... 感覺上不是很高階 @_@ 以下為回 PttHuge 的 : CL-USER> (remove 1 (append '(1) '(2 3 4 5))) (2 3 4 5) 不過 append 和 remove 沒有對稱有點難看?? 就加一個巨集吧...( 我覺得這邊應該不用函式 ) (defmacro add (a b) `(append (list ,a) ,b)) 像這樣 CL-USER> (remove 1 (add 1 '(2 3 4 5))) (2 3 4 5) 用不同的數值試試 CL-USER> (remove 2 (add 6 '(2 3 4 5))) (6 3 4 5) 如果你希望 add 是加在後面, 要改一下巨集 (defmacro add (a b) `(append ,b (list ,a))) 像這樣簡單的 Lisp 我還 Okay @_@ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.220.34.34
giive:我沒寫過 LISP ,所以一直以為 LISP 是個很神奇的高階語言 09/06 15:44
Schelfaniel:其實也沒什咩神奇啦, 只要看到有一堆括號就是LISP了:Q 09/06 15:52
PttHuge:(remove (add a)) ? 09/06 16:03
※ 編輯: Schelfaniel 來自: 61.220.34.34 (09/06 16:24) > -------------------------------------------------------------------------- < 作者: Schelfaniel (Test) 看板: Ruby 標題: Re: [Ruby] Ruby 的中心思想 時間: Wed Sep 6 15:55:25 2006 ※ 引述《giive (lala)》之銘言: : Ruby 是一個好語言,因為他的中心思想就是往高階語言邁進 : 而他也做一個很稱職的高階語言 : 如果您覺得食材的挑選很重要,請不需要覺得悲哀 : 您可以致力成為一個好廚師 : 如果你覺得了解機器內部怎麼運作很重要 : 您可以挑選一個很好的低階語言,像是 C 之類的 : 並且致力成為一個了解機器運作的專家 : 至於我,我還是當一個精通高階語言的專家吧 XD : 所以 Ruby 交給我學吧 :) Ruby 有一個很強的地方在於擴充容易... Ruby 比 Python, Perl 這些容易擴充...... 一般寫 Ruby 的概念是...如果速度不行... 就找出瓶頸, 瓶頸用 C 改寫 @_@ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.220.34.34 > -------------------------------------------------------------------------- < 作者: WanCW (旺小王) 看板: Ruby 標題: Re: [Ruby] Ruby 的中心思想 時間: Wed Sep 6 17:17:02 2006 ※ 引述《Schelfaniel (Test)》之銘言: : Ruby 有一個很強的地方在於擴充容易... : Ruby 比 Python, Perl 這些容易擴充...... : 一般寫 Ruby 的概念是...如果速度不行... : 就找出瓶頸, 瓶頸用 C 改寫 @_@ Python, Perl 以及許多 script language 都可以用 C 作擴充呀 還是 Ruby 的擴充方式有過人之處? @@ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.124.182.108
Schelfaniel:我沒比較過, 但是之前看國外文章是說擴充比較好寫@@ 09/06 17:48
> -------------------------------------------------------------------------- < 作者: ogamenewbie (._.) 看板: Ruby 標題: Re: [Ruby] Ruby 的中心思想 時間: Thu Sep 7 00:15:21 2006 其實我只是因為他前面廣泛性的把"電腦工程師"一竿子打了進去, 然後又很不負責的把橋樑另外一端的世界直接抹銷, 連橋都拆的一乾二淨. 當然這也可能是我沒有完全讀懂他的意思, 我自己有誤解而已. 我並沒有要求到說, 一個電腦工程師要能夠看電路圖悍電路, 或者是知道什麼東西是什麼製程, 哪塊板子老是出問題. 或者是 sata 跟 IDE 跟 SCSI 有什麼不一樣... 我只有要求說, 起碼螢幕是輸出, 鍵盤是輸入, 硬碟是儲存裝置...etc 就好像你起碼要知道你是在跟"燒肉店廚師"要"松阪牛肉"吧? 你不需要知道牛肉油脂量, 不需要知道那塊牛肉是從哪個部位切下來的, 不需要知道那頭牛哪個國籍的, 住在什麼地方, 有幾個兄弟姐妹, 不需要知道那頭牛吃哪邊的草, 那邊的草用什麼肥料, 灑什麼藥劑...etc 起碼你要知道你拿來用的東西是幹麻用的, 能用到什麼地步, 到不了什麼地步. 而不是把自己僅僅圈在自己的領域核心, 把跟其他領域的連接橋樑都打斷斷. 說那是別人該去跟我接, 我自己都不用去管那些. 當然閣下並不是我上段提到的那種人, 請不用太多心. 我只是稍微把那段文字覺得有問題挑出來而已. 也就是, 我只是在雞蛋挑骨頭這樣. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.25.148.49 > -------------------------------------------------------------------------- < 作者: Schelfaniel (Test) 看板: Ruby 標題: Re: [Ruby] Ruby 的中心思想 時間: Thu Sep 7 00:34:04 2006 ※ 引述《ogamenewbie (._.)》之銘言: : 就好像你起碼要知道你是在跟"燒肉店廚師"要"松阪牛肉"吧? : 你不需要知道牛肉油脂量, 不需要知道那塊牛肉是從哪個部位切下來的, : 不需要知道那頭牛哪個國籍的, 住在什麼地方, 有幾個兄弟姐妹, : 不需要知道那頭牛吃哪邊的草, 那邊的草用什麼肥料, 灑什麼藥劑...etc : 起碼你要知道你拿來用的東西是幹麻用的, 能用到什麼地步, 到不了什麼地步. 我聯想能力比較差一點... 實在想不出來松阪牛肉和程式設計師有什麼關係 @_@ ( 不過好像舉例是之前就有舉一堆食材的了 @@ ) 基本上我在選語言時, 首先先看你有沒有決策能力, 如果對方(老闆呀, 客戶呀, 教授呀等等) 定死了...那就沒辦法了... 如果是有決策能力的話, 那就...看情形囉... 看看是要效率好, 還是好寫...還是不管它用一個剛好最近在練習的程式... 當然如果不是個人用的程式, 團體案子還是挑穩一點的... (穩一點的可能每個人解讀不同啦, 不過這邊就暫不討論) 像 Ruby 來說, 我有實際案子使用 JRuby 當 Embedded Language... 也有用過 Ruby 開發輔助案子的程式 (不是主要的產出)... 不過如果要用 RoR 開發的話, 要說服客戶就難了一點了 @_@ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 221.169.205.162 ※ 編輯: Schelfaniel 來自: 221.169.205.162 (09/07 00:37) > -------------------------------------------------------------------------- < 作者: PsMonkey (痞子軍團團長) 看板: Ruby 標題: Re: [Ruby] Ruby 的中心思想 時間: Thu Sep 7 11:01:36 2006 之前我有虎爛過這種想法: 我常常會有種錯覺,很多制度架構機制... 是設計給笨蛋用的 來 Ruby 版講這句話可能會被圍毆 不過,說實在的... Ruby 現在還算是處於小眾市場 既然人數少,不明所以 or 問作業的人也就少出現? 像 Java 版上很多問 JSP 問題的人 其實根本不是在問 JSP 的專有問題,而是在問 Java 問題 更不用說用 Dreamweaver(或 JBuilder)起家「學」寫程式的 簡直是討論區重要的恐怖客源 XD 我常常就在想... 很多程式設計師在做的事情 是不是就是讓程式設計師的價值越亦降低? 有時候看那些恐怖客源問的問題 會懷疑是他們不夠認真,還是那些軟體寫的不夠好? 如果有一天,寫程式就像寫作文一樣 (我之前用過一個叫做 StarLogo 的語言,真的就還蠻像的) 那麼... 程式設計師好像就不存在了 (或著說,只要有心... 人人都可以是...) 當然,邁向這種天下無賊... ㄜ... 我是說天下無程式設計師 這種世界好像也挺不錯的... 但就是無聊了點 沒有 PR 專屬的惡趣味,CompScience 群組瞬間少掉 2/3 版面.... 扯遠了 這個 thread,開頭是 Ruby 設計時是以人為本 然後有人提到推薦別人用 Ruby 當第一個學習的語言 還有從 Ruby 談到松版牛肉(這招真是高阿...) 我倒是覺得... 如果現在還不是天下無賊的環境 那麼... 我們還是把 Ruby 拿來用,然後說他很好用 這樣子就好了 遇到有志在 Computer Science 打滾的人 (如果只是想寫過程式,那是另話) 雖然可以告訴他 Ruby 這個好物 但是還是告訴他從低階一點的語言開始寫起 畢竟,由奢入儉難... 這句話還是通用的 ==== 奇怪... 兩個版主都不在自己的版上 po 文章... [指] 而且其中一個連 Ruby 都沒用過... [逃] -- 侃侃長論鮮窒礙 網站:http://www.psmonkey.idv.tw 眾目睽睽無心顫 個人版:telnet://legend.twbbs.org 煢居少聊常人事 殺頭容易告白難 歡迎參觀 Java 版(@ptt.cc)精華區 \囧/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.32.86.183
qrtt1:沒用過 +1 09/07 13:58
ogamenewbie:沒用過 +1 09/07 14:30
PsMonkey:沒用過 +1 [跑到別人家玩推文... 逃] 09/07 17:08
godfat:用過 +1 XD 或"者"、松"阪" XD 另推"由奢入儉難" 09/07 23:19
> -------------------------------------------------------------------------- < 作者: giive (lala) 看板: Ruby 標題: Re: [Ruby] Ruby 的中心思想 時間: Thu Sep 7 11:19:29 2006 ※ 引述《ogamenewbie (._.)》之銘言: : 其實我只是因為他前面廣泛性的把"電腦工程師"一竿子打了進去, : 然後又很不負責的把橋樑另外一端的世界直接抹銷, 連橋都拆的一乾二淨. 有嗎? Ruby 的中心思想只是提出高階語言的重要性不是嗎? 提出重視高階語言思想 , 但是並沒有貶低低階語言的思想 [恕刪] : 起碼你要知道你拿來用的東西是幹麻用的, 能用到什麼地步, 到不了什麼地步. : 而不是把自己僅僅圈在自己的領域核心, 把跟其他領域的連接橋樑都打斷斷. : 說那是別人該去跟我接, 我自己都不用去管那些. 我好像沒有說過 " 僅僅圈在自己的領域核心 " 類似的話 @@! : 當然閣下並不是我上段提到的那種人, 請不用太多心. : 我只是稍微把那段文字覺得有問題挑出來而已. : 也就是, 我只是在雞蛋挑骨頭這樣. 如果您挑出的是莫須有的骨頭 請恕我不能接受 我開頭這一篇 僅正面的提倡高階語言的重要性 , 但絕無任何負面性的字眼攻擊低階語言 我想您想太多了 , 反應也過於激烈了一點 @@! -- 這篇以後 , 本系列文章本人從此不做任何回應 版主如果認為我發言有違反版規 , 歡迎刪除 -- lighty RoR 是一個介紹 lighttpd , SQLite , Ruby and Rails 的 Blog http://lightyror.blogspot.com/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.230.110.159
godfat:不會違反板規,不過抱歉我也不知道該說啥 class variable 09/07 23:22
Schelfaniel:class variable?? 09/08 09:09
poga: = @@ 09/11 02:08
> -------------------------------------------------------------------------- < 作者: ihower (好2ˇ) 看板: Ruby 標題: Re: [Ruby] Ruby 的中心思想 時間: Thu Sep 7 12:04:04 2006 ※ 引述《PsMonkey (痞子軍團團長)》之銘言: : 之前我有虎爛過這種想法: : 我常常會有種錯覺,很多制度架構機制... 是設計給笨蛋用的 : 我常常就在想... : 很多程式設計師在做的事情 : 是不是就是讓程式設計師的價值越亦降低? : 有時候看那些恐怖客源問的問題 : 會懷疑是他們不夠認真,還是那些軟體寫的不夠好? : 如果有一天,寫程式就像寫作文一樣 : (我之前用過一個叫做 StarLogo 的語言,真的就還蠻像的) : 那麼... 程式設計師好像就不存在了 : (或著說,只要有心... 人人都可以是...) : 當然,邁向這種天下無賊... ㄜ... 我是說天下無程式設計師 有沒有聽過 Joel 的抽象滲漏法則: “所有重大的抽象機制在某種程式上都是有漏洞的。 下雨天時開車沒辦法開得和平常一樣快,雖然車上有擋風玻璃雨刷有頭燈有車頂 還有暖氣,這些裝備應該是讓你可以忽略下雨這個事實(他們把天氣抽象化了), 不過看吧,你還是得擔心天雨路滑,有時候雨甚至會大到你看不遠, 所以在只好慢慢地開,因為天氣永遠不能完全被抽象化,因為抽象滲漏法則。 ꘠而唯一能適當處理漏洞的方法,就是弄懂該抽象原理以及所隱藏的東西。 所以抽象機制雖然替我們節省了工作的時間,不過學習的時間是省不掉的。 而這一切都似非而是地表示,即使我們擁有愈來愈高階的程式設計工具, 抽象化也做得愈來愈好,要成為一個純熟的程式師卻是愈來愈難了。” “有漏洞的抽象表示我們面對一個直線上升的學習曲線: 你可以用一星期學到每天工作所需知識的90%。不過其他10%可能得要好幾年 才能補齊。有些人會說:「不管你要我做什麼,我都可以拿本書來就學會了。」 真正有經驗的程式師超越這種人的地方就在這裡。如果你正在建立一個團隊, 當然可以找一堆經驗較少的程式師用抽象工具製作出一大堆程式碼, 不過如果少了經驗老到的人去做真正困難的事情,這個團隊是做不起來的。” 以上摘要自 http://local.joelonsoftware.com/mediawiki/index.php 的 The Law of Leaky Abstractions 和 Lord Palmerston on Programming 兩篇 -- 不擔心程式設計師的飯碗會沒有呢~ :D -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.230.211.12 > -------------------------------------------------------------------------- < 作者: Schelfaniel (Test) 看板: Ruby 標題: Re: [Ruby] Ruby 的中心思想 時間: Thu Sep 7 12:06:49 2006 ※ 引述《PsMonkey (痞子軍團團長)》之銘言: : 之前我有虎爛過這種想法: : 我常常會有種錯覺,很多制度架構機制... 是設計給笨蛋用的 是的 @_@ ( 並不是每一個人都必須鑽研 Computer Science 非常深入 很多人只是想讓電腦做一些簡單的事情罷了 ) StarLogo 呀...Logo 系語言幾乎大多是由 Lisp 系語言演變來的... 語法及概念可以說是相當接近吧 @_@ Ruby 建議第一個語言, 確實是因為它比較好上手... 要讓人學習程式, 還是先容簡單的學起較好... 循序漸進, 比較適合一般人的學習方式... 一開始先學難的, 我覺得適合的人比較少, 很多人中途容易會放棄, 除非, 他有非學不可的理由 (如工作需要, 學業需要) 不然程式當興趣(Ruby 語言的作者的說法), 學 Ruby 入門倒是不錯... 我覺得讓程式設計師價值降低的, 不是這些好用的語言 語言再好用, 程式設計師還是一行一行 Code 的... 而是一些元件, 一些輔助編輯器, 甚至google查詢網頁... 這些東西讓一些很需要技術的地方, 瞬間就變成可以直接"用別人的了" 好處是讓時代進步, 但是缺點是程式設計師愈來愈累(需要知道的東西愈來愈多) 另一方面真正自己處理技術的方面又變得更難了(如果沒有很鑽研, 都有別人直接抓可以拿到更容易用的), 也就是說...有問題的並不是語言本身 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.220.34.34 > -------------------------------------------------------------------------- < 作者: ogamenewbie (._.) 看板: Ruby 標題: Re: [Ruby] Ruby 的中心思想 時間: Thu Sep 7 14:44:47 2006 ※ 引述《giive (lala)》之銘言: [恕刪] : 如果您挑出的是莫須有的骨頭 : 請恕我不能接受 : 我開頭這一篇 : 僅正面的提倡高階語言的重要性 , 但絕無任何負面性的字眼攻擊低階語言 : 我想您想太多了 , 反應也過於激烈了一點 @@! 我從頭到尾都是對那段原文有意見而已. 原文給我的感覺就是"那個不重要, 別管他". 我並沒有要反駁您的論點. 事實上, 我覺得你說的很棒. 也沒有說您的文章有任何負面性的字眼來攻擊低階語言. 我想您想太多了, 反應也過於激烈了一點 @@a -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.25.148.49 > -------------------------------------------------------------------------- < 作者: Schelfaniel (Test) 看板: Ruby 標題: Re: [Ruby] Ruby 的中心思想 時間: Thu Sep 7 15:31:57 2006 ※ 引述《ogamenewbie (._.)》之銘言: : 我從頭到尾都是對那段原文有意見而已. : 原文給我的感覺就是"那個不重要, 別管他". : 我並沒有要反駁您的論點. 事實上, 我覺得你說的很棒. : 也沒有說您的文章有任何負面性的字眼來攻擊低階語言. : 我想您想太多了, 反應也過於激烈了一點 @@a 那段原文後來我又看了一下...其實有點盲點啦... 首先是不可能所有人都寫高階語言的啦... 當然那段話應該是主要是寫給 Ruby 的支持者, 也就是有在寫 Ruby 的人看的...這樣才能得到 Ruby 支持者的認同呀... Ruby 本身也是用 C 寫的呀... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.220.34.34 > -------------------------------------------------------------------------- < 作者: omusico (omusico) 看板: Ruby 標題: Re: [Ruby] Ruby 的中心思想 時間: Thu Sep 7 23:23:07 2006 ※ 引述《Schelfaniel (Test)》之銘言: 我覺得程式設計師的價值並不會變低 而是那些工具使一些比較基本的程式設計 讓許多人都學會了,而稀釋了它們的價值 所以會讓我們覺得價值變低了 但這也促使許多人往水平跟垂直的方向去 學習而更深入,沒有一直學習的人 當然會被別人追上摟!! 比較好上手的語言可以加強信心 不然一個寫了兩三頁的程式卻只列出hello world 這樣絕對很悶! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 222.250.106.144 > -------------------------------------------------------------------------- < 作者: godfat (godfat 真常) 看板: Ruby 標題: Re: [Ruby] Ruby 的中心思想 時間: Thu Sep 7 23:50:59 2006 ※ 引述《ihower (好2ˇ)》之銘言: : 所以抽象機制雖然替我們節省了工作的時間,不過學習的時間是省不掉的。 甚至學習時間是變長的,因為我們要處理的問題通常是越來越難(需求變高) 而在頂端的人也是越來越頂(要跟古人比知識嗎?) 但同時因為我們要處理的問題越來越難,所以對於一般人來說, 就算有越來越簡單的工具可以用,他真正想處理的問題還是沒辦法解決, 因為這個「問題」也變得越來越難解決…他還是需要真正的 programmer 幫他解決這個真正的「問題」 看起來好像很慘,不過這也代表我們的生活變得越來越便利…所以才會要求 變得越來越高 :Q 就像古人需要長途跋涉才能到達目的,而我們坐飛機幾乎 是哪裡都可以去了。我們的平均壽命也變得越來越長,產生越來越多社會問題… 最後結論是,我根本就在胡說八道 -_-b 總之 Ruby 被發明了,越來越多東西被發明了,這個大流程誰也無法阻止… 最後結果是生是死,端看我們怎麼去對付這些東西了 @_@ 不過在 Ruby 板,我們還是研究 Ruby 就好了,其他東西就抽象封裝給其他人 去幫我們解決吧 @_@ -- By Gamers, For Gamers - from the past Interplay -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.28.18 > -------------------------------------------------------------------------- < 作者: Schelfaniel (Test) 看板: Ruby 標題: Re: [Ruby] Ruby 的中心思想 時間: Fri Sep 8 09:09:39 2006 ※ 引述《omusico (omusico)》之銘言: : 我覺得程式設計師的價值並不會變低 : 而是那些工具使一些比較基本的程式設計 : 讓許多人都學會了,而稀釋了它們的價值 : 所以會讓我們覺得價值變低了 : 但這也促使許多人往水平跟垂直的方向去 : 學習而更深入,沒有一直學習的人 : 當然會被別人追上摟!! : 比較好上手的語言可以加強信心 : 不然一個寫了兩三頁的程式卻只列出hello world : 這樣絕對很悶! 以 Java 來說好了, Java 比 C++ 容易... 但是 Java 程式設計師真的會比較輕鬆嘛?? 答案是 : 不會 為什麼呢?? 一來是 Java 比 C++ 容易, 自然上手的人就比較多... 上手的人多競爭就多, 有時候如果不是為了興趣而學的話, 自然不希望競爭者太多.... 其次是, 因為容易撰寫了, 往往 難度 轉移到別的方面了... 因此 Java 這名詞王國, 變成 程式設計師 要碰一堆 Java 的名詞... 東西愈來愈多... 其實 程式設計師, 並不一定會比 C++ 的輕鬆 @_@ 而 Ruby 的出現 (其實之前查了一下語言的列表, Ruby 比 Java 早一點點) 我把 Ruby 定義成 "適合作為第一個語言" 但是不是唯一的語言 正因為它太容易上手, Ruby 程式設計如果要當正職是不太夠的 @_@ 我是不希望 Ruby 也變成另一個名詞王國就是了 :QQ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 221.169.205.162