⑴ 計算機編程如何學習(軟體、網路)
給軟體開發初學者
在論壇上呆久了,發現很大一部分有關開發的帖子都是有關心懷夢想,立志成為一個軟體英雄或者響當當的黑客人物;或者是狂熱的游戲玩家,突然想邁入游戲開發的殿堂,自己打造一個完美的游戲;或者被以前IT行業的「錢」途無量所吸引,為了經濟因素希望成為一個程序員的,而尋求進入軟體開發領域之門的求助帖子。
這些諸如「你好,我想做程序員,應該怎麼做?」,「初學C++,請問看什麼書好」,「請高手幫我看看這個程序」,「我想轉行,請高手指點」……的帖子佔了各大軟體開發論壇帖子總量的很大一部分,而且內容是長年不變,重復來重復去 :P
自從做了epubcn的C++板塊的版主,經常收到不相識網友的消息或Email,基本上還是問這些問題。看到這些帖子和Email,不禁想起自己剛剛邁入軟體開發的領域,茫茫然不知何去何從,興奮而又彷徨不安的過去,這樣的經歷一次又一次,在不同的地點、不同的時間仍然在不斷的重復。今天終於坐下來,寫下一點文字,希望能夠對彷徨的朋友們有點幫助。
確認你真的要邁入軟體開發領域
軟體開發是一項純智力活動(現在人們都意識到長時間超負荷的連續寫程序並不會提高軟體生產率,反而會對軟體品質造成很大負面影響,所以盡管很多程序員仍然長時間加班,但這種現象正在逐步減少並最終會消失,所以體力要求並不會比其他行業高),如果你不是一個智力高於平均水平的人,說實話,軟體開發並不適合你,你基本不可能在軟體開發領域取得很高的成就和地位,而且不久就會因為年齡的增長而被淘汰。
如果你以那些開發出共享軟體的軟體英雄和著名黑客為榜樣,立志也要成為他們的一員,像武俠小說中的大俠一樣仗劍江湖。我要先給你潑上大大一盆冷水,把你從幻想拉到現實中來。首先,現在的軟體其復雜度和規模都遠遠超過以前,想一個人獨力完成一個規模稍大的軟體,基本沒有可能(雖然還是有些特例, but trust me,那些僅僅是特例,請不要把自己想像成獨一無二的超人、幸運兒);其次,無論是軟體英雄還是仗劍江湖的頂尖黑客,他們的軟體開發功底和智力都遠遠超過軟體行業從業者的平均水平,沒有多年的積累和堅韌超常人的毅力,是不可能,換句話說,想成為他們的一員,可以,但請首先成為一個合格的軟體開發人員。
如果你是因為傳說中程序員的所謂「高薪」,對自己現在從事的工作不滿意,而萌生轉行的念頭,我勸你還是再慎重考慮一下。程序員的待遇一般來說,是要比平均水平高一些,但遠遠談不上高薪,而且以現在程序員的工作量來算,其實同樣的付出,程序員所得到的能和平均水平看齊就不錯了,程序員的競爭和淘汰也是異常殘酷的。技術的更新速度更是其他行業所罕見,每個程序員都要不停的跑步跟上,不使自己落伍,所以在這個層面上來說,沒有誰可以停下來休息,唯一能夠積累下來的就是你的經驗,但經驗中能夠為你的競爭力增添籌碼的並不多。
說了這么多,並不是我故意貶低,而是希望告訴你我所知道的軟體開發行業的真實情況,基於此請再慎重考慮你是不是真的要邁入軟體開發領域。
檢驗一下你是否適合當個程序員
在我看來,要做一個合格的程序員,你需要具備下面幾個條件:
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方面的技術文章)
CodeProject里相關的源代碼是很好的補充學習資料
現在繼續往前走吧,利用SDK開發畢竟有時太過於費時費力,還是使用更高級的應用程序開發框架的好,主要的有MFC和VCL,關於這些框架誰好誰壞的爭論我已經聽煩了,一句話,能幫助我們完成任務就行,它們無非都是工具,你自己隨便選擇吧。不過選擇好之後,你應該明白,對於你的工具,了解越深,越能發揮它的威力。如果你選擇了MFC,我建議學習下面的書籍:
《深入淺出MFC》:關於此書毋庸多說,盡管有人不停的貶低,但它的地位是無可置疑的,而且也是對我最有幫助的書籍之一。
《MFC程序設計》
《Visual C++技術內幕》
然後就停止找書吧,網上開發站點的數不勝數的源代碼就是最好的老師了……
學習過程中碰到問題我該怎麼辦?
我始終認為學習軟體開發過程中遇到的問題只有自己盡最大的努力去解決,才能收到最大的成效,對於那些動不動就把問題發到網上指望高手幫你解決的做法我非常不贊同,因為這樣你並不能從中學到多少。我建議的做法是,首先嘗試自己獨力解決問題,花幾個小時解決一個問題,是很正常的,不要幾分鍾解決不了就放棄了;實在無法解決的時候,請嘗試盡量減小涉及范圍,將問題歸結一下,初步形成自己的結論;然後利用搜索引擎或者開發論壇中的搜索功能來搜索是否有對於自己問題的解答;實在沒有的時候,再發帖子求助。請了解一點:你遇到的問題都是別人遇到過的,網上肯定有現成的解決方法(因為你還沒有到開發研究前所未有的問題的水平:P),只看你找不找得到了,請盡力去利用現有的資源而不是麻煩別人。
CSDN的論壇、MSDN在線文檔都是非常好的資源,基本上我們遇到的問題在這里都能找到解答。
(寫的有點亂,大家湊合看吧B))
註:上面的內容還不夠全面,非常歡迎各位充實。有什麼不對之處,也歡迎大家指出討論。
⑵ 初學者怎樣學編程
初學者怎樣學編程?對於剛剛接觸編程的人來說,怎樣學習編程?學習編程要注意哪些方面?學習編程要從哪些方面著手才能更快進入編程世界?怎樣做才是掌握了編程的要義呢?
首先,我們必須了解進行軟體開發的編程語言,相信大家都知道編程語言有很多種,包括C#、C++、ASP、PHP、JAVA等等,當中還分為很多不同的領域,所以雲南計算機學院http://www.kmbdqn.com/建議在學習編程之前一定要為自己定下一個目標,一個自己即將要進入的領域。
很多學習編程的學生剛開不知道自己該如何去學軟體開發,每天就是機械式的看書寫代碼,根本都不知道自己是不是真的懂,但是就是這樣不斷的看不斷的照著書寫,終於有一天,好象突然開竅一樣,一下子就把所有不明白的東西全都弄明白了,到這里,可能對很多的程序學習者,都感覺到自己很了不起,很厲害了。可惜,雖然看了那麼多,學得也多,寫得也不少,但是他們卻不知道如何運用。來來去去就是寫一些書本上的題目,不知道該怎麼辦,相信很多人都有和一樣的體會吧,把語言學了,題目也做了,而且都沒有問題,可是卻不知道如何去做開發,感覺自己學的東西一點用處都沒有。這又是為什麼呢?
初學者怎樣學編程?僅僅是看代碼還不夠,只有做真正的項目去鍛煉自己,隨著項目做得越來越多,你才回感覺自己對這門語言的掌控能力真正提高了!
⑶ 怎麼自學軟體編程
1、可以從網上找一些視頻教程來自學,現在網上的教程非常多,而且都是成套的。
2、可以自己去自學網站上找,在學習視頻教程的同時,一定要跟著老師練習。
3、每學會了一些新的技能,一定要自己動手去嘗試編程。
4、編程的過程當中,自己不斷思考,理解其中的邏輯思維
⑷ 學習軟體編程怎麼入門
編寫程序是一項系統而繁瑣的工作,它不僅需要程序設計人員具有一定的功底,更需要有良好的編程習慣和風格。良好的編程習慣和風格不僅可以使程序代碼更易於讀懂和修改,更重要的是,它可以使程序的結構更加合理,有助於提高程序的執行效率。下面是我在程序設計中總結的一些經驗,供大家參考。 設計順序在我們剛開始學習程序設計的時候,要編寫一個程序,總是先進行一番構思,然後就一邊寫代碼一邊調試。這種方法一般只適用於非常小的程序,根據軟體工程的特點,如果對所有程序都還按這種方法進行設計,是不合理的。 其實,設計程序就像我們蓋高樓大廈,首先要設計圖紙,然後動工。所以,對於個人編寫程序來說,應遵循以下步驟: 2、結構設計:也就是對程序的整體框架進行設計,設計出我們需要使用的模塊等等,並畫出流程圖。 3、用戶界面設計:在此,我們要設計出用於與用戶交互的輸入輸出界面。 4、代碼設計:在這個步驟中,我們要進行代碼的編寫。 5、調試:對程序中正在發生或可能發生的各種錯誤進行處理。 6、維護:通俗地說,維護就是對程序進行升級,對原有錯誤進行修改。 對於以上幾個步驟,我想大多數人會認為代碼設計最為重要,但如果程序的結構尚未清楚,我們在編寫代碼的時候就會發生混亂,一個程序性能的好壞,主要還是取決於它的結構是否合理。因此,在程序設計中,我們要盡可能注意這一點,這樣才能使我們的程序更加完善。 設計環境一個良好的編程環境可以使我們在編寫程序時,不至於造成各種資源的紊亂,還可以避免資源的丟失。建議大家要在放源程序的目錄下建立「Programs」文件夾;然後再以你要編寫的程序名和版本為名建立一個文件夾,用於存放整個源程序以及各種資源;最後,分別建立幾個文件夾,「Documents」:用於存放程序文檔,包括流程圖等;「Resource」:用於存放圖片,聲音,影片等資源;「Debug」:用於存放調試的程序。「Release」:用於存放最終釋放的程序。 例如:我們要製作一個英語學習軟體,名為「English」,版本為1.0,那麼我們的編程環境中應存在以下文件夾: [DRIVE]:\\…\\Programs\\English1\\Debug\\ [DRIVE]:\\…\\Programs\\English1\\Documents\\ [DRIVE]:\\…\\Programs\\English1\\Resource\\ [DRIVE]:\\…\\Programs\\English1\\Release\\ 另外,最好再建立一個專門的文件夾,用於存放各種模塊,以便能實現代碼的重用,這樣,我們就不用在每次寫程序時,都重寫所有的模塊,編程速度會有很大的提高。 設計技巧代碼如果寫得很亂,程序便不易被閱讀與修改,所以,在編寫代碼時要注意以下幾點: (1)注釋:寫注釋雖然要佔用一定的時間,但在閱讀和修改代碼時卻會節省很多的時間。所以,建議大家在定義一個函數時,在函數的第一行寫出函數的作用,再用一行解釋函數的參數,並在每個變數的定義語句後注釋出其作用。 (2)變數和函數的命名:每個程序都會使用很多的變數和函數,如果隨意命名變數與函數,每次使用時還得在變數或函數的定義語句處查出它的數據類型及名稱,而且隨意命名還會造成變數與函數重復定義。 建議大家使用匈牙利命名法,方法是:每個變數或函數的開頭都以其數據類型的縮寫命名,然後再加上代表這個變數或函數的作用的英文單詞簡寫共同組成變數或函數的名稱。例如:要定義用於計數的整型變數count,其定義語句為C\\C++:int icount; Basic:Dim icount as Integer。以這種方法定義,不僅可以有效地避免變數與函數的混亂與重復定義,還可以保證數據類型的匹配。 (3)控制項命名:如果在Windows下編程,你有可能會大量地使用控制項,如果不對控制項名嚴加管理,會造成很大程度的混亂,因此,建議在給控制項命名時,以控制項類型縮寫再加上代表這個控制項作用的英文單詞的簡寫共同組成此控制項的名稱。例如:你要命名一個按鈕控制項,作用是進行刪除操作,那麼控制項名可以命名為cmdDel。 並不是每個人都能成為頂級程序員,但我們都在程序員之路上不斷進步,追求更完美、更專業化的程序。不妨好好改造一下你的程序,你會從中感受到很多好處
⑸ 如何學好編程
看你怎麼學!
如果自學,只能養成好的學習習慣慢慢學,日積月累,終能學有所成的!不過自製力不好的人不建議自學。
如果要上培訓機構學,建議:
課前預習
對於初學者來說尤其是零基礎的同學,既然已經比那些有基礎的同學差了一截,那麼為什麼不更加的努力去學呢?課前都會有課件或者書籍提前給到同學,可以自己利用課余時間預習一下,在預習的過程中肯定還會有自己解決不了的問題,先記錄下來課上解決就好。
2.課上認真聽課
在上課的時候講師肯定不可能照顧到所有的同學,但是在講課的時候每講完一個知識點肯定會問到一個問題「都聽懂了嗎?」,想一下是不是你經歷過的所有老師都有這個習慣?這個時候如果你有問題或者沒聽懂一定要及時去問,千萬不要不懂裝懂,否則後面你就會發現問題越來越多。
3.課下項目復習
課上講過的東西不能光看會就夠了,一定要自己親自上手去實操一下看看,只有自己做的時候才知道到底學到什麼程度,還有哪裡沒有掌握。
4.記筆記
好記性不如爛筆頭,當你遇到解決不了的問題,自己可以找一個筆記本記錄下來,課上老師講的東西感覺不是很明白也要記下來,沒事翻看一下避免以後再犯同樣的錯。
5.不用慌張
對於零基礎的初學者剛開始學習的時候都會遇到聽不懂聽不明白的現象,因為確實你的基礎水平很低,但是不要害怕聽不懂是能理解的,就怕你聽不懂之後就不認真學習了,主要你堅持學下去你會發現後面的知識學起來超級簡單,就跟0到1和1到100的概念是一樣的。
⑹ 軟體編程入門自學的方法
很多人在看到了現在的互聯網發展的這么好,都想轉行到it行業里來。有些人是投資it企業,有些是自己直接開了軟體公司,而這些都是有這樣的條件和經濟基礎才會做的。這樣就有一大部分的人選擇了學習軟體編程,從事編程行業。但是去培訓機構的學費也不是一千兩千就能解決的事情,所以一部分人在看到網上有人說可以自學軟體編程,就想通過自學軟體編程來學習。
1、軟體編程入門自學
學習軟體編程首先要學習一門編程語言,選擇一個自己感興趣、適合自己的編程語言是最重要。常見的編程語言有Java、C語言、C++C#等等。其實雲南昆明電腦培訓http://www.kmbdqn.cn/個人覺得學習Java作為自己的入門基礎語言是最好的,雖然現在Java滿大街都是的,但是其實Java可以說是語言界的常青藤,是目前使用最廣泛,應該最頻繁的一門語言。比如昆明北大青鳥專注Java語言教學11年,在軟體編程上為各個軟體企業培養很多it人才。
2、軟體編程入門自學的書本
《Java核心技術》(第9版)
《JavaScriptDOM編程藝術》(第2版)
《編程語言實現模式》
《程序設計方法》
《演算法與數據結構》(第4版)
《面向對象設計》
3、軟體編程入門自學的方法
(1)除了了解和掌握書本上的知識還要多去網上觀看,下載視頻教程。推薦大家去昆明北大青鳥官網,他們發布的免費教學視頻甚至比很多收費視頻都要好。
(2)結合視頻教程的自己動手編寫一個簡單的程序,最主要是要自己動腦動手去編寫,要有良好的編程習慣。也只有讓程序運行起來,才能知道自己的瓶頸和錯誤在哪兒,才能改正促進自己進步。
(3)每次都要總結自己的經驗教訓,不要怕出錯,有錯誤就改進,這樣的學習才有效果。要善於發現問題,然後去解決問題。
(4)多向別人請教,多和同行交流。同行之間互相交流也有助於更好的學習編程。小編是不建議大家自學的,自學的困難往往大於上培訓學校的。找一個好的培訓學校,由專業的人來進行系統的培訓比起自己琢磨要好很多。