不論你學的是C、C++、C#、vb、java,你都要學習下面的東西,當然你已經很瞭解的,可以跳過,或者做適當的複習:
1、計算機硬體原理:瞭解硬體怎麼工作,知道軟體是怎樣在硬體上工作的,CPU架構,指令,怎麼做運算,記憶體如何工作,內容地址是怎麼回事,硬碟如何儲存,資料和指令如何透過電路和元器件轉化成電流和脈衝,可能需要資料電路的原理。無論從事計算機哪方面,比如網路、軟硬體,這個原理都必須精通。因為計算機技術是很抽象的,但是在現實和具象上是依賴硬體。
2、作業系統原理:在瞭解了硬體原理後,瞭解作業系統是怎麼工作的。因為所有的軟體都是基於作業系統的,而作業系統本身也是一個軟體。這些結合硬體來理解,就更容易了。
3、編譯原理:瞭解軟體從原始檔到目標檔案,到執行的全過程。如果有必要,其中的東西也要專門買書去研究。這樣程式碼上不容易犯錯誤。瞭解了硬體原理和作業系統原理的基礎上,瞭解編譯原理也就比較簡單。當然每種語言編譯過程都不一樣,但是原理都是基本相同。
4、資料結構和演算法分析:好的演算法,事半功倍,此外可能還要補一些高中數學、高等數學的知識。
以上每部分,都要至少1-2個月或者150個小時以上的鑽研,要做到基本掌握。如果不掌握以上部分,不是說學不了軟體,但是如果想學精通,想比一般人強,是不可能的,因為你只知道怎麼做,但是為什麼這樣做不清楚,就是死記硬背了,反反覆覆的記憶效率也很差。
有時候很多獨立的軟體開發的工具書,沒有講的那麼細緻,只是告訴你如何做,但是不會告訴你為什麼這樣做,另外一些好的方法也無法告訴你,因為都需要從基礎的硬體電路電流原理來介紹,如果從原理上說,那會說的沒完沒了。
大約半年甚至1年後,此時你所有軟體開發需要掌握的基礎知識,都比較明白了。再開始研究程式開發,就會覺得開發很簡單,事半功倍。因為你已經從原理上理解了,軟體是怎麼工作的。所以也知道軟體開發的學習週期至少在1年以上。 達到能夠開發中型軟體,至少也要1年半,而且這個時間還是每天都在鑽研的時間。
不論你學的是C、C++、C#、vb、java,你都要學習下面的東西,當然你已經很瞭解的,可以跳過,或者做適當的複習:
1、計算機硬體原理:瞭解硬體怎麼工作,知道軟體是怎樣在硬體上工作的,CPU架構,指令,怎麼做運算,記憶體如何工作,內容地址是怎麼回事,硬碟如何儲存,資料和指令如何透過電路和元器件轉化成電流和脈衝,可能需要資料電路的原理。無論從事計算機哪方面,比如網路、軟硬體,這個原理都必須精通。因為計算機技術是很抽象的,但是在現實和具象上是依賴硬體。
2、作業系統原理:在瞭解了硬體原理後,瞭解作業系統是怎麼工作的。因為所有的軟體都是基於作業系統的,而作業系統本身也是一個軟體。這些結合硬體來理解,就更容易了。
3、編譯原理:瞭解軟體從原始檔到目標檔案,到執行的全過程。如果有必要,其中的東西也要專門買書去研究。這樣程式碼上不容易犯錯誤。瞭解了硬體原理和作業系統原理的基礎上,瞭解編譯原理也就比較簡單。當然每種語言編譯過程都不一樣,但是原理都是基本相同。
4、資料結構和演算法分析:好的演算法,事半功倍,此外可能還要補一些高中數學、高等數學的知識。
以上每部分,都要至少1-2個月或者150個小時以上的鑽研,要做到基本掌握。如果不掌握以上部分,不是說學不了軟體,但是如果想學精通,想比一般人強,是不可能的,因為你只知道怎麼做,但是為什麼這樣做不清楚,就是死記硬背了,反反覆覆的記憶效率也很差。
有時候很多獨立的軟體開發的工具書,沒有講的那麼細緻,只是告訴你如何做,但是不會告訴你為什麼這樣做,另外一些好的方法也無法告訴你,因為都需要從基礎的硬體電路電流原理來介紹,如果從原理上說,那會說的沒完沒了。
大約半年甚至1年後,此時你所有軟體開發需要掌握的基礎知識,都比較明白了。再開始研究程式開發,就會覺得開發很簡單,事半功倍。因為你已經從原理上理解了,軟體是怎麼工作的。所以也知道軟體開發的學習週期至少在1年以上。 達到能夠開發中型軟體,至少也要1年半,而且這個時間還是每天都在鑽研的時間。