當前位置:編程學習大全網 - 編程語言 - 怎麽做編程?

怎麽做編程?

編程語言其實是壹個很初級的工具,但是妳又必須熟練的掌握它,學懂壹門編程語言就好像學會了寫字,但是會寫字的人不見得會寫文章,而會寫文章又不見的寫得好。可是如果妳不會寫字,那就壹定寫不出文章來。

首先,在學習C語言之前,應該學好計算機基礎。裏面的很多概念對於C程序員都是非常重要的。如果妳在著手學習C之前,或者已經開始學習C,但是碰到了很多問題,應該再把計算機基礎的書拿來好好看看。

如果妳有足夠的耐心,十足的毅力,應該再學習C語言之前學學匯編,這會讓妳對許多比較細膩的概念有清醒的認識,如果妳不是那麽有耐心(恕我直言,大部分人可能沒有)。那麽可以在看完壹遍C語言的教材後再看,但是壹定要看壹遍,相信我壹定會受益匪淺。

看 到有些人發問的帖子,很明顯的沒有仔細的思考過問題,或者沒有認真地查閱過書籍,因為其中的語法和邏輯錯誤實在是不能理解。想來如果妳的語文作業上面滿篇 都是錯字,老師壹定不會放過妳。為什麽不先打好基礎呢?有些人抱怨說因為教材不好,老師水平不行等等。但是我本人就是在TC2下學習C語言的,那時候除了 譚浩強的書,也幾乎找不到什麽別的書。我不打算就譚浩強的書發表什麽意見,那也實在稱不上是壹本好書,但是如果這本是能學好,全部看好,都記住,也應該有 相當的水平了。建議不管看什麽書,先認真地看懂,不要貪速度,應該力笊釗氳睦斫狻?br />

如果妳能夠比較熟練的解決壹本教材上的所有習題,那麽就應該轉入對算法的學習,盡管此時妳的C語言還稱不上精通,有許多細節問題還不了解,許多問題還沒有碰到,但是這些問題會在後面的工作和學習中得到解決的。

過 去,有個著名的公式,大概是:程序=語言+算法+數據,不知道現在還提不提這個了。可能現在要加上更多的內容:項目管理、質量控制、代碼規範…………。但 是這個公式還是有相當的參考價值,還是用寫文章來類比,語言好比文字,算法是文章的思想,數據是文章的內容。所以在經過壹個階段的識字之後,應該試著發表 壹下自己的思想了。

經過壹段零零散散的算法學習,對“算法”這兩個字有了概念之後,應該系統地對算法進行學習,這個過程是與數據結合在壹 起的,應該看看數據結構,而且必須熟練的掌握。在這裏提到的壹本書是《運籌學》,裏面的算法大都可以用計算機實現,我推薦這本書的原因在於,它不僅介紹了 特定問題的算法,而且詳細解釋了為什麽要這樣算,怎麽得出這個算法的,等等。對於提高思考問題的能力有很大幫助。

如果妳的精力和時間允許,現在就 應該開始大量的閱讀和編寫代碼了,兩者同樣重要。“讀書破萬卷,下筆如有神”,盡管這種學習方法效率較低,而且很枯燥,但是應該看到,古代的這種教育方式 培養了千古文豪,而現在的語文教育培養出來的…………(唉,中小學語文教育的現狀大家都知道,我就是受害者)。讀代碼確實是壹件非常辛苦的事情,我曾經試 圖閱讀全部的Linux內核原代碼,最後只看了不到十分之壹,而其中看懂領會的,也就壹半而已,但還是感到有很大幫助。至於大量編寫代碼,理由很簡單:實 踐性的技術要在實踐中提高。但是要註意,如果妳已經學完了C語言和數據結構(而且學得不錯),那就不應該專註於那些小程序了,那根本就是在浪費時間,此時 應該編寫有些規模的,具有壹定實用性的程序。並在這個過程中開始領會軟件工程的壹些思想。第壹個寫出來的程序壹定是錯誤百出,壹點點地修改,壹點點地調 試,壹定會通過的。對於寫代碼,說壹個我本人的經歷,我第壹遍看譚浩強的那本書,看到條件分支的時候,突然很興奮,想要寫點什麽,於是看了壹些TC2的幫 助,懂得了圖形編程,就自己寫了壹個水果賭盤的遊戲,可能有人在遊戲廳見過,就是可以壓什麽蘋果橙子之類的。各位可以想象壹下,當時我還不會數組,不知道 循環,於是所有的這類東西都是用goto來完成的,這個歷史上最蹩腳的程序居然也正常運行了,後來我發現原來可以使用循環,於是將這段代碼替換掉,學到數 組的時候,終於將那些小燈在屏幕上的位置放到了數組裏,學到文件的時候,將圖形放進了二進制文件(原本都是壹條線、壹個點畫出來的),記不得經過了多少次 修改,總之程序能運行之後,長度從2700行變成了127行。所以,想學好編程是要有點毅力的。

最後發表壹下先學習C還是先學習C++的問題,這個問題見仁見智,我的意見是,先學習C。

盡 管現在我很少用C了,但是C語言確實更加基礎,壹個C++的高手要考慮的壹些問題(比如內存的操作方面的問題),C語言的初學者可能就必須有所了解,否則 會犯錯誤。這些只是遲早是要掌握的,但是因為C++關註更高層的概念,所以在學習C++的過程中這些問題可能被忽略了,以至於有人用了壹兩年C++,還是 有些問題不是很清楚。另壹個主要的原因是:C++太優秀了,而C++的程序員會在某種程度上感覺自己比C程序員高明(他們確實有理由這樣),於是學完C+ +之後妳可能就不屑於學習C所關註的內容,這樣的話會錯過提高的很好機會。

想成為壹位好程序員(其實從事任何壹個行業都是如此),重要的 是要養成壹個鉆研,好奇,創新,動手,合作,不滿足於填鴨,不滿足於考試交差,不滿足於表象的壹種優秀的習慣。這不是學幾門課能夠壹蹴而就的。當然,如果 妳的在校課程不能使妳滿足,論壇上的朋友可能能夠給妳推薦壹些書或科目。

最後,不能只學語言。許多大學生認為學最新的計算機語言、技術、 標準是最好的鋪路方法,因為許多公司招聘時要求這些方面的經驗。這些新技術雖然該學,但是學習計算機基礎課程更重要,因為計算機語言和開發平臺日新月異, 但是萬變不離其宗的就是那些基礎課程:數據結構、算法、編譯原理、計算機組成、關系型數據庫原理等。有位同學生動地在“開復學生網”上把這些基礎課程比擬 為內功,把新的語言、技術、標準比擬為外功。只追尋時髦的學生最後只懂招式,沒有功力,是不可能成為高手的。

  • 上一篇:請教:fluent中多孔介質模型旋轉壹角度,粘性阻力系數和慣性阻力系數該怎麽變化?
  • 下一篇:機械紙上的標簽是什麽意思?
  • copyright 2024編程學習大全網