個人覺得軟件開發(fā)這個概念太過龐大,它既涉及到很多行業(yè)領(lǐng)域,又能包含各種具體的開發(fā)技術(shù),面面俱到的描述會讓人無所適從而且其實也不可行。個人建議學(xué)習(xí)軟件開發(fā)不用著急馬上入手學(xué)習(xí)編程語言,應(yīng)從計算機原理開始,由底層上上層,循序漸進,由硬件到軟件。雖然所花的時間會長一點,但會學(xué)的比較扎實透徹。

軟件開發(fā)

計算機原理的學(xué)習(xí)

首先最好學(xué)習(xí)下計算機背景知識,包括計算機發(fā)展歷史,二進制計算原理??傊畯目破战嵌热娴牧私庥嬎銠C的含義。這塊的資料很容易在網(wǎng)絡(luò)上獲取。其次學(xué)習(xí)下計算機的硬件知識,包括CPU,內(nèi)存,輸入輸入設(shè)備,搞清楚這些設(shè)備的用途,有條件的話可以跑跑電腦城,自行配置組裝一臺計算機,這是有好處的。學(xué)習(xí)以上的內(nèi)容原因在于再高級的計算機語言,都要通過控制硬件來實現(xiàn)。先熟悉硬件,了解計算機的運行機制,才會對軟件設(shè)計有扎實的理解。

選擇一門編程語言

在眾多的計算機編程語言中,選擇一門語言進行入門學(xué)習(xí)。建議選一門相對低級的語言,比如C語言,它其實是一種介于高級語言和低級語言之間的語言,它有控制硬件的能力,可以通過指針直接操作計算機內(nèi)存。學(xué)習(xí)好C語言可以讓你透徹的理解計算機原理,也會對變量,數(shù)組,內(nèi)存存儲等這些基本概念有本質(zhì)的理解,這些是其他語言所不能帶給你的。一般來說,熟練掌握C語言后,學(xué)習(xí)其他語言會比較容易。另外,C語言得入門書很多,比如譚浩強版本得就比較經(jīng)典。
 

軟件開發(fā)

比技術(shù)本身更重要的是習(xí)慣的培養(yǎng)

最后,編程要一開始就養(yǎng)成良好的習(xí)慣,例如變量命名,書寫格式都要有規(guī)范。剛開始看似會浪費時間,但習(xí)慣養(yǎng)成后,以后就輕松了。此外,要重視架構(gòu),架構(gòu)即設(shè)計模式,它本身也是軟件工程中的一個重要組成。編寫一個程序的時候不能只顧完成功能即可,一定要思考軟件能不能分個模塊,能不能層次化,方便以后擴展。比如完成一個特定功能有好幾種算法,那能不能設(shè)計成工廠模式,方便以后擴展算法,這樣做,看似代碼復(fù)雜化了,但是其內(nèi)涵就要比普通做法提升了很多。所以設(shè)計模式其實就是編程思維的一種重要表現(xiàn)形式。