計算機專業的學編程是怎麼套路?
知乎上這麼多程序員,挺好奇的。也是拿本c++學嗎?我念書時候就學了個c++,當時學的時候感覺完全不知道是怎麼回事,跟天書一樣。假如要完成一個小任務,不知道為什麼那麼干,這個是數學沒學好嗎?
針對編程小白,我設計並錄製了一門課程《我的第一門編程課(C#版)》,課程詳情,你不妨看看,這門課程能否略解你的困惑?
不不不。你是代碼寫少了。
那是因為你光學了個語言,自然沒什麼用……
演算法數據結構入了門,解決個問題怎麼去抽象怎麼去計算大概就明白了;運籌學、博弈論之類的更加深入講解了某些方向上的可計算數學模型;操作系統體系結構指明了硬體交互的途徑;UI設計則點出了讓程序可以給一般用戶用應該怎樣設計;網路基礎告訴你當一台機器不足以解決你要實現的需求時怎樣去通信;軟體工程開發模式則告訴你當你的項目達到一定規模的時候如何管理才能省時省力……
所以說光一個C++?這種事培訓班都能教會,大學裡只是把這個當作基礎知識之一罷了。
所以說不僅僅是多寫,要建立離散式、邏輯化、可計算化的思維,然後隨便個什麼語言都可以開工。題做少了。
找編程書,做書後面的習題。挑那種用編程實現的題來做,不要做基本概念的。
這些題裡面會有純語言應用的,需要一點小技巧的,和需要一些演算法知識的。
做完你就知道編程是怎麼回事了。
另外做完之後,如果想更進一步,需要學數據結構和演算法,然後刷oj。螺絲刀使用說明看完
接下來就是組裝傢具了
當然要有圖紙
搞完再給附上說明書曾經雜誌上看到的:
《C語言入門》——&>《C++入門》/《C#入門》/《Java入門》——&>《XXX高級開發》——&>《編譯原理》/《系統底層開發》——&>《頸椎病康復指南》本人從大一下學期開始入門編程,現在剛畢業在創業公司做技術負責人。期間不曾中斷寫代碼。
學過 C , C++, PHP, Ruby, Python, Golang, 還有一些函數式語言,但是還覺得寫代碼量太少,剛剛入門。引用妹子的一句話:『『你都不陪我,陪你家代碼吧,再見!』』
分享一些寫代碼期間最大的頓悟(在某天晚上沐浴中、在技術討論中 或是 在某本技術書籍中,突然有感):
1. 原來 C 語言的指針 「無所不能」2. 原來 類 可以用 C 語言的 struct 構造3. 原來 無類型 和 異常捕獲 用起來如此方便
4. 原來 通訊協議 一點都不複雜5. 原來 我需要更快程序是一個藝術創造的過程,需要你不斷的推翻重寫、不斷的接受新的方向、不斷的嘗試新的技術、不斷的深入本質。我覺得學編程的套路應該是: 多看書、多寫代碼、多交流1. 直接看bnf範式,並與已知的語言對比。2. 憑感覺直接寫,出錯看錯誤提示,或者Google。3. 需要使用library了直接打開API文檔。
又是個迷路的孩子啊。 C++帶你進入了編程的世界,這只是個開始。它幫助你建立了一些語法知識和面向對象的概念。這離寫一個實際的項目還差很遠,尤其對C++這種相對複雜的語言你需要掌握很多知識。
這時你利用循環和數組寫一些簡單的小程序。可以開始著手看演算法和數據結構的相關知識。也可以去看計算機組成的一些知識。
也可以根據自己的興趣選擇一些知識來學。想寫網站就去學學Python(這裡推薦廖雪峰的教程)或者JavaScript。想寫Android去學學Java。你學這些都會更加輕鬆,至少會比第一次雲里霧裡的感覺好一些。這寫寫出來項目稍快一些,極大地增長你的自信。 這些東西其實也沒有必要的先後之分。你對什麼感興趣就去學什麼。現在好多人強調學習順序其實有點過了。興趣才是持續下去源源不斷的動力。只要你認識到演算法、數據結構那些東西重要就好。每個方向都有很多知識。不必害怕,學一點是一點啊。 最最重要的還是多寫代碼,它會讓你愛上編程。 推薦你知乎搜蕭井陌,他的答案會給你一些好的建議。他有個編程入門指南也很棒。 理性看待一切回答,它們都帶有個人觀點。自己放心按自己的路走下去就好,不會有歪路的,只要自己不停下來。 共勉。你現在的狀態就像學英語知道了26個字母怎麼寫,但是要寫一篇作文,還得各種練
要不停日代碼啊。日出千行,日出千行
看到你給我回答點贊,順道就看到了你這個問題回答一下
按照這個順序C基本語法——&>(C++面向對象)——&>C#開發簡單界面程序——&>演算法數據結構資料庫——&>回歸C和C++,類似PHP python動態語言在學完c基本語法後學一下。
為啥要按照這個順序學習呢,因為c和c++雖說是編程必學的,但因為初期很難做出東西,很容易打擊初學者自信心而放棄,再加c++是從面向過程向面向對象過渡,也要學一下,以後C#可以說學習下就可以做出簡單界面程序,對初期學習有很大激勵作用。但這時你會發現你只能做簡單程序,所以必須要學資料庫數據結構演算法了,學完這些你就理論上可以做出任何程序了。學過PLT和編譯原理就可以看著BNF擼SML啦~(逃)
這不是寫多寫少的問題,也不是學什麼語言的問題。入門很重要,只在乎某種語言,急著做出產品不會給你帶來長進。系統地學習計算機科學是一個農民工變成一個設計師的過程,當然了,設計師不知道怎麼輪大鎚和水泥造房子,程序員卻可以獨立完成從設計到製作全過程。
哎,同計算機系,Cpp/java不知所云
磨刀不誤砍柴工,我的經驗是課本刷五六遍,然後寫個小程序,課本再刷五六遍,基本算入門初級了
別想那麼多 趕緊去敲代碼就行了
推薦閱讀:
※有沒有一本講解gpu和CUDA編程的經典入門書籍?
※有哪些語言的編譯器是用C++寫的? 為何選用C++
※為什麼解釋型的腳本語言(如Lua、Python)可以熱更新,而編譯型的語言(如C、C++)不能呢?
※C++ 析構函數問題?
※只是為了建立一點編程的思想思維,學哪個語言最好?