當前位置:編程學習大全網 - 源碼下載 - 學編程入門

學編程入門

設備:電腦

妳既然喜歡編程,就應該認認真真的學習壹門語言,學習微軟的就先從VB開始,VB是比較好的入門語言,可視化的,比較簡單,是非常好的入門語言。書籍最少應該準備兩本,不可能壹本書籍會包含VB的所有內容,在看書的時候,可以交叉的看,壹本書籍中沒有講到的內容可以在另壹本中看到,這樣對學習是很有好處的,也能保證所學知識的完整性。學編程是壹個很漫長的過程,不要著急,要理論與實踐想結合,例程書籍也是很重要的,看源代碼對學習也是很有幫助的,等妳學完這門VB語言之後,學習別的語言是非常簡單,可以嘗試C語言,按照C——C++——VC的順序學習,有助於知識的連貫性,我也希望妳能學好的。

或者學習Delphi,入門較為簡單類似於VB,但比VB強大,即可作為入門又能做強、做大

怎樣學編程

1.明確學習目的

學習編程對大多數IT業人員來說都是非常有用的。學編程,做壹名編程人員,從個人角度講,可以解決在軟件使用中所遇到的問題,改進現有軟件,可以為自己找到壹份理想的工作添加重要得砝碼,有利於在求職道路上謀得壹個好的職位;從國家的角度,可以為中國的軟件產業做出應有的貢獻,壹名優秀的程序員永遠是被爭奪的對象。學習編程還能鍛煉思維,使我們的邏輯思維更加嚴密;能夠不斷享受到創新的樂趣,將壹直有機會走在高科技的前沿,因為程序設計本身是壹種創造性的工作。知識經濟時代給我們帶來了無限的機會,要想真正掌握計算機技術,並在IT行業裏幹出壹番事業來,有所作為,具有壹定的編程能力是壹個基本條件和要求。

2.打好基礎

學編程要具備壹定的基礎,總結之有以下幾方面:

(1)數學基礎 從計算機發展和應用的歷史來看計算機的數學模型和體系結構等都是有數學家提出的,最早的計算機也是為數值計算而設計的。因此,要學好計算機就要有壹定的數學基礎,出學者有高中水平就差不多了。

(2)邏輯思維能力的培養學程序設計要有壹定的邏輯思維能力,“邏思力”的培養要長時間的實踐鍛煉。要想成為壹名優秀的程序員,最重要的是掌握編程思想。要做到這壹點必須在反復的實踐、觀察、分析、比較、總結中逐漸地積累。因此在學習編程過程中,我們不必等到什麽都完全明白了才去動手實踐,只要明白了大概,就要敢於自己動手去體驗。誰都有第壹次。有些問題只有通過實踐後才能明白,也只有實踐才能把老師和書上的知識變成自己的,高手都是這樣成材的。

(3)選擇壹種合適的入門語言 面對各種各樣的語言,應按什麽樣的順序學呢?程序設計工具不外乎如下幾類: 1)本地開發應用軟件開發的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;數據庫開發工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 2)跨平臺開發開發工具如 Java 等。 3)網絡開發對客戶端開發工具如:Java Script 等;對服務器開發工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。以上不同的環境下幾種開發工具中 VB 法簡單並容易理解,界面設計是可設化的,易學、易用。選 VB 作為入門的方向對出學者是較為適合的。

3. 註意理解壹些重要概念

壹本程序設計的書看到的無非就是變量、函數、條件語句、循環語句等概念,但要真正能進行編程應用,需要深入理解這些概念,在理解的基礎上應用,不要只簡單地學習語法、結構,而要吃透針對這些語法、結構的應用例子,做到舉壹反三,觸類旁通。

4.掌握編程思想

學習壹門語言或開發工具,語法結構、功能調用是次要的,最主要是學習它的思想。例如學習 VC 就要學習 Windows 的內在機理、什麽是線程......;學習 COM 就要知道 VTALBE 、類廠、接口、idl......,關鍵是學壹種思想,有了思想,那麽我們就可以觸類旁通。

5.多實踐、多交流

掌握編程思想必須在編程實際工作中去實踐和體會。編程起步階段要經常自己動手設計程序,具體設計時不要拘泥於固定的思維方式,遇到問題要多想幾種解決的方案。這就要多交流,各人的思維方式不同、角度各異,各有高招,通過交流可不斷吸收別人的長處,豐富編程實踐,幫助自己提高水平。親自動手進行程序設計是創造性思維應用的體現,也是培養邏輯思維的好方法。

6.養成良好的編程習慣

編程入門不難,但入門後不斷學習是十分重要的,相對來說較為漫長。在此期間要註意養成壹些良好的編程習慣。編程風格的好壞很大程度影響程序質量。良好的編程風格可以使程序結構清晰合理,且使程序代碼便於維護。如代碼的縮進編排、變量命令規則的壹致性、代碼的註釋等。

7.上網學編程

在網上可以學到很多不同的編程思想、方法、經驗和技巧,有大量的工具和作品及相關的輔導材料供下載。例如網站“編程課堂”(/)提供內容豐富而且實用的編程技術文章、精選控件、源代碼下載、計算機考試、相關軟件以及編程書籍推薦等等。

8.加強計算機理論知識的再學習

學編程是符合“理論→實踐→再理論→再實踐”的壹個認識過程。壹開始要具有壹定的計算機理論基礎知識,包括編程所需的數學基礎知識,具備了入門的條件,就可以開始編程的實踐,從實踐中可以發現問題需要加強計算機理論知識的再學習。程序人人皆可編,但當妳發現編到壹定程度很難再提高的時候,就要回頭來學習壹些計算機科學和數學基礎理論。學過之後,很多以前遇到的問題都會迎刃而解,使人有豁然開朗之感。因此在學習編程的過程中要不斷地針對應用中的困惑和問題深入學習數據結構、算法、計算機原理、編譯原理、操作系統原理、軟件工程等計算機科學的理論基礎和數理邏輯、代數系統、圖論、離散數學等數學理論基礎知識。這樣經過不斷的學習,再努力地實踐,編程水平壹定會不斷提高到壹個新高度

°heroべ小丟 18:18:18

在我看來,要做壹個合格的程序員,妳需要具備下面幾個條件:

1. 強烈的好奇心和求知欲

2. 追求完美的精神

3. 良好的邏輯分析能力

其他方面的條件幾乎所有類似的帖子都有提及:如果妳不是準備單打獨鬥,那麽團隊合作能力必不可少;英語我就懶得說了,沒有基本的閱讀英文資料的能力,我勸妳還是打消做個程序員的想法,沒有為什麽;數學能力也是必不可少的,如果不是做算法,高中水平的數學能力就足夠了,但壹定要成績很好才行。

那麽為什麽我要強調上面列的三點呢?

具有強烈的好奇心和求知欲,能夠讓妳跟上技術發展的步伐,僅僅靠危機感和責任感,妳對技術的學習會有很強的功利性質,導致妳的技術體系不能構成壹個完整自包容的整體,而且很難對技術有高層次的認識和掌握。

我認識的壹個資深系統設計師跟我說過:做軟件,“做出來”和“做的好”完全是兩個概念,所要求的投入和技術水平是天壤之別。現在國內很多程序員僅僅把軟件開發當作養家糊口的謀生手段,國內計劃經濟時代湊合、馬馬虎虎幹活的思想也滲透到了軟件業,很多程序員僅僅是把功能做出來,根本不會去考慮提高重用性、可維護性,也不會去考慮提高穩定性、運行速度,甚至連代碼也是亂七八糟,基本的編碼規範都不遵守(在我看來,這樣的人不配“程序員”這個稱號),在我們大聲譴責國內軟件業環境不好,拉項目靠關系,沒有質量保證體系,老板不重視程序員,瘋狂剝削程序員的時候,我們是不是該問問自己,妳是不是只把眼睛盯著別人?

現在各種軟件開發包應有盡有,包羅萬象,編程工具也異常強大方便,對於國內占主流的MIS系統來說,要完成壹個功能實在不是很難的事情,但是如果把系統做為壹個整體,則大多數都是運行緩慢、占用資源過大、兼容性差、可維護性差、不穩定的系統,妳可曾嘗試過開發壹個優秀的系統,如果有,妳就會發現開發優秀軟件是多麽困難,對技術的要求是多麽高,而妳在努力做到完美的過程中水平的提升是多麽快。沒有追求完美的精神,無論外部環境如何好,妳也是不會開發出優秀軟件的,等待妳的是無休止的修改和維護~,妳的技術水平也永遠停留在簡單的編碼階段,最終只有被迫轉行。

好了,我真的適合當個程序員,那我該如何開始?

首先選擇壹門編程語言和操作系統平臺。

操作系統平臺國內比較流行的基本有Windows、Linux(Unix)、Mac OS。壹般來說大家都選擇的是Windows平臺,因為此平臺是國內處於壟斷地位的操作系統,而且有很多優秀的開發工具可供選擇,缺點就是Windows 平臺的開放性不高,往底層探究比較困難(但我對於言必稱底層的觀點比較反感,不是所有搞開發的都要對底層非常了解,做出用戶滿意的系統才是我們追求的根本,玩些底層的trick只是壹種自我滿足罷了。當然我們需要有壹些掌握底層技術的高手,但這個是個人選擇的問題),而且用慣Windows的程序員在配置、腳本等方面比較弱。Linux是開源平臺,當然從理論上妳可以操縱Linux的壹切,但是有幾個人能夠達到這壹水平?剛剛開始學習開發的程序員,在 Linux上也僅僅能夠開發壹些應用軟件罷了。Linux下的開發工具不夠人性化,但這種情況正在逐步得到緩解,Eclipse就是非常出色的開發平臺。在Linux下開發,妳可以得到大量優秀的源代碼,並且壹切都是透明的(只要妳想),但妳必須學習很多命令行指令,掌握各種系統和參數配置以及腳本方面的知識。

編程語言的選擇更是令人頭痛,我涉獵不多,對於有些語言,我無法給出任何建議,只好等這方面的高手來給大家補充了。我僅僅對C++和Java進行壹些說明,當然這個也僅僅是基於個人體會,絕對不是權威觀點 :P

C++仍然是目前占主流的開發語言(詳細的可以閱讀TCPL中的相關論述),而且壹種語言的發展或消亡都是壹個漸進的過程,在可以預見的將來,C ++仍然是壹門舉足輕重的開發語言,但其所針對的領域和方向可能會有所調整,我認為最主要的變化是C++會逐步從商業MIS系統市場上退出。選擇C++的理由是關於C++的優秀開發書籍和開發工具最多,相關的資源也異常豐富,待對於壹般應用程序的開發掌握之後,無需過渡,就可以深入學習各種技術,因為現階段講述系統底層奧秘和高級技術的書籍,基本都是選用C\C++做為示例語言。加上微軟精心打造的開發平臺Visual Studio或Borland的C++ Builder系列,學習起來更是如虎添翼。但C++現在的缺點也是比較明顯的,我最深的感觸就是對於XP和Agile Development的支持不好。

Java簡化了C++的語法,學習起來比較容易(但隨著Java的日益普及和發展,是否能夠繼續保持這壹優勢,我不敢斷言),Eclipse 是非常優秀的Java開發平臺,支持XP的整個過程:設計、測試、編碼、重構……現階段敏捷軟件開發的主要語言就是Java。而且Java的跨平臺特性更是非常大的優勢。

實際上,選擇哪門語言都沒有關系,根據妳的發展規劃和目前身邊的環境選擇就可以,沒有必要跟風,其後的堅持才是難點。

好,假設妳選擇了C++做為開發語言,在Windows平臺上開發,那麽我給妳如下的學習建議(其他的選擇請各位積極補充……):

C++語言的學習當然是基礎,這個階段由於沒有任何在特定平臺上的開發經驗,我們只能按照書中的例子壹個壹個輸入運行,暫時告別熟悉的圖形界面,回到古老的DOS了。參考書的選擇是這個階段很多朋友關心的,Stan Lippman的《Essential C++》和《C++ Primer》是我優先推薦的,而《Essential C++》因為篇幅較小,講解內容適當,而且對C++ STL的運用有不少描述,顯得相當實用,我認為最適合初學者使用。無論選擇了那本書做為入門教材,都應該逐個例子逐個例子的消化,不要貪快,但同時要對重點內容有所側重。我們學習任何東西都是為了解決實際問題,所以請把重點放在我們實際中最常用的部分,而不要過多的追究壹些細節和艱深晦澀的不常用技術。

此刻我們會碰到很多過後看來非常簡單幼稚的問題,比如為什麽編譯出錯,為什麽按照書中的例子輸進去卻無法通過編譯,找不到頭文件等等,大體上這是因為剛剛接觸程序開發,對程序理解還很初級,以及對於所使用的開發環境不夠了解,特定編譯器對標準C++的支持程度不壹導致。請多閱讀關於所使用開發環境的各種文檔,以及查閱幫助文檔。以我最經常使用的Visual C++配合MSDN來說,當出現壹個我不能理解的編譯錯誤時,按F4鍵編輯器就會自動跳到當前錯誤地點,下面的輸出窗口也會給出錯誤代碼(比如C××× ×),把錯誤代碼記下,打開MSDN,在索引壹欄輸入錯誤代碼,就能夠查到詳細的關於此錯誤的說明,當然,是英文的(不要問妳不會英文怎麽辦,這是基本要求)。現在的開發工具查錯排錯非常方便。當然,有時很多錯誤原因並不是編譯器所提示的地方,而是往前或往後壹些地方,長期的編程經驗可以提高查錯速度。此時也請多練習練習Debug技術。

此階段只要能夠掌握C++的基本語言要素,對結構化程序設計和基於對象的設計有壹定理解,能夠完成壹些簡單的小程序就可以結束了,畢竟DOS 程序現在很難勾起我們學習的欲望了 :P 在此之後可以視自己的情況決定是否學習數據結構,數據結構是程序員的必修課,不可或缺,地位非常重要,即使妳現在希望馬上進入圖形界面程序開發的世界,這壹課我也提醒妳記著早點補上。

終於可以邁入圖形世界,我們要從SDK編程開始,不要擔心,這不會花費妳太長時間,但卻是對Windows程序運行機制進行深入了解的好時機,在此的努力都不會白費(trust me),此時的參考書沒有什麽好考慮的,基礎的有Charles Petzold的《Windows程序設計》,進階的有《Windows核心編程》。請從《Windows程序設計》開始,Charles Petzold的書通俗易懂,學習起來非常輕松,而且對妳的語言要求不高,只要懂C就可以了。

此時容易碰到的問題大多與項目設置有關,如果使用Visual C++,請按Alt+F7調出項目設置對話框仔細檢查,並閱讀相關文檔,熟悉各項配置的意義。

此階段請重點掌握Windows SDK程序的編寫方法,Windows程序的運行機制和Windows消息機制,和常用的Windows API。我們還可以更進壹步:嘗試用前壹階段學到的C++知識對過程化的SDK程序進行初步的改造,將我們敲入計算機的程序變得可重用,按照自己對基於對象思想和面向對象思想的理解來重新編寫例子程序。

OK,現在妳已經初步入門了,掌握了C++的基本用法,對面向對象有了壹點模糊而自以為是的認識,也能夠寫出Windows程序了,雖然還有點簡單,還有點醜陋,不過,總歸是圖形界面啊。開始有點感覺了,是嗎? :P 別急著往前沖,停壹停,將C++和Windows SDK的基礎打牢,貪多嚼不爛嗎。此時有很多經典書籍等待妳去掌握,也有幾乎無限的題材供妳練習,請盡量多閱讀接觸下面的資源:

《C++ Primer》

《Windows核心編程》

《應用程序調試技術》

面向對象開發設計方面的書籍

MSDN的Platform SDK部分,Periodicals部分(包含了大量有價值C++、SDK方面的技術文章)

°heroべ小丟 18:18:20

CodeProject裏相關的源代碼是很好的補充學習資料

現在繼續往前走吧,利用SDK開發畢竟有時太過於費時費力,還是使用更高級的應用程序開發框架的好,主要的有MFC和VCL,關於這些框架誰好誰壞的爭論我已經聽煩了,壹句話,能幫助我們完成任務就行,它們無非都是工具,妳自己隨便選擇吧。不過選擇好之後,妳應該明白,對於妳的工具,了解越深,越能發揮它的威力。如果妳選擇了MFC,我建議學習下面的書籍:

《深入淺出MFC》:關於此書毋庸多說,盡管有人不停的貶低,但它的地位是無可置疑的,而且也是對我最有幫助的書籍之壹。

《MFC程序設計》

《Visual C++技術內幕》

然後就停止找書吧,網上開發站點的數不勝數的源代碼就是最好的老師了……

學習過程中碰到問題我該怎麽辦?

我始終認為學習軟件開發過程中遇到的問題只有自己盡最大的努力去解決,才能收到最大的成效,對於那些動不動就把問題發到網上指望高手幫妳解決的做法我非常不贊同,因為這樣妳並不能從中學到多少。我建議的做法是,首先嘗試自己獨力解決問題,花幾個小時解決壹個問題,是很正常的,不要幾分鐘解決不了就放棄了;實在無法解決的時候,請嘗試盡量減小涉及範圍,將問題歸結壹下,初步形成自己的結論;然後利用搜索引擎或者開發論壇中的搜索功能來搜索是否有對於自己問題的解答;實在沒有的時候,再發帖子求助。請了解壹點:妳遇到的問題都是別人遇到過的,網上肯定有現成的解決方法(因為妳還沒有到開發研究前所未有的問題的水平:P),只看妳找不找得到了,請盡力去利用現有的資源而不是麻煩別人。

CSDN的論壇、MSDN在線文檔都是非常好的資源,基本上我們遇到的問題在這裏都能找到解答。

  • 上一篇:大數據展示頁面源代碼
  • 下一篇:android中新聲明了壹個線程,如何對這個線程進行開始,暫停,再開始呢?
  • copyright 2024編程學習大全網