2010-03-13 34 views
3

可能重複:
Is Programming == Math?編程和數學之間的關係是什麼?

程序員似乎認爲,他們的工作是相當的數學。

我明白這一點,當你試圖優化性能的東西,找到最有效的alogithm等。

但是當你看一個店一個計費應用它公然似乎假的,或者系統軟件百病與I/O呼叫。

那究竟是什麼?計算和相關編程是否真的是數學?

在這裏,我心裏有特別的考慮哲學家叔本華的話:

算術是最卑鄙的一切心理活動是由 的事實,這是可以實現的唯一證明通過 一臺機器。舉例來說,目前在英格蘭普遍使用的推算機器,並且僅僅爲了便利起見 。但所有分析finitorum et infinitorum基本上是基於計算的 。因此,我們可以衡量 「深刻的數學家的意識」,其中利希滕貝格已使 樂趣,他說:「這些所謂的數學教授有 利用其他人的天真,已達到 具有深刻的意義上,強烈類似於 神學家深刻自己的神聖感的功勞。」

我從here解除上述報價。看起來,程序員正在做着這位偉大的老人所鄙視的那種機械化基礎心理活動。

那到底是什麼?編程是真正的「好」的數學類型,還是僅僅是基礎類型,或者其他什麼只是爲了企業而不是與純粹的學科混淆?

+2

欺騙http://stackoverflow.com/questions/137550/is-programming-math –

+0

flamebait。投票結束。 –

+0

這是一種類似flamebait。但我真的好奇聽到人們要說什麼。這也不是一個愚蠢的問題。這實際上更具哲理性。 –

回答

0

所有的編程都需要邏輯,一些編程需要數學。數學是處理小部分程序,邏輯是處理所有。

0

這個post是相似的,但底線是肯定的。即使是計費應用程序或沉重的IO也是數學綁定操作。從根本上講,我們正在討論所有這些事情的數學計算,但更高層次的數學則決定了我們如何協調和管理所有這些操作。數學,不僅僅是操作。它也是理論和操作。

0

數學不僅僅是計算。

而實際上我們用數學每當我們計劃自
編程語言使用類型,但是(不幸),我們對待
他們經常原始數據容器。

<CoolStuff>Y combinator

#lang scheme 

;(define Y 
; (λ(p) 
; ((λ(f)(f f)) (λ(f)(p (λ(x)((f f) x))))))) 

(define Y 
    (λ(X) 
    ((λ(f) 
     (X (λ(arg) ((f f) arg)))) 
    (λ(f) 
     (X (λ(arg) ((f f) arg))))))) 

> ((Y (λ (n!)(λ (n) (if (< n 2) 1 (* n (n! (- n 1))))))) 5) 
120 
> 

</CoolStuff>

0

程序員似乎認爲,他們的工作是相當的數學。

真的嗎?他們全部?我看到很多程序員討厭數學,並說他們沒有任何關係。

似乎程序員正在做着這位偉大的老人所鄙視的機械化基礎心理活動。

好像你可以有困惑的程序員和計算機。很多編程涉及更高水平的數學和計算機。而你構建程序的心理過程並不那麼簡單。

恕我直言,事實是,數學和編程是因爲它們都處理解決問題(以及所帶來的,通常情況下)類似。有時數學家認爲他們的問題更難(或者更純粹,更優雅,或者其他)。但是當涉及到解決方案時,事實證明程序員更關心更好的解決方案。

讓我告訴你一個例子:說你的問題是證明費馬大定理,現在說你是安德魯威爾斯,並拿出長達100多頁的長篇文章,內容包括美麗的圖表,引理,定理和關於半穩定橢圓曲線的命題。基本上只有少數人能夠理解的材料,並且需要數週才能完成。不要提及它花費了7年的時間來找出解決方案。所以從程序員的角度來看,您的解決方案很糟糕,因爲它很難理解,難以調試,難以維護並且無法擴展。這就是編程和數學不同的地方。所以我會說編程就是要解決問題並儘可能地做到最好。

現在,如果你想知道,如果規劃是數學的一部分,那麼我想答案是肯定的當且僅當你還考慮物理是數學的一部分。

相關問題