[轉載] 獻給迷茫中的初學者——如何去學習編程

最近看到很多朋友問到如何學習編程這個問題,我想這個問題應該是所有初學者都非常關注的問題了,在論壇上回答了很多也講了很多,但是總是無法讓所有朋友得到一個解答,所以我想寫一下自己的經驗,希望對大家有所幫助,不過在此先聲明,我並非什麼高手,我也只是剛剛入門而已,也只是希望通過寫一點個人的體會幫助一些和我遇到相同問題的朋友,高手就免看了,以免班門弄斧。

      好了,廢話就不多說了。在學習程序之前,我想大家首先應該對程序員這個行業熟悉一下,更加要對編程的語言以及所涉及到的工具有所瞭解。因爲如何過了解這些是很難去給自己一個明確的目標的。所以首先我想在這裏先爲大家介紹一下這個行業以及一些相關的內容。

     程序員,相信在很多人眼中是一個非常神祕,非常特別又或者說非常有趣的職業。因爲在這個行業裏面實在出現了太多的英雄,每一個英雄的事蹟都足以讓我們熱血沸騰。但是,又有誰知道在這些英雄的背後,藏着多少辛酸,藏着多少的努力。程序員這個行業並非如大家所想象的那樣美好。程序員是一個沒有白天黑夜概念的行業,程序員是一個讓人筋疲力盡的行業。你們看到的是一些英雄的光輝歷史,但是卻忽略了大多數程序員的艱辛。所以在這裏我奉勸各位,如果你是爲了這個行業充滿傳奇色彩而想加入,如果你是爲了這個行業薪水高而想加入,那麼請你現在退出吧,因爲他不適合你。這個行業需要的是擁有努力、認真、堅持的人。

     講到如何學習編程,那麼必不可少的就要講到編程語言了,相信大家都知道編程語言有很多種,包括C、C++、BASIC、PASIC、ASP、PHP等等,當中還分爲很多不同的領域,所以在學習編程之前一定要爲自己定下一個目標,一個自己即將要進入的領域。有些人想進行底層開發,有些人想做網站開發,有些人想做商業軟件開發等等,由於計算機的普及,軟件行業所涉及的領域也就越來越多,一個人是不可能涉及所有的領域的,所以必須在學習之前給自己一個定位,這個是很重要的,如果沒有這個定位的話在未來學習編程的日子裏將會很迷茫。

     目標的定位當然不能少了工具的因素,因爲不同的領域使用的開發工具也不同,在這裏想重新再次鄭重的向所有朋友聲明一次,不要把開發工具和開發語言混爲一談,語言是編程的基礎,而工具是用來輔助開發的,例如VC、VB、DELPHI、BCB等等。每種工具都有各自的優勢和缺點,至於每種工具的特點我就不再相信講了,如果大家是有心學編程的話,我相信你一定會去看看關於這些工具的具體內容的,呵呵,讓我偷個懶。還有在這裏重要提醒一下大家,不要被現在的流行工具所迷惑,學好根本纔是最重要

     前面大概的準備工作已經做完了,對這個行業瞭解了,給自己定了一個目標後,接下來當然是全力向這個目標出發了。那該怎麼做呢?看了很多朋友的帖子,都講到C語言是程序員必學的語言,如果程序員不學C就不算是真正的程序員,我個人認爲這種說法有點偏激,當然,我承認學C是會對你有很大的幫助,但是並非一定要學C,大家之所以這樣說,可能是因爲C語言的影響太大了。但是你總不能要那些去學網站開發的人一定要去學C吧,呵呵。其實我個人認爲,一開始學什麼都無所謂,但是無論學什麼,一定要努力和堅持,做不到這兩點,你就註定會是個失敗者。在這裏我想講一下學編程最關鍵的問題,就是思想。也許這是個很抽象的概念,但是沒有辦法,編程本身就是個很抽象的東西,呵呵。等你真正領悟到這一點的時候,恭喜你,你已經站在編程的門口了,呵呵,只是門口哦。那麼編程的思想又該如何去領悟呢?要領悟其思想,那首先學習語言是必然的,語言是思想的一種體現形式,就像一個人的思想需要語言來表達一樣,所以如果連一門語言都無法掌握的人是無法領悟其思想的。但是對於一個人,如果不經常說話,不經常使用語言,他又如何去使用語言來表達自己的思想呢?編程也一樣,要領悟其精髓,必須先不斷地看,不斷地使用,才能在這種過程中慢慢有所體驗,當然有的人可能快些,有的人可能慢些,但是不管快慢,能夠達到就是進步。

     我記得在我仍然迷茫的時候,不知道自己該如何去學,每天就是機械式的看書寫代碼,根本都不知道自己是不是真的懂,但是就是這樣不斷的看不斷的照着書寫,終於有一天,好象突然開竅一樣,一下子就把所有不明白的東西全都弄明白了,這個有點像佛家所說的頓悟,呵呵。我最初以C語言開始學習的,在我開始學C語言到頓悟這一刻,我可以告訴大家,我看C語言的書我一共看了5本不同的版本(不過都是像走馬觀花一樣的看,千萬不要學我),直到第5本看到指針那裏,我才真正有種明白的感覺,也許我太笨了,相信大家看一本就夠了,HOHO。自從那一次後,我接着看C++,學習pascal、basic、彙編這些東西,自己感覺都非常容易看懂,可能這就是所謂的一理通百理通的道理吧。呵呵,不過在這裏要講一下,上面所說的幾種語言雖然看書都看過了,也看明白了,但是由於很少使用,現在大部分都還給書本了,呵呵。

     看到這裏,包括我在內,我都感覺到自己很了不起,很厲害了。可惜,只有我自己知道,雖然看了那麼多,學得也多,寫得也不少,可是我卻不知道如何運用。來來去去就是寫一些書本上的題目,自己卻感覺像windows那些程序卻不知道如何去寫,不知道該怎麼辦,相信很多人都有和我一樣的體會吧,把C語言學了,題目也做了,而且都沒有問題,可是卻不知道如何去做開發,感覺自己學的東西一點用處都沒有。這又是爲什麼呢?

     在這之前,我一直爲這個問題煩惱,後來我終於找到了答案,那就是我所學的,所寫的都是DOS應用程序,而我們現在所使用的確實windows操作系統,當然也有使用linux系統的。後來看了一篇別人寫的文章後,我才知道我所學的和實際運用相差太遠了。現在大部分學習編程語言的書籍上的例題都是基於DOS系統開發的,所以我們所寫的程序和windows上所運行的不一樣,這就是造成我們迷茫的主要原因。那該怎麼辦呢?那還用問嗎,當然就是去學習windows開發啦。在第一次接觸windows開發的時候,我真的是大吃一驚,這完全和我以前所學的很不一樣,但是又息息相關,如果沒有以前所學的,我根本就看不懂windows開發的內容。在這裏給大家簡單介紹一下,windows開發和DOS開發的區別吧。大家都知道,DOS是一個單任務執行系統,也就是說在DOS下只能在一個程序運行完成或者中斷後才能運行其他的程序,而windows是個多任務系統,當然在本質上windows也只能一個時間內執行一個程序,但是由於其利用CPU的運算能力,讓這些微妙的時間讓人無法感覺到,再就是windows是一個圖形界面系統,擁有着良好的用戶界面,不像DOS是個指令界面。所有這一切的區別導致DOS和windows開發上也存在很大的區別。所以現在的程序員首要的任務除了學習語言以外,就是要去學習windows開發機制。如果連這個都不懂,那是肯定開發不出一個好的windows軟件的。在這裏向所有朋友重點推薦美國人Charles Perzold所寫的《windows程序設計》第五版,這本書可以說是經典中的經典,學習windows開發必看的書,適合有C語言基礎的朋友看,它有多經典我就不想細講了,總之就是絕對不會讓你失望,呵呵。這本書市場價是160元整,分上下兩冊,如果有的朋友覺得太貴的話,我這裏有他的電子版,需要的就找我要吧,隨時歡迎大家找我要這本書,呵呵。

     說實話寫到這裏,我自己都不知道自己寫了些什麼,好象很亂,呵呵,希望大家能夠看得懂吧。看完我介紹的這本書後,而且看懂的話,那麼接下來自己該如何走,我相信我就不用再多說了,到那個時候你一定知道自己該如何去學習編程了。上面講了下我個人是如何學習的,當然還有很多細節地方沒有涉及到,不過隨時歡迎朋友們跟我一起交流。而且我現在才發現上面所寫的是從C語言開始學習的,呵呵,其實我並非要大家向我一樣學習,我只是把自己學習的經過大概講了下,當然還有以後該怎麼辦沒有寫,其實我也在摸索中,嘿嘿,我寫了那麼多廢話,無非是想要大家明白幾個道理:
第一、       首先要給自己定一個明確的目標。
第二、       分清楚語言和工具的區別。
第三、       把思想放在首位,語言在精不在多,學好了一門語言再去學其他的,就易如反掌了。
第四、       工具是經常被淘汰的,不要被工具所迷惑,堅定自己的信念。
第五、       無論選擇做什麼系統開發,首先要去了解這個系統,只有瞭解了這個系統才能在上面爲所欲爲。

大概也就差不多了,不全或者寫得不好的地方請指正,個人發覺全是廢話,呵呵,就這麼多了吧,歡迎大家跟我一起學習,一起進步,一起交流。當然最後仍然是那句:
      努力+堅持=成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章