成為一個程式設計師很簡單,0基礎的話培訓半年到一年就可以了。但是真正的高手大約要5年到10年的積累,這還是在悟性高毅力強的前提下。你執意要轉行的話就轉吧,前期痛苦點,堅持兩年就好了。我也是轉行的,不過是在大學開始自學的,那時候時間多。畢業後有參加的培訓,現在水平也不高,比起重點大學的學生來有種背景弱底子薄的感覺。但是沒關係,只要有毅力,他們那點基礎很容易補過來的。我在Windows下程式設計並且無比懷念著開源的Linux平臺(曾經很愉快的培訓了一個月的Linux,太棒了)。等我Windows平臺學的差不多了就轉到Linux上,現在不轉是考慮到畢竟要知己知彼。。。。跑題了。
這個順便幫你總結一下要學的東西:C語言對於程式設計師又如論語對於儒家弟子的重要性,一定要學好,這個過程要最少2年。萬事開頭難嘛。從語言層面上理解了計算機的工作方式後,學習一下計算機組成原理和作業系統的基本知識,弄明白指標記憶體、檔案管理、裝置管理(磁碟、顯示器、滑鼠鍵盤怎麼工作的得知道吧)。這樣最起碼算入門了。
然後根據愛好和研究方向學一門高階點的語音,C#和Java比較簡單,也比較廣泛,學的好找工作沒問題。真正博大精深的是C++,這不是一年兩年能搞定的。然後要從一個作業系統平臺從新起步,比如Windows平臺、Unix平臺。首先要掌握的是作業系統的工作機制(對不同的人意義不同,對使用者要知道操作,對程式設計師要知道程式執行方式,對安全防護、作業系統程式設計師要知道更核心的東西)然後你的程式設計師生涯開始。。。
C#是基於.net framework框架的,Java是基於虛擬機器的。這兩者都很成熟很強大,和C、C++一道是時下最流行的4種語言。學這兩門語言的同學是很幸福的,只是相對C、C++程式設計師來說。你可以這麼理解:C#和Java是C和C++的孩子,爺爺和爸爸是探路的,孩子們大樹底下好乘涼。
如果你選擇的是Windows平臺下的C++程式設計師,那C++本身和擴充套件的庫(STL、BOOST等)、Windows API、MFC、COM、ATL、WTL。。。這些東西根據個人情況,慢慢學吧。這些技術都是建立在理論基礎上的,所以你要更加註意計算機理論的學習:網路原理(socket程式設計)、資料庫技術(資料庫程式設計)、組合語言(嵌入式、遊戲、防毒、逆向)、編譯原理(編譯器的原理)、多媒體技術(資料傳輸、壓縮、解碼、聲音處理、影象處理)、圖形學(模式識別、虛擬現實)、人工智慧(AI不解釋)。。。當然這些東西是有側重的,根據你的行業而論。
還沒完,不過這對你夠多了。不要被這些名詞嚇住了,計算機只不過是個機器,只認識0和1,你永遠比它強!
成為一個程式設計師很簡單,0基礎的話培訓半年到一年就可以了。但是真正的高手大約要5年到10年的積累,這還是在悟性高毅力強的前提下。你執意要轉行的話就轉吧,前期痛苦點,堅持兩年就好了。我也是轉行的,不過是在大學開始自學的,那時候時間多。畢業後有參加的培訓,現在水平也不高,比起重點大學的學生來有種背景弱底子薄的感覺。但是沒關係,只要有毅力,他們那點基礎很容易補過來的。我在Windows下程式設計並且無比懷念著開源的Linux平臺(曾經很愉快的培訓了一個月的Linux,太棒了)。等我Windows平臺學的差不多了就轉到Linux上,現在不轉是考慮到畢竟要知己知彼。。。。跑題了。
這個順便幫你總結一下要學的東西:C語言對於程式設計師又如論語對於儒家弟子的重要性,一定要學好,這個過程要最少2年。萬事開頭難嘛。從語言層面上理解了計算機的工作方式後,學習一下計算機組成原理和作業系統的基本知識,弄明白指標記憶體、檔案管理、裝置管理(磁碟、顯示器、滑鼠鍵盤怎麼工作的得知道吧)。這樣最起碼算入門了。
然後根據愛好和研究方向學一門高階點的語音,C#和Java比較簡單,也比較廣泛,學的好找工作沒問題。真正博大精深的是C++,這不是一年兩年能搞定的。然後要從一個作業系統平臺從新起步,比如Windows平臺、Unix平臺。首先要掌握的是作業系統的工作機制(對不同的人意義不同,對使用者要知道操作,對程式設計師要知道程式執行方式,對安全防護、作業系統程式設計師要知道更核心的東西)然後你的程式設計師生涯開始。。。
C#是基於.net framework框架的,Java是基於虛擬機器的。這兩者都很成熟很強大,和C、C++一道是時下最流行的4種語言。學這兩門語言的同學是很幸福的,只是相對C、C++程式設計師來說。你可以這麼理解:C#和Java是C和C++的孩子,爺爺和爸爸是探路的,孩子們大樹底下好乘涼。
如果你選擇的是Windows平臺下的C++程式設計師,那C++本身和擴充套件的庫(STL、BOOST等)、Windows API、MFC、COM、ATL、WTL。。。這些東西根據個人情況,慢慢學吧。這些技術都是建立在理論基礎上的,所以你要更加註意計算機理論的學習:網路原理(socket程式設計)、資料庫技術(資料庫程式設計)、組合語言(嵌入式、遊戲、防毒、逆向)、編譯原理(編譯器的原理)、多媒體技術(資料傳輸、壓縮、解碼、聲音處理、影象處理)、圖形學(模式識別、虛擬現實)、人工智慧(AI不解釋)。。。當然這些東西是有側重的,根據你的行業而論。
還沒完,不過這對你夠多了。不要被這些名詞嚇住了,計算機只不過是個機器,只認識0和1,你永遠比它強!