有很多朋友問我該怎麼學程式設計,要是說如何成為一名優秀的程式設計師,我覺得我還沒有能力說三道四,但要說如何成為一名合格的win32程式設計師,我個人倒是有一些些的見第:學習程式設計,成為一名合格的程式設計師是一條漫長而又艱辛的道路,當然,你的付出也會得到回報,首當其衝的就是那份成功時的快感,它非常重要,可以說是你學習的最初動力,其次,就是薪水問題了,程式設計師的薪水現在相對來說會比其它一般行業來得高出許多。為一名好的程式設計師就培訓出一名好的運動員一樣,需要有乙個完善的培訓計畫、乙個科學的培訓方法、以及良好的培訓條件,這三點就相當於學習過程中學習步驟(哪個先學哪個後學,什麼該學什麼不該學)、學習方法(通過什麼手段去完成好這一階段的學習),以及學習書籍的選擇(哪一本書才是同類書籍中最好的),等等諸如此類的問題。程式設計的道路並不好走,而且各個人的路都不太一樣,比如說17歲的人該這麼走,20歲的又該那樣走,如果你28了路又會有些不同了,除非上帝寵愛+你的iq
eq高人一等,否則我相信你一定會走不少的彎路(學習步驟不對、學習方法不當,學習書籍選錯),這不但會浪費你的時間,精力,金錢,和機會,更會使你有挫折感,甚至於放棄程式設計這條道路,我也曾有過許多的學習過程中的痛苦經歷,至今讓我記憶尤新,所以我對此深有感觸。我非常看重學習方法,過去 的學習過於講究數量和時間,那樣學習既苦而已效率不高,現在我非常注意學習的效率和技巧,這樣才是學習的捷徑(當然不是指投機取巧),比如說學一相對陌生的技術,如果有條件,不妨問一問有經驗的人,不需要問很多,往往他不經意的幾句話會給你非常大的幫助,甚至超過你看乙個星期的書。帶著這樣的思想再去學習你會節省很多時間,這樣何樂不為呢?
關於學習步驟以下是乙個很對絕大多數想在win32系統下程式設計的人都適合的最初的一段道路:
1、qbasic語言:
之所以建議學習它是為了培養你對計算機程式設計的興趣,qbasic語言較簡單,其教材上關於螢幕控制函式介紹的較一般的c或pascal語言的教材多,正是因為其容量上手,相關教材上螢幕控制函式介紹得多,所以你能夠很快地做出乙個個有趣的能和使用者互動的應用程式,這樣你對程式設計的興趣也就慢醞釀起來了,而興趣是學習的最初動力。但建議17歲左右的人學習這們語言,因為這個人群有這個時間和精力來付出,如果你的年齡已經不小了,並且對計算機程式設計也有了一定的認識和學習的動力的話,則可以跳過,畢竟時間精力不允許。至於學習用書,隨便找一本薄的看就可以了。
2、c語言
關於書,首推k&r的《the c programming language》中譯名是《c程式語言》至於國內的那自然是老潭的《c程式設計》。
3、資料結構
資料結構經典教材很多,國外的有robert的《algorithms in c:part 1-4 fundamentals,data structures,sorting,searching,third edition 》中譯名為《 c演算法(第一卷:基礎、資料結構、排序和搜尋)(第三版)》;國內的可以首選嚴蔚敏的《資料結構(c語言版)》。
學習c語言和資料結構的重要性我想就不用多說了,它們幾乎是每乙個程式設計師的必修課,而且還有一點很重要的地方就在於,各種考試如,等級、程式設計師、都會考到這些內容,它們在軟體公司的筆試部分也是必不可少的部分
4、sdk(軟體開發包)
win32有自已的一套運轉機制,如視窗、程序、執行緒它們的內部結構和動作等等,並其提供了三千多個api(應用程式程式設計介面)函式供程式設計者呼叫,而vc、delphi提供的mfc、vcl元件庫中的元件就是對這些api函式的封裝,乙個恰當的比喻即如果說vc、delphi開發工具裡的mfc、vc元件庫里的乙個個元件是成品發動機的話,那麼這些api就是構成這些成品發動機的各各零件。對於sdk的學習非常的重要,乙個在win32下程式設計的程式機不了解win32系統的運作機制是不可想象的,但對於sdk的學習也是最容易被人忽略的,這也就是很多人學vb delphi c++builder 甚至是vc 的時候有一點:只是在拖控制項,設屬性,控制項會的他會,控制項不會的他也就不會了,無法深入,無法掌控全域性,無法遊韌有餘的感覺。還有一點也應該注意的是對於sdk的學習有乙個深度和尺度的問題,畢竟,我們現在絕大多數時間都是在用開發工具,一般來說對於sdk的學習主要目的是為了了解win32的運作機制。當然,對於不同目的、不同年齡的人來說,這個深度和尺度可能差別很大。不過書的選擇是一至的,那就是charles petzold的《programming with
windows》中譯名是《windows程式設計》,一經推出就幾乎壟斷了整個sdk教材領域,到現在為止已經是第五版了,因此你在市面上基本上找不到其他該領域的教材。
5、開發工具的學習
在好多年以前,win32程式設計師用sdk即完全使用api函式實現的程式設計方法編寫能產生乙個普通視窗的程式,就要寫近百行的**,用sdk你能夠對乙個應用程式是怎麼運轉起來瞭如指掌,但是畢竟你要開發應用程式,為公司贏利,所以這樣的開發效率是很難適應軟體開發進度的要求的,因而就出現了vc、delphi、c++builder之類的開發工具,它們利用自身語言的特性將最常用最大眾的功能做成乙個個半成品或成品(封裝api),從而有了元件庫這個名詞,利用開發工具,你可以很快地做出乙個漂亮的win32應用程式,就拿建立乙個產生乙個普通視窗的應用程式來說吧,你只要點乙個按鈕就能夠完成,這和以前的開發方式相比在效率上是天壤之別,當然,也這是因為這種便利性使得你對底層的一無所知。
開發工具是乙個更新很快的東西,就當前而言vc6.0已是昨日黃花,一般的軟體公司都很少用它了,它的應用領域也侷限在了底層開發,delphi是borland公司的主力開發工具,它以高效和在開發資料庫應用程式方面良好效能而出名,是borland與microsoft抗衡的殺手澗,其版本也在不斷更新,是一般軟體公司的首選,c++builder也是borland公司的一款開發工具,但其效能不如delphi,重要的是現在它已經不推出新版本了,取而代之的是一款名為c++builder x的開發工具,它採用了與c++builder完全不一樣的元件庫。c++builder x是新出的產品,效能如何還不和得而知。.net的乙個microsoft推出的乙個全新的開發環境,個人認為它是首先。
以上是一條粗糙的學習道路,它適合絕大多數人也是絕大多數人學習程式設計的必經之路,至於以後是往什麼方面發展就看個人選擇了。祝大家程式設計路一一路走好!
Python程式設計快速上手第 1,2,3 章
第1章python 基礎 python 3.3 2 v3.3.2 d047928ae3f6,may 16 2013,00 06 53 msc v.1600 64 bit amd64 on win32 credits or license for more information.2 24 int 4...
C程式語言練習題1 23
練習1 23 編寫乙個刪除c語言程式中所有的注釋語句。要正確處理帶引號的字串與字元常量。在c語言中,注釋不能巢狀。如下 include 包含標準庫的資訊。define maxline 1000 每行最大字元數為1000個。define br 10 十個字元換一行。int getline char l...
程式設計小白成長記(一)
2015年12月27日 其實我寫這些部落格主要算是一種督促,算是一種日記吧。我認為把日常程式設計的內容寫下來會更有利於自己的學習,更何況程式猿們通常因為長時間程式設計,表達能力會下降不少。而我並不希望自己變成乙個羞於開口的人。於是,我決意開始寫這個半日記半自我總結的部落格。同時,我也強迫自己使用了以...