學編程主要是學習什麼(學習重點是什麼?)

如果說上MSDN一查就能隨手就能查到的介面用法不重要、那最重要的是什麼呢?也就是說編程最重要的什麼?


我覺得對於現在大多數程序員來講,最重要的是學習寫出那些可以讓人一看就能看明白你的代碼的用法的文檔……


將現實抽象成演算法,然後使用代碼實現演算法


+ - * /

if-else while for break return

int float struct class

array list map

function callback

熟練以上用法覺得能糊口了.似乎是戴克斯徹回答學生的話.原話更少2行.

編程大多數的活,就是上邊幾個.我一介碼農看到後深以為然.

然後了解一些切口黑話和概念.比如線程大概是什麼意思.隨機數怎樣用法.基本的網路連接怎麼樣的.基本的編譯流程等.就是類似你讀一篇&<工程建築安全防範標準與條例&>.大多數是常識和規章,乃至妥協(因為硬體辦不到),少數有一定的知識.

剩下的是特定領域的業務了.有的需要對硬體特別了解,有的需要很好的數學或語義知識.其實跟編程關係不大了.總之90%碼農不了解也是可以活下去的.人艱不拆.

程序員算是半個工程師.更好的比方我覺得就是是個木匠,手藝活.

學手藝嘛,一是糊口,二是自娛.

你的興趣在結實安全可防撞,還是美觀漂亮小清新,或者精緻複雜能摺疊,乃至量產廉價傾銷齊魯豫,發揮你的工匠精神就是.

我們的工作就是打字啊,雖然比較慢,不能否認我們就是手藝人啊.

去看手藝人大都是什麼脾氣,程序員大概就是什麼脾氣.

純屬自黑,聊以自慰.


學習清楚高效的把現實中的問題轉化為程序。

清楚就是人讀起來不費力,高效就是計算機讀起來不費力。

這兩者有一點點點點的矛盾,但好的程序員應該是能兼顧兩者的。


Program = algorithm + dataStructure


好像某個哲人說過,程序=演算法+數據結構,如果這句話成立,人=水+脂肪+碳水化合物,也成立了。。

我覺得人之所以稱之為人就是因為有想法,有社會屬性。。

一個好的程序也是這樣。。有架構,有設計,還要有用處。。

本質來說。。學編程主要就是學習這些。。


我認為所有的技術都是為了變成價值。

基於這一點,學習編程最主要的就是如何能快速實現它的價值。

1.你必須掌握編程的基本思想。

2.基於這些思想掌握快速學習的能力。

3.根據眼前的需求定製解決方案,然後評估最好技術手段。

4.學習這些技術,實現需求。


如何成為一名向攻城獅奮鬥的程序猿!


第一階段:語言

第二階段:架構

第三階段:演算法

。。。


邏輯。我就是因為想不清楚實現流程的邏輯而編不出程序的,掩面而去......


如果什麼都是去靠google和msdn的話,為什麼要招有經驗的而不招一個便宜聰明聽話的應屆生?

所以最重要的是經驗的積累,並且把經驗運用到以後的工作中.

所以API, IDE,操作系統,資料庫,常用演算法等等很多,是綜合的能力


我一直以為編程,首先你要知道你在做什麼,然後做!


主要是學習計算機的 學科思維

學會從計算機的角度來看問題,學會將現實問題轉化為計算機可解的問題。甚至用計算機的角度來理解世界上的任何事物。每一門學科都是一個工具,同樣一個問題,數學家有數學家的解法,物理學家有物理學家的解法,計算機科學家有計算機科學家的解法。這就是學科思維,是你看問題和理解事物的角度。


我覺得從開始學編程到現在兩年多,學到的最重要的東西就是利用一切能夠利用的的資源,去學習和解決自己沒有遇到過的問題。

另:每個程序猿都能寫出機器能讀懂的代碼,但不是每個程序猿都能寫出別人能讀懂的代碼。


推薦閱讀:

國外很多遊戲服務端遊戲邏輯部分用c++開發,上線後沒辦法熱更,他們是怎麼考慮的?
本人有一定的C++基礎,想哪一些項目練手熟練C++,怎麼開始呢?有什麼建議?
有沒有C++的web伺服器?
會C語言,如何學好C++?
C++ 編譯時會把標準庫里所有的函數都編譯嗎?還是其他的實現方式?如果全部編譯不是太費時間了?

TAG:程序員 | 編程 | C | DirectX |