是否數學不好就學不好編程?

很多人都說數學好的人學編程很容易,但像我這種數學一般又想學好編程的人要怎樣做才能變得優秀?每次感覺自學一門編程語言挺困難的,學了一段時間感覺很吃力,有沒有什麼好的方法?


對於題主的問題的回答是

數學學不好編程也可以學好,但是僅限於應用方面,不是深入到演算法研究什麼的。。。

編程主要是邏輯上的思考,對於數學知識方面要求不高,只要有邏輯思維就好。(數學其實一定程度上提高了這種能力,所以說數學學得好的人可能有些許的優勢,但這不代表數學不好的人學不好編程)

學習編程開始的時候就是得多用多練多看,從簡單的小問題代碼開始,到後來慢慢的想到什麼問題,就可以試圖用程序來獨立解決。在實踐中編程能力才會提高。陷入簡單機械的代碼閱讀中,就難以提高了。


數學是基礎學科,計算機是應用。

聯繫不大,計算機要學的數學課程是偏應用的,所以數學一般一樣可以學好編程。

不過我數學還行,是因為我對它感興趣。但我編程就是渣渣,因為興趣不大。

所以說,只要你喜歡編程,你會願意花時間去為自己充電,自然就能做好了。


不是。

咬咬牙繼續學。


Everbode in this country should learn how to program a computer...

Because it teaches you how to think..

______ Steve Jobs

這個國家的每個人都應該學習如何編程,

因為它會教你如何思考。

_______ 史蒂夫 喬布斯


編程就像搬磚 學數學就像學造磚 你一個編程的幹嘛需要知道磚是怎麼造的?


一般的程序員達不到大師級那麼高的造詣,一般的編程也不需要太多的數學知識。


只要不差就行。


記得曾經有一句話:

編程的核心是演算法,演算法的核心是數學,數學的核心是哲學,哲學的核心是上帝。

可見如果想要學好編程,數學知識應該是必不可少的。

但是,我不覺得你的歐氏幾何非歐幾何學的特別好會對你的編程有太大幫助,只會讓你在某些場景下比較容易解決問題而已。上面的一些答案感覺把數學限制到一定範圍內了,計算機科學中所要求的數學基本都是離散數學的內容,這部分掌握好了就差不多了,集合論,圖論,布爾代數,數理邏輯什麼的。之後需要進行更多的演算法研究的時候才會開始涉及到科學計算的內容,什麼Gauss-Jordan什麼LU分解什麼DDMxFEM之類的,那都是以後的故事了,而且其根本思想其實就是線性代數的一些基礎的推導,真需要的話現學都來得及。

總之,想學好編程,還是要先學好離散數學的。其他的連續數學的分支的話,影響不大。


編程本身和數學關係不大。但是寫到演算法關係就大了,很多人學數學畢業就去搞編程


絕對不是,當年高中數學、物理都不是太好,照樣讀計算機,現在照樣coding,感覺比數學容易。你要多實踐實際的項目,不急著鑽研演算法、數據結構以及其它偏理論的東西。


數學知識必不可少,但是一般偏向項目的編程來說,數學知識就不那麼重要。

如果是偏向演算法的話,那麼數學知識至少也要達到考研要求甚至更高的高度才可以。我承認數學只是一個工具,但是當你想寫貝葉斯演算法,模式識別演算法,A*演算法的時候,如果你連基本的高數都不熟悉,連數學模型都建不起來,那麼又談何編程?編程本質上是把你想要說計算機做的告訴他們,如果連演算法的模型都不知道怎麼做,又如何告訴計算機呢?

相反,做項目的話就不用這麼要求高了,一個字,熟,就夠了,各種框架引用介面之類的亂七八糟,用熟了就好,萬變不離其宗。


不牽扯到演算法就還好,如果是廣搜,深搜,牛頓迭代法什麼的數學就必須學好了,但是簡單的程序語句,循環遞歸的邏輯好就行


根本無壓力,我數學談不上差,但是一般,計算還經常出錯,但是編程的時候跟玩遊戲一樣行雲流水。問我為什麼,因為編程對我來說就是打遊戲啊


編程類似翻譯工作,跟數學好不好關係並不大。有很多搞數學的活著數學專業的人,編程也未必很好。不過,好的思維模式,特別是數學方法,可以在相同的經驗情況下,體現出來優勢。我的理解是,數學就是建立在統計和歸納總結之上的,如果東西學死了,編程也不好,如果東西學活了,編程怎麼做都能做的好。


邏輯嚴謹,編程就OK。

但,數學欠賬,編程會遇到大大小小的瓶頸。

個人覺得在編程領域,數學固然重要,但並不是最核心的能力;

就好比在數學研究領域,編程也很重要,但也並不是最核心的能力一樣。

編程領域最核心的能力是什麼呢?

應該是對代碼的天生敏感、如魚得水以及對軟體的綜合品味了。


這個問題的答案就類似我切不好土豆絲能炒出好吃的土豆絲嗎?答案是找個人幫你切好的話,你也能做出好吃的菜。數學不好可以請別人幫你設計演算法,具體編程並不需要很強的數學功底。


其實數學和編程只是共享一部分思維模式而已(個人覺得30%吧),

我身邊就有同事是這樣的例子,高考時數學很好,但編程時很死板,還有隻有初中學歷的同事,編程能力相當不錯,

但要編程達到很厲害的水平,數學功底也必是不可少的,比如說你如果做圖形圖象,物理模擬這些直接用到數學的東西,還有程序本質——形式數學這類,其實編程也分專業的...

再說,當年數學沒學好,也可能各種原因——比如說你的數學老師原來教體育的(我指,和環境關係很大)


我覺得數學很重要,體現在兩個方面:

1是你的思維.數學好的人往往做事有條理,思維清晰富有邏輯性.而且數學好的人往往在管理方面也很突出.

2是在編程中應用數學,在你處理複雜問題或者海量數據的時候,你必須要考慮演算法,往往這個時候就感到數學知識不夠用的了.人家用一個矩陣乘法就搞定的問題,自己卻要撓破頭皮.


我學數學的,當時學C++,我們數學系照樣掛了一批。個人覺得學編程重要的是學會像傻逼兮兮的計算機一樣思考,跟數學沒太大關係,至少初級階段是這樣……高級的不知道沒學過……


有一個假象,可能數學的優勢在編程中體現不出來,但問題在於從數學轉到攻計算機的人不多,尤其是基礎程序員的工作,對於可計算性和運算元代數的研究推動了編程思想的發展,只是分工不同,所以在不同層面上來說數學水平對應高層程度


推薦閱讀:

程序員如何掌握編程思想?
像我這種情況,該如何繼續學習遊戲中實時渲染這方面知識?
MacBook Pro適合深度學習嗎?
如何讓cout不自動識別數據類型輸出,而去按照指定的數據類型輸出?
程序函數條件與返回的區別?

TAG:編程語言 | 編程 | 計算機 |