Re: 你是否認為數學和/或物理是一種很重要的編程技

看板Soft_Job作者 (別理我)時間11年前 (2012/09/14 12:27), 編輯推噓7(7034)
留言41則, 21人參與, 最新討論串2/11 (看更多)
寫出1加到100的函式 ---------------------------------------------- 有學過等差級數的程式員: int sum= (a1+an)*n/2; ============================================= 沒有學過等級級數的程式員: for(int i=1;i<=100;i++) sum=sum+i; ============================================= 一個簡單的問題就可以區別程式員的優劣, 所以我贊成數學跟物理對於程式編寫員很重要。 ※ 引述《descent (返無)》之銘言: : http://coolshell.cn/articles/8275.html : 聽聽這些有名程式員的說法。 : Q 3: 你是否認為數學和/或物理是一種很重要的編程技能?為什麼? : Steve Yegge : 數學有很多的分支和程序員相關,他們是「離散數學」和「具體數學」。這些分支包括的 : 學科有,概率論,組合數學,圖論,歸納證明,和其它有用的東西。我會鼓勵所有的程序 : 員都去學習離散數學,無論能學多少,因為這總比什麼都不懂強。 : 對於傳統的數學,我也不經常用,但是我需要的時候這些數據知識會很管用。例如,在我 : 之前的工作中我就用到了微積分。我需要估計每個小時中某服務的高峰時間的流量負載, : 所以,他的負載是跟著太陽走的就像一個正弦曲線一樣。最簡單的方式就是把每個小時的 : 負載曲線給整合起來。如果我不知道微積分,我就不知道怎麼更為準確地估計。 : 當年我在開發我的Wyvern遊戲的時候,我的平面幾何的知識對我非常有幫助。而且經常使 : 用代數和線性代數的知識。但我很少在工作中使用三角學或微分方程,微積分同樣也很少 : 。 : 我想說,簡單的數學基礎讓我的技能比一般程序員好過5%到10%。如果我瞭解更多的數學 : ,我確信我會比今天做得更好,所以,我每週都會花幾個小時學習數學。 : 我喜歡物理,我還在學習物理,我會花我一生去理解量子力學。但是我個卻沒有發現物理 : 對我的程序員工作有多有用。當然,如果我從事一些和物理相關的工作,可能會有用,例 : 如:3D遊戲編程,或是某種物理特性仿真。 : Linus Torvalds : 我個人認為有很強的數學背景是一件好事。但我不確信物理是不是這樣的,但是我深信懂 : 數學的人會讓你成為一個更好的程序員。這些智力模型都是相通的。 : David Heinemeier Hansson : 根本沒用。至少對業務編程和Web應用來說沒用。但是數學可能對一個人的寫作有很重要 : 的幫助。 : Peter Norvig : 是的。很多相法都是從數學來的:歸納,遞歸,邏輯,等等。 : Dave Thomas : 也許吧。但老實說,我沒見到過懂這些學科和好的程序員有很大的相關性。 : 然而,我見過有音樂背景和好的編程技能有很強的相關性。我不知道這為什麼,但是我懷 : 疑大腦中的某個區域可以讓人即可以寫出好的音樂,也可以寫出好的代碼。(陳皓註: : @Sir阿怪 貌似就是這個例子) : Guido Van Rossum : 數學,當然(對於一些學科是很重要的,我不關心微分方程,但是代數和邏輯學是很重要 : 的),物理,我不覺得對編程技能有關,當然物理在其它很多地方很有意思。 : James Gosling : 當然!數學教會了我邏輯和推導……讓我有了一雙懂分析的眼睛。當我們分析算法的時候 : ,數學是無法被取代的。 : Bjarne Stroustrup : 這要看程序員自己和項目性質了。以前的數據很有用,物理一般,但是學好物理是是學習 : 應用數據最好的一條路。 : Tim Bray : 對我來說,在我的編程生涯中我從來都沒有用過大學裡教的數學。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.105.214.165

09/14 12:29, , 1F
學過等差也不見得他就會想到要這樣寫..
09/14 12:29, 1F

09/14 12:30, , 2F
像是用 entropy 來判斷密碼強度也是一種方法。
09/14 12:30, 2F

09/14 12:30, , 3F
...這根本不是程式問題
09/14 12:30, 3F

09/14 12:40, , 4F
我學過等差我也不會用上面的方式寫
09/14 12:40, 4F

09/14 12:40, , 5F
你還要考慮到程式的直觀程度
09/14 12:40, 5F

09/14 12:41, , 6F
可能它們家的PG都是負責解數學問題的也不一定?
09/14 12:41, 6F

09/14 12:47, , 7F
這很重要阿 為何大家就是不考慮 一個時間是1 一個是n
09/14 12:47, 7F

09/14 12:47, , 8F
這是綜合數學+coding出來的結果阿
09/14 12:47, 8F

09/14 12:48, , 9F
今天碰到比較難的數學公式 你說有math可以call 可是
09/14 12:48, 9F

09/14 12:48, , 10F
math還不是人寫出來的 就是為啥台灣都只會用 不會創造
09/14 12:48, 10F

09/14 12:56, , 11F
重新發明輪子不算創造。
09/14 12:56, 11F

09/14 12:59, , 12F
我想問, 台灣搞三十年, 都搞不出一個汽車ENGINE, 請問
09/14 12:59, 12F

09/14 12:59, , 13F
是不是也是重做輪子呢?
09/14 12:59, 13F

09/14 13:01, , 14F
是不是不必要, 用別人的就好了呢?
09/14 13:01, 14F

09/14 13:01, , 15F
用for loop跑不見得比較差吧?
09/14 13:01, 15F

09/14 13:02, , 16F
大家都說用別人的 那方法一 是用別人推出來的公式
09/14 13:02, 16F

09/14 13:02, , 17F
畢竟除法用掉的cycle相對較多,
09/14 13:02, 17F

09/14 13:02, , 18F
或許桌上型沒差,但嵌入式系統就未必了..(菸)
09/14 13:02, 18F

09/14 13:02, , 19F
卻吹逆風阿 還說方法二直觀 又是怎回事
09/14 13:02, 19F

09/14 13:02, , 20F
看n的大小吧
09/14 13:02, 20F

09/14 13:03, , 21F
CYCLE再多 只做一次能多到哪
09/14 13:03, 21F

09/14 13:06, , 22F
這種問題到底要炒到什麼時候?都已經討論到爛了不是???
09/14 13:06, 22F

09/14 13:08, , 23F
用數學思維來打程式思維, 啊就叫張飛去打岳飛了嘛...沒意義
09/14 13:08, 23F

09/14 13:10, , 24F
什麼是數學思維? 什麼是程式思維?
09/14 13:10, 24F

09/14 13:16, , 25F
直接把/2改成 <<1好像會比較好?
09/14 13:16, 25F

09/14 13:44, , 26F
<<1 是multiple 2
09/14 13:44, 26F

09/14 13:44, , 27F
再說這種剩2 除2 的, COMPILER 會去處理
09/14 13:44, 27F

09/14 13:49, , 28F
看這文章就想到這個 http://youtu.be/Q4gTV4r0zRs?hd=1
09/14 13:49, 28F

09/14 13:59, , 29F
要看場合(iterator->a1+iterator->an)*n/2
09/14 13:59, 29F

09/14 19:14, , 30F
有沒有新鮮一點的例子?看到我這個念美術的都會背了
09/14 19:14, 30F

09/14 20:54, , 31F
a1=-1, an=5
09/14 20:54, 31F

09/14 23:23, , 32F
我自己工作至目前為止,遇到的系統performance問題,絕
09/14 23:23, 32F

09/14 23:23, , 33F
大多數是出在Database下SQL的方式有問題
09/14 23:23, 33F

09/14 23:24, , 34F
倒是真的還沒遇到過因為程式的演算法複雜度過高產生的
09/14 23:24, 34F

09/14 23:24, , 35F
performance issue
09/14 23:24, 35F

09/14 23:25, , 36F
也許這個是embeded system才比較容易遇到?
09/14 23:25, 36F

09/14 23:27, , 37F
我喜歡第二種,讓後面maintain的人好接手
09/14 23:27, 37F

09/15 12:49, , 38F
我也比較喜歡第二種 一看就知道在做啥
09/15 12:49, 38F

09/15 13:03, , 39F
比較會背?
09/15 13:03, 39F

09/15 14:37, , 40F
我是數學系的 我也會選第二種寫
09/15 14:37, 40F

09/15 21:20, , 41F
實務上你很難遇到這麼善良的純粹等差加總
09/15 21:20, 41F
文章代碼(AID): #1GKh8MGY (Soft_Job)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 2 之 11 篇):
文章代碼(AID): #1GKh8MGY (Soft_Job)