首先,要成爲一名優秀的程序員,必須知道計算機原理,特別是編程最終目的是幹了些什麼?怎麼編譯的?怎麼連接的?其次,要求對編程很是的熱愛,再者就是必備的知識基礎!linux
知識基礎就必須的包括如下:程序員
1.計算機語言基礎(C、C++等語言) --- 計算機知識 -> 推薦平臺linux 新手推薦就使用Ubuntu 算法
特別說明下: UNIX C 很是有必要去學下sql
推薦書籍:譚浩強的《C程序設計》、《鳥哥的linux私房菜》數據庫
2.數據結構與算法(*)編程
·數據存儲結構{堆、棧、隊列、樹、圖}windows
·算法(排序算法、遞歸算法、查找……) --- 這是關鍵,學好了一切語言都可以輕鬆掌握啦!這就要很是厲害的想象力和數學基礎能力數組
在這裏我推薦一下關於這個算法學習的網站數據結構
1.杭電ACM(HDACM)學習
2.北大ACM
這兩個網站的Acm題是真的頗有水準,一開始是會很是難,凡是一切開頭難嘛,跨出第一步就好啦!
3.模板、容器(STL、JSTL……)
容器比如數組,可是又比數組靈活可變 ;模板能夠使代碼更加的簡化,能夠加強代碼的可讀性
4.數據庫(Sqlite、MySQL、Oracle、DB2……)
數據庫是存儲數據的倉庫。數據須要平凡的使用,就不得不對數據更好的保護,因此數據庫這裏必需要掌握
1.數據庫基本操做(sql)
2.plsql
3.proc(*) 這個是很是有用!
----軟件基礎
Git 倉庫使用
--------------------------------------------
linux 發行版
1.Debian 2.mint 3.Ubuntu 4.Elementy 5.CentOS 6.Archlinux 7.fedora 8.Redhat 9.deepin(國產,windows依賴者必備)