編程總結

1. 數據的表達
1. 選擇一套優秀的學習資料,它能夠是書亦能夠是視頻
1. 知乎
2. Practice Makes Perfect,提升編程水平必定要勤加練習,推薦使用在線測評網站練習。
2. stackoverflow
2. 控制流的表達
3. wikipedia
3. 多分享,寫博客或者來知乎,SO上回答他人的問答,幫助別人不但讓你感到有成就感,其實也是提高本身的手段,由於只有當你能解答他人的問題以後你纔是真正地理解了這個問題。
3. 封裝和抽象
4. 美國一流大學的開放式課程
C: C Programming Language
C++: C++ How to Program
Euler Project
JAVA: Java Programming Language, Stanford's the programming methodology
Python: Dive into Python, Learn Python the Hard Way,A Byte of Python
TopCoder
USACO
比較適合新手的在線測評網站:
編程範式
變量的定義
不一樣的編程語言有着不一樣的抽象層次, 有些更偏向硬件的工做原理,有些更貼近人類的思惟方式。以Python和C爲例,Python更像英語,基本的思惟方式也更相似天然語言,而C則更相似於計算機硬件自己的工做原理。 對於初學者而言,若是你的背景屬於對計算機底層原理不熟悉的一類的話,學習C會帶來一些困擾。若是與此同時,你的動機是要使用編程語言來解決你的領域知識,而不想了解更底層的細節,Python會比C更適合。
部分語言的優秀的入門教材
常見的編程範式有:
常量的定義
當你成功地寫出本身的程序並經過測試以後,停下來,想一想是否還會有更好的實現方法,總結本身在實現過程當中遇到的困難,而且閱讀比你更聰明的那些程序員的方法,閱讀優秀的代碼會讓你學到不少。而後再嘗試用更好的方法去實現。
對應語言系統庫經常使用的API
而當對這些概念有了基本的印象並學會了用一門計算機語言表達這些概念以後,接下來對於初學者來講最爲重要的應該就是三件事情,掌握:
----------------------------------------------分割線---------------------------------------------------
感謝@李季的反饋,入門編程語言選擇的一個須要考慮的因素是初學者的背景與動機。
函數的定義和調用
函數式編程,在並行計算的時代,函數式編程的範式將會成爲另外一大主流,推薦對其作一些瞭解。
基本的數據結構,算法
堅持從頭至尾學習下來,遇到問題經過google來尋找答案或者上問答網站提問
結構體的定義
庫,模塊,命名空間的定義和調用
類的定義
類的定義和調用
面向對象的範式,這個應當是最爲主流的編程範式,從軟件開發的角度看, 它的優勢在於可以用面向對象的方式貫穿軟件開發的整個生命週期,包括軟件的設計、編碼、測試
面向過程的範式,這個應該是對於初學者而言最爲容易理解的方式,幾乎全部的主流語言都支持這一範式,初學者應當首先學會這種範式
其實主流的語言C/C++, Python, Pascal,Basic, JAVA, C#均可以做爲入門的編程語言。由於它們都存在一個具備足夠表達能力的語言子集,優秀的入門書籍,成熟的庫,以及強大的社區的支持。所謂選擇最好的入門語言多是一個僞問題,而真正的問題是當你選擇了其中一門語言後,如何選擇合適的學習方法。
順序語句
算法是計算機科學的靈魂,它的意義在於讓你理解計算機的工做方式的本質。對於初學者而言,不須要掌握過於複雜的算法,可是應當熟練地掌握基本的排序、檢索、遍歷的算法。數據結構亦是相似,初期掌握數組,鏈表,棧,隊列,哈希表,棧便可。
條件語句
我推薦的學習方法是:
我想表達的一個觀點是:
系統庫的意義在於能夠大幅提升你的開發效率,雖然重造輪子是程序員的一大樂趣。可是在實際工做中,咱們可能更多地須要追求效率,而系統庫是過去優秀的程序員的經驗的結晶,每每在性能和強壯性上都作了大量的優化,通常來說都會比咱們本身的實現要好得多。正因如此,學習和掌握系統庫雖然枯燥(初期要記憶大量的API細節),可是倒是一筆很是值得的投資。
須要澄清的是,這並非說Python簡單,我以爲Python遠比C要複雜,C語言自己的全部細節都在K&R一本書中說得清楚,而卻從未見過一本Python的書籍能涵蓋這門語言的全部細節。
學習一門編程語言,應該是容易的,由於計算機語言自己的特性只是它的語法。而計算機語言的語法無外乎是表達如下幾個方面的概念:
循環語句
如下想說說關於學習曲線的問題,初學者最大的障礙可能就是遇到問題得不到解答。不過,現在的學習條件跟當年互聯網不發達的時候相比已經好得多了,有這麼多優秀的問答網站,學習資源,百科全書可供使用,好比: 程序員

相關文章
相關標籤/搜索