Posted By Mr. Saturday

最近 PTT 的八卦版有一些人在吵一個很有趣的問題:「寫程式究竟需不需要懂數學?」問題一出現之後,正反意見立刻於板上展開廝殺,有些跨入業界的人主張數學不是那麼 重要,最重要的是主管要你的 code,你能準時交出來就好了。也有的人主張數學很重要,寫程式一定要懂數學。我的想法是,數學對於程式設計的發展有著非常重要的角色,然而是不是每個學習程式的人都需要去學習數學,或著是學到某個程度,就是見仁見智。你不懂數學,但是把工具和程式語言用得好,並且能夠展現出軟體工程的素養,你是一個軟 體業界需要的重要人才。你懂了數學,可以打造出更有效率的演算法,對於 Google 這種愛計較搜尋效率和結果的公司,你還是一個重要的人才。

學習,本身就是一件關乎深度以及廣度的事情,每個人從垂直面和水平面去延伸,修養到了何處,就決定了你自己的可替代性是如何。反映在寫程式這件事情 上,如果你只是會照著別人寫好的 API 去照著 call,除此之外什麼也不懂,連你自己也認為我只要把東西拼拼湊湊,能夠交代給上面主管就好,那你的可替代性就非常高,我可以找個工讀生輕易取代你的角色,這對於你個人來說是很危險的事情,因為你做的事情和心態太像生產線上面的事情,不需要太多的知識和學歷,任何人經過適當的訓練就可以勝任。我不主張每個要學程式的人都該去學數學,但是數學的確會讓你跟其他 coder 有些差異化,這種差異化會是這個競爭的知識時代中生存的關鍵。

所以,最重要的還是你在學習程式設計前,搞清楚自己對於自己想要的定位,如果你只是那種拿時新的工讀生,那麼艱深的數學真的可以免了。如果你想要當個與眾不同的工程師,那麼懂些數學,是絕對不會讓你吃虧的。

什麼?本文沒有八卦?那補上些小漫畫好了,相信寫程式的人絕對會會心一笑 (請點進去看全圖):

dilbert-coding coding-comic software-engineering-explained

 

喜歡這篇文章嗎? 給作者一點鼓勵吧!


  • flamerecca

    寫的真好@@

  • http://mmdays.wordpress.com/ Mr. Monday

    寫程式如果說不用數學,是在很少數的情況下你才不需要考慮到,像是建置網頁這種Case。然而在大部分的情況下你的程式需要考慮到效率,一但需要考慮到效率,也就牽扯到數學了。如果你的程式效率好,這就意味著吃的資源少,程式跑的快。如果你以為這件事情很不重要,那就大錯特錯了。你能夠忍受一個軟體,跑一跑就停在那邊喘息個好幾秒的軟體嗎? 我就看過好幾個這樣子的軟體,真是糟糕到不行,這完全是不尊重你的使用者,這樣子的程式如果可以拿來賣錢的話,那也只有一種可能,就是你的競爭對手太差。即使你的軟體在終端呈現上面不用直接面對使用者,像是server上的程式,如果你能夠注重一些效率的話,那可以為你省下不少錢,別人需要用10台Server來跑的程式,你用不同的方式實做,結果只需要用1台,這就是你的競爭優勢。
    總而言之,軟體產業是一個完全考腦袋的產業,就像Mr. Saturday說的一樣,如果你不提升自己的腦袋,那真不知道該怎麼去競爭了。

  • http://mmdays.wordpress.com/ Mr. Monday

    寫程式如果說不用數學,是在很少數的情況下你才不需要考慮到,像是建置網頁這種Case。然而在大部分的情況下你的程式需要考慮到效率,一但需要考慮到效率,也就牽扯到數學了。如果你的程式效率好,這就意味著吃的資源少,程式跑的快。如果你以為這件事情很不重要,那就大錯特錯了。你能夠忍受一個軟體,跑一跑就停在那邊喘息個好幾秒的軟體嗎? 我就看過好幾個這樣子的軟體,真是糟糕到不行,這完全是不尊重你的使用者,這樣子的程式如果可以拿來賣錢的話,那也只有一種可能,就是你的競爭對手太差。即使你的軟體在終端呈現上面不用直接面對使用者,像是server上的程式,如果你能夠注重一些效率的話,那可以為你省下不少錢,別人需要用10台Server來跑的程式,你用不同的方式實做,結果只需要用1台,這就是你的競爭優勢。
    總而言之,軟體產業是一個完全考腦袋的產業,就像Mr. Saturday說的一樣,如果你不提升自己的腦袋,那真不知道該怎麼去競爭了。

  • toni

    數學有許多不同面向,往往讓使用者深入其中而不自知。:D

  • toni

    數學有許多不同面向,往往讓使用者深入其中而不自知。:D

  • http://blog.onlyone.idv.tw 好手

    個人覺得說懂”數學”太過於籠統,就如toni所說的一樣,數學包含的領域非常的廣泛,若為了寫個好的系統去學”數學”,那花費的成本就太太太高昂了!!

    所以,與其說學好”數學”,不如說學好”資料結構”及”演算法”, 資訊領域有非常多的演算法可以研究,有非常多的經典可以拿來使用學習,而且這些東西都是針對各種需求所發展出來的,雖然也是離不開數學,但至少比起”數學”,”演算法”學起來有方向多了。

  • http://blog.onlyone.idv.tw 好手

    個人覺得說懂”數學”太過於籠統,就如toni所說的一樣,數學包含的領域非常的廣泛,若為了寫個好的系統去學”數學”,那花費的成本就太太太高昂了!!

    所以,與其說學好”數學”,不如說學好”資料結構”及”演算法”, 資訊領域有非常多的演算法可以研究,有非常多的經典可以拿來使用學習,而且這些東西都是針對各種需求所發展出來的,雖然也是離不開數學,但至少比起”數學”,”演算法”學起來有方向多了。

  • ccc

    需不需要會數學,這得看你在哪個屬性的軟體產業,就開發大部分的ERP或單機專案的軟體,最注重的是能不如期完成專案,開發的速度夠不夠快,bug產生的數目在合理的範圍,或是產生非高度影響的bug,產品高維護性,效能通常是最後的考量,而且通常是高到不可忍受的範圍,才會想辦法去調整。就我們公司而言,Time to Market是最重要的事,趕快寫出一個可上市場的產品,少吃一點記憶體,讀取速度調快一點下版本有空再做。

  • ccc

    需不需要會數學,這得看你在哪個屬性的軟體產業,就開發大部分的ERP或單機專案的軟體,最注重的是能不如期完成專案,開發的速度夠不夠快,bug產生的數目在合理的範圍,或是產生非高度影響的bug,產品高維護性,效能通常是最後的考量,而且通常是高到不可忍受的範圍,才會想辦法去調整。就我們公司而言,Time to Market是最重要的事,趕快寫出一個可上市場的產品,少吃一點記憶體,讀取速度調快一點下版本有空再做。

  • jimmy

    在台灣的軟體產業大多是驅動程式,或許是因為遷就硬體,所以寫起程式比較沒彈性。但是如果今天是要寫一個搜尋軟體或是編解碼器,所使用的演算法的效率跟背後使用的數學理論誰敢說不重要。

    如果想要讓自己不是淪為程式撰寫員而是名符其實的工程師,其中的差異我想各位可以衡量。

  • jimmy

    在台灣的軟體產業大多是驅動程式,或許是因為遷就硬體,所以寫起程式比較沒彈性。但是如果今天是要寫一個搜尋軟體或是編解碼器,所使用的演算法的效率跟背後使用的數學理論誰敢說不重要。

    如果想要讓自己不是淪為程式撰寫員而是名符其實的工程師,其中的差異我想各位可以衡量。

  • http://diary.tw/tim/177 My Program

    不過就是寫程式嘛

    views: 3 times 寫程式到底需不需要懂數學?筆者曾在幾年前和網友討論過有關這類問題. 恰巧今天在 Mr. & Ms. Days 那裡看到這篇: 寫程式到底需不需要懂數學? 其實正反兩方應該都可以舉出不

  • GreatKuo

    你問我要不要學數學喔?
    想學就學不想學就不用學
    如果硬要我說我會講學會解問題的方法最重要
    會數學又怎樣不會又怎樣, 問題無法解出來通通沒則
    但以上都是廢話, 最重要的還是要學會做人
    因為解不出來就要靠嘴巴來做事了
    當然你不想用嘴巴就要解出來.

  • GreatKuo

    你問我要不要學數學喔?
    想學就學不想學就不用學
    如果硬要我說我會講學會解問題的方法最重要
    會數學又怎樣不會又怎樣, 問題無法解出來通通沒則
    但以上都是廢話, 最重要的還是要學會做人
    因為解不出來就要靠嘴巴來做事了
    當然你不想用嘴巴就要解出來.

  • http://trapeze.wordpress.com/ cat428

    邏輯、演算法,這算是數學吧!
    沒有漂亮的演算法,程式是沒有效率的。

  • http://trapeze.wordpress.com/ cat428

    邏輯、演算法,這算是數學吧!
    沒有漂亮的演算法,程式是沒有效率的。

  • http://www.wretch.cc/blog/nextplayer sepp

    可以打造出更有”效”率的演算法

    THX

  • http://www.wretch.cc/blog/nextplayer sepp

    可以打造出更有”效”率的演算法

    THX

  • http://insectlin.wordpress.com/ 昆蟲

    Need to know basic math.

    Anything above calculus is not necessary. (Discrete math may be helpful.)

    If you are working on some very technical-specific areas, that would be different.

    After writing programs for years, I forgot all the “advanced math”, such as calculus, compex variables, linear algebra, engineering math. This probably proves that I never use them anymore.

  • http://insectlin.wordpress.com/ 昆蟲

    Need to know basic math.

    Anything above calculus is not necessary. (Discrete math may be helpful.)

    If you are working on some very technical-specific areas, that would be different.

    After writing programs for years, I forgot all the “advanced math”, such as calculus, compex variables, linear algebra, engineering math. This probably proves that I never use them anymore.

  • http://jfoxtw.wordpress.com Jeric

    之前 ptt tech_job 還有個討論串是 “寫程式要不要天份”…

    文章標題是”[問題] 寫程式真的是資管畢業後唯一的路嗎?
    ” 但因為某位網友的推文 “寫程式是需要天份的~” 而引發不少討論…

  • http://jfoxtw.wordpress.com Jeric

    之前 ptt tech_job 還有個討論串是 “寫程式要不要天份”…

    文章標題是”[問題] 寫程式真的是資管畢業後唯一的路嗎?
    ” 但因為某位網友的推文 “寫程式是需要天份的~” 而引發不少討論…

  • http://botd.wordpress.com/2007/05/28/top-posts-397/ Top Posts « WordPress.com

    [...] 寫程式到底需不需要懂數學? Posted By Mr. Saturday 最近 PTT 的八卦版有一些人在吵一個很有趣的問

  • a先生

    不一定要阿! 如果你只想當個code作業員,甚麼都不懂那也沒關係阿.. 反正混個幾年你不小心當了主管,寫程式就不是你的事啦!

    但如果你有點骨氣 或不小心唸了CS, 那algorithm / math 就跟你有關係了… 至少你不會寫出 O(n^2) 的東西, 不過看到別人寫這種程式交給你, 也就認了.. 反正他們覺得數學不重要阿..

  • a先生

    不一定要阿! 如果你只想當個code作業員,甚麼都不懂那也沒關係阿.. 反正混個幾年你不小心當了主管,寫程式就不是你的事啦!

    但如果你有點骨氣 或不小心唸了CS, 那algorithm / math 就跟你有關係了… 至少你不會寫出 O(n^2) 的東西, 不過看到別人寫這種程式交給你, 也就認了.. 反正他們覺得數學不重要阿..

  • http://blog.cyberjos.idv.tw/ CyberJos

    我寫程式寫了超過十年,一直很高興我自己是數學系出來的,而不是資工本科系出來的。為什麼?

    每當我要寫程式時,我腦中自然就會浮現出能簡化步驟,加快效率的方法和定理。有些人說寫程式不用數學,我倒不這樣認為。只要你的程式中含有「邏輯和演算法」的話,那基本上就已經牽涉到數學了。我認為大家在爭論的,是「到底要用數學用得深還是用得淺」、「只需要基本用法,還是要儘量多用進階技巧」。

    寫程式,多多少少都會用到數學,除非你的程式是只在螢幕上印出 “Hello world!” 之類的簡易程式,沒有「邏輯和演算法」可言。不過只要一碰到演算法,效率好的演算法和效率不好的馬上就可以區分出來。之前很紅的「The art of programming」、「The pearl of programming」、「C 精選名題100題」等等的書,仔細翻開來看,裡面在說的,不就都是數學嗎?問題只在於,你想要用在程式裡的,是那一種演算法?是快的那一種,還是慢的那一種?

    一個從 1 累加到 n (n>1) 的整數運算式,用 for 迴圈累加起來求解,其實就已經是數學,是一種演算法了,只是顯得毫無效率,直接改用梯形公式就可在 O(1) 解決。跑一個 20^1, 20^2, …, 20^n (n>1,n為正整數)各除以 p (p為正整數)之後,所餘下的各個餘數為何,你可以用 for 迴圈來把每個 20^k 的項次展開 (pow()) 後再去除以 p 求解,當然得花上你 O(n^n) 的時間,並且還要處理長整數數值溢位的可能,但若直接改用模數運算來跑全部,可在 O(n) 內解決,並且不會有長整數溢位的困擾。平平一樣都可以求出解法,但是在效率上自然有差別。

    想用到那一種程度的數學,端看需求而已。一千筆資料的「找出某筆資料修改後重新排序」、「每頁任意n筆的動態有序分頁」、「相互交叉比對求得最符合查詢條件的資料之排行榜」、「分析並建立語詞、語義索引資料庫」…等等,有一千筆時的做法,一千萬筆則有一千萬時的做法。需求不同、時程不同,條件不同,硬體不同,而所用的演算法也不一定相同。在不同的地方,選擇適合的方式下去做。

    另外,有關於邏輯的部份。數學系在 1+1=2 都得先證明它是正確的以後 (需要用到三十多個代數定理),我們才敢去用它來計算,也因此我們才敢說:「是的,九九乘法表是正確無誤的,因為我們可以證明 3*2 = 3+3 的確會等於 6」。每一個運算子,每一次計算,我們都必需要小心地去用邏輯推理。a*b 並不恆等於 b*a (你必須先知道 a, b 元素和其 * 運算子的定義,才能證明),c 也不一定等於 c+0 (同樣,你得先知道 c 元素, 零元素 和 + 運算子的定義)。我們用嚴謹的邏輯去推理,去思考,我們才能真正的說:梯形公式的確比for迴圈累加快、模數運算的演算法的確比各項各自展開後再求來得快。

    邏輯論、數論、集合論、圖論、離散數學、演算法、資料結構、網路架構,其實骨子不都有數學嗎?Google 或其他知名大公司的面試考題,不是也有很多題目是和邏輯及演算法相關的?如果寫程式不需要較深、較進階的數學的話,那麼何必要用這些題目做為考題呢?

    多學會一種技巧,並不會讓你的刀劍變鈍,反而會讓它更加鋒利和光亮。你的程式裡可以不需要用到複雜的數學,而使用簡易的方法,完全取決於你想要你的程式如何運作。但是要注意,在程式的撰寫從 DOS 的單工、其他作業系統的多工、多執行緒、多核心平行處理,一直演化到後來的網路分散式架構時,或許用更宏觀的角度來對待程式撰寫,可以讓我們的程式更具有競爭力和效率,也可以讓我們程式設計人員本身有更寬廣的心,以及具有更高的專業價值。

    至今我仍然很慶幸,當初毅然在資工大二時轉唸數學時的決定。

  • http://blog.cyberjos.idv.tw/ CyberJos

    我寫程式寫了超過十年,一直很高興我自己是數學系出來的,而不是資工本科系出來的。為什麼?

    每當我要寫程式時,我腦中自然就會浮現出能簡化步驟,加快效率的方法和定理。有些人說寫程式不用數學,我倒不這樣認為。只要你的程式中含有「邏輯和演算法」的話,那基本上就已經牽涉到數學了。我認為大家在爭論的,是「到底要用數學用得深還是用得淺」、「只需要基本用法,還是要儘量多用進階技巧」。

    寫程式,多多少少都會用到數學,除非你的程式是只在螢幕上印出 “Hello world!” 之類的簡易程式,沒有「邏輯和演算法」可言。不過只要一碰到演算法,效率好的演算法和效率不好的馬上就可以區分出來。之前很紅的「The art of programming」、「The pearl of programming」、「C 精選名題100題」等等的書,仔細翻開來看,裡面在說的,不就都是數學嗎?問題只在於,你想要用在程式裡的,是那一種演算法?是快的那一種,還是慢的那一種?

    一個從 1 累加到 n (n>1) 的整數運算式,用 for 迴圈累加起來求解,其實就已經是數學,是一種演算法了,只是顯得毫無效率,直接改用梯形公式就可在 O(1) 解決。跑一個 20^1, 20^2, …, 20^n (n>1,n為正整數)各除以 p (p為正整數)之後,所餘下的各個餘數為何,你可以用 for 迴圈來把每個 20^k 的項次展開 (pow()) 後再去除以 p 求解,當然得花上你 O(n^n) 的時間,並且還要處理長整數數值溢位的可能,但若直接改用模數運算來跑全部,可在 O(n) 內解決,並且不會有長整數溢位的困擾。平平一樣都可以求出解法,但是在效率上自然有差別。

    想用到那一種程度的數學,端看需求而已。一千筆資料的「找出某筆資料修改後重新排序」、「每頁任意n筆的動態有序分頁」、「相互交叉比對求得最符合查詢條件的資料之排行榜」、「分析並建立語詞、語義索引資料庫」…等等,有一千筆時的做法,一千萬筆則有一千萬時的做法。需求不同、時程不同,條件不同,硬體不同,而所用的演算法也不一定相同。在不同的地方,選擇適合的方式下去做。

    另外,有關於邏輯的部份。數學系在 1+1=2 都得先證明它是正確的以後 (需要用到三十多個代數定理),我們才敢去用它來計算,也因此我們才敢說:「是的,九九乘法表是正確無誤的,因為我們可以證明 3*2 = 3+3 的確會等於 6」。每一個運算子,每一次計算,我們都必需要小心地去用邏輯推理。a*b 並不恆等於 b*a (你必須先知道 a, b 元素和其 * 運算子的定義,才能證明),c 也不一定等於 c+0 (同樣,你得先知道 c 元素, 零元素 和 + 運算子的定義)。我們用嚴謹的邏輯去推理,去思考,我們才能真正的說:梯形公式的確比for迴圈累加快、模數運算的演算法的確比各項各自展開後再求來得快。

    邏輯論、數論、集合論、圖論、離散數學、演算法、資料結構、網路架構,其實骨子不都有數學嗎?Google 或其他知名大公司的面試考題,不是也有很多題目是和邏輯及演算法相關的?如果寫程式不需要較深、較進階的數學的話,那麼何必要用這些題目做為考題呢?

    多學會一種技巧,並不會讓你的刀劍變鈍,反而會讓它更加鋒利和光亮。你的程式裡可以不需要用到複雜的數學,而使用簡易的方法,完全取決於你想要你的程式如何運作。但是要注意,在程式的撰寫從 DOS 的單工、其他作業系統的多工、多執行緒、多核心平行處理,一直演化到後來的網路分散式架構時,或許用更宏觀的角度來對待程式撰寫,可以讓我們的程式更具有競爭力和效率,也可以讓我們程式設計人員本身有更寬廣的心,以及具有更高的專業價值。

    至今我仍然很慶幸,當初毅然在資工大二時轉唸數學時的決定。

  • http://mmdays.wordpress.com Mr. Saturday

    沒想到我一篇如磚頭似的雜感文, 會引來這麼多的好玉 (尤其是看到CyberJos的文章, 我真是嚇到了), 感謝各方高手的意見, 讓我獲益良多, 這幾天我會參考大家的意見, 再寫一篇完整的文章跟大家分享 :D

  • http://mmdays.wordpress.com Mr. Saturday

    沒想到我一篇如磚頭似的雜感文, 會引來這麼多的好玉 (尤其是看到CyberJos的文章, 我真是嚇到了), 感謝各方高手的意見, 讓我獲益良多, 這幾天我會參考大家的意見, 再寫一篇完整的文章跟大家分享 :D

  • LORENZO

    數學太廣義了,倒不如說寫程式跟寫作文
    差不多。要寫的通順達理,人人可讀懂的
    程式,跟數學倒是沒多大牽扯。而且現在的
    網頁工程師,可能不太會用到深層的數學吧;
    美工設計要比搜尋演算法的效率更重要。

  • LORENZO

    數學太廣義了,倒不如說寫程式跟寫作文
    差不多。要寫的通順達理,人人可讀懂的
    程式,跟數學倒是沒多大牽扯。而且現在的
    網頁工程師,可能不太會用到深層的數學吧;
    美工設計要比搜尋演算法的效率更重要。

  • chiangww

    這根本不是問題–有的程式需要數學,有的程式不要數學,看程式的目的而定.

  • http://dbai.biz/blog/?p=446 寫程式到底需不需要懂數學之我的觀感 « 小白的窩

    [...] 今天看到這篇「寫程式到底需不需要懂數學?」,這果然是個很容易引起爭辯的話題。認為需要的人幾乎都是從效率、演算法等觀點去論證,其實一點也沒錯,但是你會感覺愈是數學本科的人愈容易支持此一觀點,但這豈不是會偏頗掉他們的想法嗎?基本上我是站在不需要這一方,不過我是有點不同的看法。 [...]

  • http://www.seedera.com/phpbb 老爸網路觀察室

    如果寫程式的人一定要懂數學,那數學系的人就一定會寫程式了,應該是寫程式的人也要有一點數學的邏輯概念,本身求知慾要相當強,如果有個程式設計師,說他寫了一個dos10.0,我想任一個人也是興趣缺缺,寫出好程式應用的上才是重要,至於懂不懂數學不大相關吧!

  • http://www.seedera.com/phpbb 老爸網路觀察室

    如果寫程式的人一定要懂數學,那數學系的人就一定會寫程式了,應該是寫程式的人也要有一點數學的邏輯概念,本身求知慾要相當強,如果有個程式設計師,說他寫了一個dos10.0,我想任一個人也是興趣缺缺,寫出好程式應用的上才是重要,至於懂不懂數學不大相關吧!

  • Nocold

    想寫一手好程式,把基本數學顧好是必要的,更深入或更廣範的數學,即使跟要解決的問題無關,但是多少還是有些幫助,從某些角度來說,就是一種跨領域組合,雖然剛轉到資訊界,寫程式也略有小成,但還是稍嫌數學底子不好,有些問題沒辦法解得很好。

  • Nocold

    想寫一手好程式,把基本數學顧好是必要的,更深入或更廣範的數學,即使跟要解決的問題無關,但是多少還是有些幫助,從某些角度來說,就是一種跨領域組合,雖然剛轉到資訊界,寫程式也略有小成,但還是稍嫌數學底子不好,有些問題沒辦法解得很好。

  • Konas

    數學對寫程式一定有幫助,但要發揮到多高的程度要看專案的性質,一般專案其實應該不需把效率看為最高目標,彈性、架構、平衡、清晰我認為更重要。

  • Konas

    數學對寫程式一定有幫助,但要發揮到多高的程度要看專案的性質,一般專案其實應該不需把效率看為最高目標,彈性、架構、平衡、清晰我認為更重要。

  • http://yhlyu.wordpress.com/2007/07/06/%e5%af%ab%e7%a8%8b%e5%bc%8f%e5%88%b0%e5%ba%95%e9%9c%80%e4%b8%8d%e9%9c%80%e8%a6%81%e6%87%82%e6%95%b8%e5%ad%b8/ 寫程式到底需不需要懂數學 « Yu-Han Lyu’s blog

    [...] July 6th, 2007 前一陣子看到一篇文章–寫程式到底需不需要懂數學。造成網路上的回響,下面是幾個連結 [...]

  • http://ewei.wordpress.com/2007/07/20/%e5%af%ab%e7%a8%8b%e5%bc%8f%e5%88%b0%e5%ba%95%e9%9c%80%e4%b8%8d%e9%9c%80%e8%a6%81%e6%87%82%e6%95%b8%e5%ad%b8%ef%bc%9f/ 寫程式到底需不需要懂數學? « 謝一瑋 (部落格)

    [...] 寫程式到底需不需要懂數學? http://mmdays.wordpress.com/2007/05/27/math-and-programming/ [...]

  • http://mmdays.wordpress.com/2007/10/13/politician_humor/ 政治人物需不需要幽默感? « Mr./Ms. Days – 網路, 資訊, 觀察, 生活

    [...] 這題目好像之前的“寫程式需不需要懂數學?” 聽起來又是個見仁見智的題目. 理想中的政治人物, 重心應該放在管理政務, 治理國家, 領導統率…有沒有幽默感, 似乎是其次吧? [...]

  • atr

    標題 “寫程式到底需不需要懂數學?”
    此問題要討論,先要定義及釐清兩件事情。

    1.定義何謂 “寫程式” ?
    2.定義何謂 “懂數學” ?

    外行以及內行,專家和看熱鬧的人,
    看起來像是在討論上述這兩件事的定義落差。

  • atr

    標題 “寫程式到底需不需要懂數學?”
    此問題要討論,先要定義及釐清兩件事情。

    1.定義何謂 “寫程式” ?
    2.定義何謂 “懂數學” ?

    外行以及內行,專家和看熱鬧的人,
    看起來像是在討論上述這兩件事的定義落差。

  • Xnet

    數學好比跑鞋,你不穿跑鞋跑步也可以,但是如果想跑得好、跑得遠,穿上跑鞋還是有幫助的。如 atr 所說「何謂懂數學」?大家以為的數學印象是在高中、大學以前吧!那個個年代計算是數學的大部份,但是卻是整個數學的一小部份。

    有人不必懂數學而進入 MS, Yahoo!, Google 的程式設計相關部門嗎?

    20 F 的朋友,程式設計多少要懂點數學,但數學系不一定會寫程式(最簡單的HTML+CSS也要用到呀!font-size:105%,這也不也是數學!簡單的數學)。

  • Xnet

    數學好比跑鞋,你不穿跑鞋跑步也可以,但是如果想跑得好、跑得遠,穿上跑鞋還是有幫助的。如 atr 所說「何謂懂數學」?大家以為的數學印象是在高中、大學以前吧!那個個年代計算是數學的大部份,但是卻是整個數學的一小部份。

    有人不必懂數學而進入 MS, Yahoo!, Google 的程式設計相關部門嗎?

    20 F 的朋友,程式設計多少要懂點數學,但數學系不一定會寫程式(最簡單的HTML+CSS也要用到呀!font-size:105%,這也不也是數學!簡單的數學)。

  • samuel

    物質世界是由數學組成的,程式當然就更是如此~
    但是需不需要懂,要懂到什麼程度,那就要看你的需求了~

  • samuel

    物質世界是由數學組成的,程式當然就更是如此~
    但是需不需要懂,要懂到什麼程度,那就要看你的需求了~

  • Allen

    理工科的領域本來就不易區分
    數學有很多種, 有些比較新的數學領域是有在用計算機”做計算”
    而寫程式是會”用到”某些數學

    假設說今天做一個支援俄文的系統
    Programmer 不懂俄文, 可以嵌入一套俄文的辨識程式, 或是使用翻譯程式, 或是發明編碼加上翻譯人員
    但如果今天 Programmer 不懂數學
    那它是不是要嵌入一套”有Matlab運算能力的專家系統”呢?
    可以直接手腦並用, 運用自己的數學知識與能力的Programmer比較有競爭力吧

  • Allen

    理工科的領域本來就不易區分
    數學有很多種, 有些比較新的數學領域是有在用計算機”做計算”
    而寫程式是會”用到”某些數學

    假設說今天做一個支援俄文的系統
    Programmer 不懂俄文, 可以嵌入一套俄文的辨識程式, 或是使用翻譯程式, 或是發明編碼加上翻譯人員
    但如果今天 Programmer 不懂數學
    那它是不是要嵌入一套”有Matlab運算能力的專家系統”呢?
    可以直接手腦並用, 運用自己的數學知識與能力的Programmer比較有競爭力吧

  • http://punkcan.com/%e5%88%b0%e5%ba%95%e8%a6%81%e4%b8%8d%e8%a6%81%e6%87%82%e6%95%b8%e5%ad%b8/ 到底要不要懂數學 | 武裝您的思想

    [...] 簡單的來說,如果你接觸到程式開發,或多或少都會有資料的處理,我一點都不覺得Mr. Saturday 說那是市場的差異化。 [...]

blog comments powered by Disqus