① 計算機編程入門
選擇一門編程語言、建立基本的編程思想、注重實驗和學習相關知識。
1、選擇一門編程語言。
雖然目前編程語言有600種左右,但是比較流行的編程語言只有幾十種,所以盡量選擇流行程度比較高的編程語言來入門編程。對於沒有明確編程場景的初學者來說,盡量選擇全場景編程語言,比如java、python、C#等就是不錯的選擇,不僅應用范圍廣泛,而且也有大量的開發案例可以參考學習。
(1)編程入門教程擴展閱讀
注意事項:
1、網上有很多編程社區,編程論壇,以及免費的學習教程、視頻資源等。剛開始學習,除了看書,要親自上手實踐,遇到問題去這些地方查找。
2、要學習電腦編程,對於剛入門的新手來說,一定要多實踐,多敲代碼,遇到bug上網查找,多看看別人的博客、個人網站,向程序員大牛學習。
② 編程入門教程
1. 我應該選擇什麼編程語言
可能困擾編程新手最多的一個問題是【我應該學什麼編程語言】或者【我需要學習哪些課程才能做出一個web、一個app】,很多人一直糾結這個問題,陷入了東學一點、西看一點的死循環,到頭來啥也沒學好,這會很浪費時間。
剛上大一的時候,我也很想知道應該選擇什麼編程語言。我問了很多人,網上各種查資料,但所能得到的答案都很片面,多數對這個問題答非所問,總是回答說「某某編程語言難」,「某某編程語言性能好」。其實作為初學者,我們對計算機體系都不了解,就不要過多地去糾結性能,或者難易等因素,原因我等下再說。
如果你有明確的方向,那麼很好選擇。如果你想做演算法、機器學習方向,那麼python是最好的選擇。如果你想做web開發,java、php等都可以。如果想做一些更底層的工作,那麼就可以選c。當然這是建立在你有明確方向的基礎上。可是,很多人都沒怎麼接觸過計算機行業,特別是和我一樣剛入學就被調劑到計算機專業的人。對這些同學來說,各個編程語言就只是個名字,除了叫法不一樣,你根本不知道它們有什麼差別。所以索性不要糾結了,我替你選一個吧。
如果你是在校大學生,那麼你有大把連續的時間,就先學習c,然後再學c++。我個人是學c入門的,也許很多人不理解我為什麼推薦學c,因為c和c++都很難、很復雜,看起來並不適合入門。然而正是它們的難和復雜才能讓你更好地理解計算機系統【計算機系統不是指操作系統】。學習編程不是學習編程語言,而是學習一個計算機生態,即一個龐大的知識體系。只會編程語言而不理解整個計算機的體系,就像只會寫字而寫不出好文章。了解c/c++和了解計算機系統是極為貼合的,向下可以幫助你更容易地理解操作系統、編譯原理、計算機網路、計算機組成原理,為什麼呢?因為較為底層的東西很多都是用c實現的,和系統的貼合度極高,很多教材源碼甚至教程,在講述這些知識的時候都是用c或c++作為媒介。而向上,c++面向對象的機制,也可以做出一些應用,譬如五子棋游戲等,也不會顯得那麼枯燥。花個小半年時間了解c和c++,之後你就會覺得看書、看資料可以輕松很多。
如果你是一個上班族,但是剛剛學習編程,可能學c和c++對你來說有些復雜和困難,因為學習它們確實是很需要時間。你們不像在校生那樣有大把的連續時間,而零碎的時間去學習一個比較復雜的東西效果不見得有那麼好,所以可以先學一些【更容易見效】的編程語言,從python入手吧,至少能快速做出一些小應用,不至於丟失了興趣,但是真的要入門編程又還得看看與計算機系統相關的書籍,這樣才能更深層次地去編程,譬如【深入理解計算機系統】這一本書可以讀很多遍,這本書把整個計算機系統給串起來了。
2.學習編程,我需要學習哪些課程?
我要學哪些課程?我為什麼要學習如高數、離散數學、線性代數、概率論等課程?
這個問題也是之前困擾了我很久的問題。不過我現在想通了,對於【高數、離散、線性代數、概率論】等課程,很好解釋,做演算法的同學肯定知道為啥要學習這些課程。機器學習中會大量用到上述提到的課程,所以會比較好理解。對在校生而言,學校開設的很多課程我們不知道為什麼要學,我們很疑惑,不知道學它有什麼用,這個時候我們就會很糾結,還會產生抵觸情緒。這很正常,因為我們學習得不夠深入,自然不能理解它們的用處。
在我看來,大學本科課程更多的是面向「面」的教學,即什麼課程都教給你一些,但是又講得不那麼深入;而工作或者讀研,更多的則是面向「點」的學習,用到的知識更專。本科時,學校也不知道你以後是去搞演算法、還是搞架構、還是搞伺服器開發,甚至去搞硬體,所以學校需要你學很多課程,至少有個了解。對學生來說,一方面可以從中選擇自己感興趣的點;一方面也可以對未來的就業方向有些啟發。所以即使像數電、模電等課程,雖然之後可能用不著,但是你也要學,並且會花費大量的時間。雖然你最後不一定去搞硬體,但是這些課程也會讓你更容易去理解一些知識,比如cpu中的邏輯器件。
如果你在大一的時候就有一個明確的定位,知道自己今後想從事哪方面的工作,課程與課程之間是可以調一下優先順序的。不過像大學物理,這種課程確實是對編程沒有幫助,但是像我前面所說的,大學教育更注重廣度,大物等課程可能就是為了給你普及生活常識吧。
其實,大學教育的問題是普遍存在的,我認為我們學習一項技能的時候,應該採取的是項目驅動式學習,即需要用到什麼東西時不會了再去學,而不是先填鴨式的都填進腦子,並且在學習的過程中我們還不知道它這是幹嘛用的,等之後用到了,甚至不記得自己學過,反而查資料才會想起:哦,原來我之前學的xx科目是這個用處啊,可是我當時並沒有好好學。很多時候學生時間的浪費可能還是要怪老師、怪學校,他們一開始沒給我們做好充分的課程介紹。所以,在經過比較多的編程和項目實踐後,我認為一個比較好的學習方式是,改良版的項目驅動學習法。即:
學習一段時間,做個小項目,將做項目遇到的問題記下來,針對性地學習相關知識,然後再實踐,再學一段時間理論,讓知識成網狀發射狀地變大。當然,項目驅動式學習有一個弊端,就是每次學習的知識都是項目所需要的,很零碎、不成體系,所以需要改良,即在採取項目驅動學習法的時候每天抽一段時間去完整地讀一本書,或者一個相關問題的完整介紹,這樣就很容易把一些知識成體系地串起來。這樣一段時間下來,慢慢的,你就知道我們為什麼要學那麼多科目,學這些科目能幹什麼。
為了表達地更加形象,我就舉一個小例子,是我最近遇到的。我本身的工作是做Linux C++的,但不僅限於此。我個人對python、數據分析,以及機器學習等內容比較感興趣,大家可以看到我最近也在我的專欄發布了很多文章。就從數據獲取開始,我講講我這兩個月做了什麼東西。
談到數據獲取,可能最容易想到的是爬蟲,爬蟲是一個在知乎上被說爛了的話題,所以我不想多說它是什麼。很多時候有人覺得爬蟲簡單,為什麼呢,因為有現成的框架,所以獲取少量的數據就比較容易。但是當你需要爬取的數據很大的時候(比如我之前抓取了知乎500萬用戶的數據,在下班的時間、用自己家裡普通的pc,計算機性能並不是那麼好,比不上伺服器,又要在不被封IP的情況下抓到這么大量的數據,然後對數據進行清洗,最後還要可視化展示),使用現成的爬蟲框架就並不是那麼容易實現了。況且,我需要抓很多數據源,並不是一錘子買賣。所以我選擇去開發一個系統,即在現有的框架下進行二次開發,搭建一個屬於自己的爬蟲系統,並植入一些演算法。我在系統中添加了很多中間件,直到現在,它還可以在10分鍾內就部署一個能抓取大量數據的爬蟲應用。
③ c語言編程怎樣入門
相對於其他編程語言,C語言還是比較難的。初學者需要注意一下幾點:
一是學習順序
先從熟悉簡單的C語言語法開始入門,然後再循序漸進,學習C++語法,WIN32、MFC、QT、網路編程,資料庫、數據結構、演算法、COM、STL等。構建一個完整的C語言知識體系。這需要一個比較漫長的學習積累的過程。語法入門部分大概2-3個月,其他部分需要學習和工作中慢慢理解和消化了。
二是學習方法
人的知識80%是通過眼睛獲取的,但是學習編程有所不同,除了看書、看視頻之外,關鍵是要勤動手,勤動腦。通過做大量的練習、項目實戰不斷積累代碼量。只有代碼量足夠多了,項目做的多了,才能算是真正學會了。項目能否完成,就是衡量是否學會的唯一標准。後期就是代碼的質量和優化問題了,這個只能在項目工作中慢慢積累經驗了。
最後強調一點,很多人學不會編程是因為掉坑裡了。就是教程或者書上的知識點之間跨越太大,作為一個初學者很難自己摸索出來,前面的知識點沒有掌握,接著學習後面的知識,肯定是學不會了。目前絕大多數編程書籍和教程或多或少都有這樣的弊端。自學能力比較強的人可以通過各種方法,參考各種網上的資料自己解決。但是大多數自學能力不是很強的人,只能依賴老師、同學、同事或者朋友幫忙指導,或者報名培訓機構,老師指導完成了。學習編程通常需要一些好的學習資料,包括紙質的書籍,視頻教程,課件,項目練習,代碼。零基礎入門的書籍推薦《明解C語言》、《C Primer Plus》,還有一本非常特別的匯編和C語言正向逆向結合的書編程達人內部教材《匯編、C語言基礎教程》也非常不錯,講解匯編和C語言的本質非常透徹,非常細致。視頻資料也是特別多了,各種視頻網站、論壇、自媒體都有,比如網易課堂、騰訊課堂、慕客網這些。還有一些論壇,比如CSDN、編程中國等。最重要的一點就是答疑服務,推薦愛達人的網站也很不錯,從零基礎入門到應用課程,配套的視頻、課件、代碼、項目、答疑服務都有,還可以兼職接單,學以致用。
④ 學習編程如何快速入門
熟悉以下關鍵東西,可以邊學邊做,定期訓練,經常思考,長期積累:
1、語法。
2、基礎理論(數學、數據結構、演算法等)。
3、設計方法(編程原則、設計模式、框架設計等)。
4、庫(核心、基礎、UI、擴展、游戲引擎等)。
5、計算機相關(操作系統、網路、圖形學等)。
6、領域知識(游戲設計、網站設計等)。
7、開發工具(編輯器、IDE、自動部署等)。
8、項目管理(進度管理、分工協作、Bug管理、版本控制等)。
最普遍也是最重要的能力:創造力。努力分析並理解好做什麼以及怎麼做。要知道上面那些東西一開始都是不存在的。
具體方法包括:
1、快速閱讀入門教程和書籍,適合學習語言和基礎庫。比如學Java讀的《Java編程思想》,練習題做過一點,然後學ActionScript、讀Adobe官方文檔《ActionScript 3.0編程》。
2、閱讀庫的文檔、實例、源碼。比如Flash、Flex開發,熟悉官方API很重要,很多細節要具體使用時才注意到,這時候最好做個筆記。
3、做一個自己感興趣或熟悉的小項目,比如我就以黑白棋游戲作為多個語言的試水項目,一樣的邏輯,便於把關注點放在語言特點上。
⑤ 自學編程怎麼入門(零基礎)
個人自學編程可以從以下幾方面入手:
確定編程學習的方向。編程語言有多種:C++,C,C#,JAVA,Python等,每種語言都有不同的優缺點,可以根據自己的興趣方向選擇一門編程語言作為自己的學習目標。
拓展資料:
編程是編寫程序的中文簡稱,就是讓計算機代為解決某個問題,對某個計算體系規定一定的運算方式,使計算體系按照該計算方式運行,並最終得到相應結果的過程。
為了使計算機能夠理解人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程。
編程:設計具備邏輯流動作用的一種「可控體系」【註:編程不一定是針對計算機程序而言的,針對具備邏輯計算力的體系,都可以算編程。】
為了解決使用機器語言編寫應用程序所帶來的一系列問題,人們首先想到使用助記符號來代替不容易記憶的機器指令。這種助記符號來表示計算機指令的語言稱為符號語言,也稱匯編語言。
在匯編語言中,每一條用符號來表示的匯編指令與計算機機器指令一一對應;記憶難度大大減少了,不僅易於檢查和修改程序錯誤,而且指令、數據的存放位置可以由計算機自動分配。
用匯編語言編寫的程序稱為源程序,計算機不能直接識別和處理源程序,必須通過某種方法將它翻譯成為計算機能夠理解並執行的機器語言,執行這個翻譯工作的程序稱為匯編程序。
參考資料:編程_網路
⑥ 自學編程入門
1。清華譚浩強的書c 2。清華譚浩強的書c++
3。清華嚴蔚敏的數據結構
4。C++Primary第4版中文版
5。深入淺出MFC第二版
如果很有興趣的話,可以看看以下的書
1,c++
C++程序設計語言(特別版)---c++八大金剛----Bjarne Stroustrup「C++之父」
C++ Primer (第3版)中文版----c++八大金剛---Stanley B.Lippman
C++ Primer (第4版)中文版----c++八大金剛---Stanley B.Lippman
C++標准程序庫—自修教程與參考手冊--c++八大金剛--Nicolai M.Josuttis
C++語言的設計和演化-----c++八大金剛----Bjarne Stroustrup「C++之父」
深度探索C++對象模型---c++八大金剛----Stanley B.Lippman
Essential C++中文版---c++八大金剛---Stanley B.Lippman
Effective C++中文版 2nd Edition-----c++八大金剛------Scott Meyers
More Effective C++中文版----c++八大金剛------Scott Meyers
C++編程思想(第2版) 第1卷:標准C++導引--------Bruce Eckel
C++編程思想(第2版)第2卷:實用編程技術 --------Bruce Eckel
C++程序設計--------------------------譚浩強
C++ 程序設計教程(第2版)--------------錢能
C++ Primer Plus(第五版)中文版---Stephen Prata
廣博如四庫全書The c++ programming language、c++ Primer
深奧如山重水復Inside the c++ object model
程序庫大全The c++ standard libray
工程經驗之積累Effective c++、More Effective c++、Exceptional c++
c++八大金剛:
1、Essentital c++---lippman---C++之父,旁枝暫略,主攻核心,輕薄短小,初學者
2、The c++ programming language----C++之父,技術權威,用詞深峻,思想深遠,c++網路全書代表,聖經。
3、c++ Primer----lippman---縱橫書市十數年,c++最佳教本,c++網路全書代表。
4、Inside the c++ object model-----lippman----揭示c++底層,非常好,非常難。
5、Effective c++-----通過50個編程實例,展示專家經驗,行文有趣,深處淺出。
6、More Effective c++----通過35個編程實例,展示專家經驗,行文有趣,深處淺出。
7、The c++ standard libray---c++標准庫的網路全書。
8、設計模式:可復用面向對象軟體的基礎------good!
2,c
C程序設計語言(第2版·新版)---C語言「倚天屠龍雙劍」---Brian W.Kernighan「C語言之父」
C Primer Plus中文版(第五版)--------C語言「倚天屠龍雙劍」---Stephen Prata
C程序設計(第三版)---------------------------譚浩強
C語言大全(第四版)---------------------------HERBERT SCHILDT
C語言介面與實現:創建可重用軟體的技術-------------DAVID R.HANSON
C語言參考手冊(原書第5版)--------------------------Samuel P.Harbison
C程序設計教程---------------------------------H.M.Deitel/P.J.Deitel
C陷阱與缺陷-----------------------------------Andrew Koenig
3,vc
Windows 程序設計(第5版)-----Charles Petzold「windows編程泰山北斗」---
Windows核心編程----------Jeffrey Richter「windows編程泰山北斗」---
Windows高級編程指南---------Jeffrey Richter「windows編程泰山北斗」---
深入淺出MFC(第二版)-----「MFC四大天王」-------侯捷
MFC Windows程序設計(第2版)---MFC四大天王」---------Jeff Prosise
Visual C++ 技術內幕(第4版)--MFC四大天王」--------David Kruglinski
深入解析MFC-------------MFC四大天王」-----------George Shepherd
Visual C++.NET 技術內幕(第6版)-MFC四大天王」------------David Kruglinski
如果對您有幫助,請記得採納為滿意答案,謝謝!
我覺得vb vc都是可以的 vc要復雜一些 vb簡單一些 VC 東西多 現在常用的是vc vc可以將vb 包含 建議你從VC學起 這是涉及很多的內容 可以說是博大精深 可以試試
⑦ 電腦編程入門教程
VB基礎視頻教程: http://www.cxzzl.com.cn/cxzzlschool/index.asp?boardid=63 VB進階視頻教程: http://www.cxzzl.com.cn/cxzzlschool/index.asp?boardid=78 C語言基礎視頻教程: http://www.cxzzl.com.cn/cxzzlschool/index.asp?boardid=129 易語言基礎視頻教程: http://www.cxzzl.com.cn/cxzzlschool/index.asp?boardid=101 易語言進階視頻教程: http://www.cxzzl.com.cn/cxzzlschool/index.asp?boardid=118 易語言高級視頻教程: http://www.cxzzl.com.cn/cxzzlschool/index.asp?boardid=195 易語言資料庫編程視頻教程: http://www.cxzzl.com.cn/cxzzlschool/index.asp?boardid=194 匯編語言基礎視頻教程: http://www.cxzzl.com.cn/cxzzlschool/index.asp?boardid=119 匯編語言進階視頻教程: http://www.cxzzl.com.cn/cxzzlschool/index.asp?boardid=120
⑧ 編程快速入門
第一:入門階段
在剛開始接觸一門新的知識的時候,我是建議以視頻起手的,咨詢過很多自學的前輩們也都建議零基礎起步的話還是建議跟著視頻走。可能有的人當初入門的話一開始就是看書,我這里僅發表一下自己的看法以及自己自學時的感受。
為什麼剛開始我不看書學習,因為我一直認為書是用來進階用的,因為剛開始就看書的話不容易沉得住氣,很可能看不下去,因為看書要比視頻花費更多的精力去思考,書中的內容有些知識點需要你一遍又一遍的去看去理解,而且很可能還是不懂,但是視頻的話因為視頻本身就是一種泛娛樂的形式,所以我們看視頻的話不會感到太累。另外視頻因為是有老師在講,我們更容易聽的進去,所以看視頻入門會更快,因此我建議剛開始入門—–看視頻教程。
注意:
關於視頻的選擇,作為入門選擇的視頻教程的標准一般是較新涵蓋的知識點較全面。
根據視頻章節,一定要做好每章的筆記,尤其是自己不太明白覺得以後要重點學習的內容。
筆記很重要,一定要保存好!
視頻中的demo自己一定要實踐一遍。
特別聲明:
這一點非常重要那就是在第一入門階段,我們只看視頻教程,記住只看視頻教程。為什麼呢?我們在第一入門階段不是讓你精通的,而是讓你以最快的速度去走進這門技術,讓你的大腦中有這門技術的印象,要達到一些普遍的技術點知識你腦子里都有印象,當然你可以不會,我們是在建立知識網,以後慢慢填滿它,記住,認真的把視頻教程學完,其中遇到很是不明白的,記錄下來不用糾結,另外視頻中的demo自己一定要親手試一下。
形成知識框架
第二:看書
經過第一階段整套視頻的學習我們對要學習的技術已經有個大致全面的了解了,一些基礎的知識點也掌握一二了,下一步就該進階了。在第一階段我說過看書適合進階,那麼在第二階段我們選擇一本口碑不錯的書籍進行學習,這個時候有兩點,如果經過第一階段視頻教程的學習,覺得自己學的還可以的話,選書的時候不用太注重偏入門,可以挑選偏提高一點的書籍,如果覺得在視頻教程階段入門不夠徹底,第二階段學習書籍的時候則可以選擇偏入門的書籍進行學習。書籍不同與視頻,這個階段我們就要對書中的一些知識點力求完全理解了,對於書中某一點的講解如果不是很明白的話,可以反復看幾遍,多多理解,自己多動手實踐,尤其對於看視頻教程時筆記中標記不明白的知識點在看書階段一定要把他看懂。
注意:在第二階段進階階段看書的時候,最好也是只看書,因為該有的知識書中已經包含,這個階段最好把在看視頻階段遇到的問題都解決掉,在看書階段同樣要把不明白的知識點和比較重要的知識點記錄下來,然後認真把書從前到後通一遍,這個時候你可能把視頻階段遇到的問題解決掉,但是由於自己學到的更多了,理解的也更透徹了,所以在看書階段肯定會遇到更加高深的問題,別擔心,把問題記錄下來,看完書,我們繼續!
記住,將知識點形成知識框架
第三:拔高
經過第一視頻階段和第二看書階段我們已經熟悉了要學習技術的百分之八九十的知識點了,到了第三階段我們就要進行拔高訓練了,這個時候該知道的也知道的差不多了,而且也有自己的一套知識框架了,像這樣(以Android為例)
這里寫圖片描述
但是不是很精通,尤其對於一些很重要的模塊可能還有點模糊,這個時候就要進行專項攻克了,要有針對性的進行訓練學習,對於一些比較重要的知識點更要多加學習練習,這個時候要多找點demo來練習,這個時候也可以去找一些有針對性的視頻教程或者書籍去看,另外的話應該去看一下在這個技術領域大牛的一些博客以及經驗分享,這個時候的主要學習資源就要集中在優秀博文學習再加神奇「Google」,要記住這個階段就是去解決各種問題,攻克各個難點,能利用的資源工具盡量通通用上,也可以多找前輩請教咨詢,這將是一個非常大的轉折點,也是一個分水嶺,真正度過新生期向熟練過度的階段,有的人甚至能成為高手,這個時候就要看自己的勤奮努力程度了,很重要的一個階段,也會讓你覺得對這個技術,自己原來真的可以掌握學會的一個階段!
第四:精進
這個階段你已經不是新手了,有的可以說是高手了,這個時候就要開始做項目了,找一個完整的項目開始練習,要成為github的老熟客,要開始熟悉了解並掌握學習各大流行開源項目,自己也可以試著寫一寫開源項目,然後寫一寫專項博客,將自己獨到的見解分享出去,總之就是開始」高逼格」學習,做項目,學習開源項目,寫開源項目,分享技術等等!你離大牛越來越近了!
最後,你應該已經學會這門技術了吧!如果你想說,還可以繼續深入學習嗎?遇到瓶頸?以我目前的水平,更高深的我不知道,我覺得基礎應該是重點,編程技術這塊,數據結構啊,演算法啊等應該可以讓你突破瓶頸!
關於知識框架
這一點我覺得非常重要,形成自己的知識框架對我們系統的學習一門新的技術非常重要,所以在學習的過程中,要慢慢的形成自己的知識框架,主要是記錄一些知識點,由點到線,由線到面,從而形成屬於自己的一套包含這個技術所有知識點的知識框架。做知識框架的工具有很多,這里我推薦下幕布,使用很簡單,至於好不好,只有自己用了才知道,它是支持在微信上使用的,當然也有客戶端,掃描下方二維碼,立即注冊,還能獲得15天的高級版體驗。
⑨ 程序員入門:如何自學編程
1、選定方向
編程的世界是多元紛繁的,大的方向就分前端開發、後端開發、移動開發、雲計算、數據處理、智能硬體、物聯網、虛擬現實等等,光編程語言都幾十種。如果沒有做過功課,貿然進入只會分分鍾懵逼。所以最好是根據自己的興趣愛好再結合市場前景,先選定一個方向,再選擇一門語言,然後頭也不回的深深扎進去。
2、優化學習方式
做好筆記,記錄經驗,我們大多數人並沒有過目不忘的神技,很多時候我們學了也不一定馬上掌握,需要過後花時間慢慢領悟,而且還有忘掉的風險,所以對於重要的知識點都要做好筆記。
3、多看官方文檔,外文資料
互聯網是一個更新迭代很快的行業,所有編程語言都會不斷的更新新功能和修復舊Bug,網上查的資料很有可能是舊的解決方案,現在已經不適用了。所以最好最快的方法就是查看官方文檔。
4、動手做項目
我們學習編程的最終目的就是用所學的做出具有一定功能的項目,而做項目又是最好的學習和鞏固知識的方式。如果前期能力不足就先做一些簡單的功能模塊,一步一步慢慢來,不要一開始就要實現各種酷炫炸天功能,遇到不會的就在網上查, 現在互聯網這么發達,獲取資源也及其方便。
⑩ 新手如何學習編程
熟悉以下關鍵東西,可以邊學邊做,定期訓練,經常思考,長期積累:
1、語法。
2、基礎理論(數學、數據結構、演算法等)。
3、設計方法(編程原則、設計模式、框架設計等)。
4、庫(核心、基礎、UI、擴展、游戲引擎等)。
5、計算機相關(操作系統、網路、圖形學等)。
6、領域知識(游戲設計、網站設計等)。
7、開發工具(編輯器、IDE、自動部署等)。
8、項目管理(進度管理、分工協作、Bug管理、版本控制等)。
最普遍也是最重要的能力:創造力。努力分析並理解好做什麼以及怎麼做。要知道上面那些東西一開始都是不存在的。
具體方法包括:
1、快速閱讀入門教程和書籍,適合學習語言和基礎庫。比如我學Java讀的《Java編程思想》,練習題做過一點,然後學ActionScript就沒讀過書,只讀過Adobe官方文檔《ActionScript 3.0編程》。
2、閱讀庫的文檔、實例、源碼。比如Flash、Flex開發,熟悉官方API很重要,很多細節要具體使用時才注意到,這時候最好做個筆記,雖然我從沒看過我的筆記。
3、做一個自己感興趣或熟悉的小項目,比如我就以黑白棋游戲作為多個語言的試水項目,一樣的邏輯,便於把關注點放在語言特點上。
4、自己動手豐衣足食。廚師有菜譜,程序員可沒菜譜。比如我做游戲,最關鍵的游戲編程知識全部是動手學出來的,很少有專門針對某個業務領域(如游戲)的編程書籍,要麼是入門書,要麼是模式書(如演算法)、理論書(圖形學),很少有書籍教你如何開發一個45度角地圖系統加編輯器的,全靠自己思考,以及看前人的代碼,需要時找些網路資料。關鍵是,可以培養最重要的創造力。
對於演算法和設計模式,可以研讀下,但是關鍵還是靠平時如何使用了。新手勉強不來的。
項目管理方面的,就得靠工作經驗了,多思考多提意見不要只走流程。