完全沒接觸過編程怎樣自學編程?
我今年剛畢業,想自學編程,不知從何下手,網上有人說從一個腳本語言起步,我不知道對不對,我的目標是能自學成一個正規公司聘用的程序員。
首先,你得確定你是當什麼樣的程序員,目標要明確,比如是網站程序員,還是系統程序員,還是嵌入式系統的程序員?網站程序員又分用.net的和用java的,嵌入式系統的又分純軟體的,和軟硬結合的,純軟體的又分安卓和蘋果的……。當然,對於混在IT界十餘年的老鳥而言,從一類程序員轉到另一類程序員,一兩個星期即可,但很明顯,這不適合於新手。我個人建議對於新手,或者是想早點當程序員賺錢的新手,以http://asp.net網站程序員為目標會好一點,因為這個上手容易,學習周期不長,而且需求量也大。其次,從時間方面來說,對編程小白到「一個正規公司聘用的程序員」,請準備大概一年半到三年的時間(認真,投入的學習);最好是花點錢(大概兩年兩到三萬左右學費)去上一個培訓機構,北大青島,牛耳教育之類的都可以,這樣效率會比純粹的自學高。
第三,如果是確定就是自學,那麼就要制訂好相應的計劃。以http://asp.net網站程序員為例子來說,第一個階段:前面半年的時候可以看一些《21天學會***》,《***入門》之類的書籍,因為http://asp.net用的人多,所以書也多,可以去高校圖書館或者是書店找到很多有關的書籍,隨便翻翻,如果覺得有點難度,就放棄,如果覺得有點意思,能看懂也能看下去,那就拿下,用半年時候看上五六本書,那就基本上算是入門了。這一階段的目標是:在網上下載一個別人的網站源代碼,能夠自己配置好通過運行,看懂別人的代碼,在此基礎上可以根據特定的需求來修改並運行通過。第二階段,就是開始有一些深入的思考,學點基礎知識,比如數據結構,比如資料庫原理,比如演算法分析等,其實就是參照當前大學本科計算機專業的課程設置有選擇性的進行學習,這一階段的目標是:能編寫出健壯的,高效的,高可靠的代碼。到了這一階段,基本上就可以去外面找個小IT公司試下了,只要你不是很在乎報酬,還是能找到的,然後到了真正的工作環境中,要真正的開始處理問題,提高會比較快的。後續如何發展,就看你的興趣和能力了。
其實最重要的,還是要堅持,計算機學科是很講究厚積薄發的,只要堅持下去,就有成為技術大牛的可能性。C++Primer5th中文版 + Visual Studio 2013 Community。
樓上說直接看大部頭的c++ primer 作為初學者入門,我完全不同意。題主可以使用google搜索國外大學計算機課程,然後照著課表學就可以了。這些課程都掛在網上。lecture video lab project都有,你照著學就是了。
先搞python,很容易形成正向激勵。我記得我寫的第一個有用的python程序是把tokyo-hot裡面的每個妹子的8張圖下載到硬碟里,當時不知道怎麼設置路徑,全爬在了桌面的一個文件夾里,撐滿了C盤。反正之後一個多月,我很有激情(:
學Python吧,或者Java,前者網上資料一大堆,基礎通完後做個小項目就OK,後者可以看瘋狂Java講義系列,上來就學C++會嚴重打擊你的學習熱情。
建議先學Python,同時用《鳥哥的Linux私房菜》學Linux基礎,然後買個乞丐版阿里雲ECS用Python搞點小東西做做,可以用wordpress或emlog搭個博客順便學php,在收穫成就感的同時也基本入門了。
我是早期寫Basic語言入門的,做競賽時和機房裡的同學一起用Basic做小工具和小遊戲時的成就感至今很少有超越,對我堅持在這個行業起了一定的支撐作用。如果當時我們上來就用C++,我可能會更傾向轉入遊戲行業做策劃。
我認識很多大牛是半道出家的,他們有個共同點:好奇心強,敢想敢做。
技術是做出來的,learning by doing,一定要勤動手。
以上。life is short you need python
輪子哥估計是又喝多了,哈哈
網易雲課堂上有專門的計算機課程
http://study.163.com/curricula/cs/grade-1.htm
C++Primer Plus 6th中文版 + Visual Studio 2013 Community。
可以去傳智播客官網下視頻看~然後多寫代碼多思考~
C/C++/Java/Python/Haskell都用過。
首先,十分不建議用Python這種腳本語言入門。一旦你用爽了就覺得自己什麼都會了,就會忽略編程中很重要的基礎部分,比如數據結構演算法,比如計算機體系結構。
推薦C++入門,既有基於過程,又有面向對象,但是不推薦一開始就看《C++ primer》,這本書比較難。強烈推薦《好學的C++》,難得一見同時又非常優秀的入門書籍。還有,千萬別看某某強的書,錯誤太多而且內容不好。這有什麼,當初上大學的時候連電腦都不會開,還不是照樣過來了,10年
The C Programming Langrage + OS X terminal
推薦閱讀:
※為什麼幾乎所有的GUI界面都採用事件驅動編程模型?
※有誰可以介紹一些團隊任務分配管理軟體?
※如何編寫一個硬體模擬器?
※像QQ遊戲這樣的界面應該用什麼框架開發比較好?
※作為一枚程序猿,你有或見過哪些奇葩的編程習慣?
TAG:程序員 | 軟體開發 | 編程 | 應用程序Application |