高中生如何成為JAVA軟體編程高手?做為一名高中生,以前從未接觸過計算機JAVA軟體編程的內容,以前在學校時除了鋪天蓋地的試卷,就還是試卷,幾乎很少接觸到計算機軟體編程的內容。高中畢業後落榜了,孩子們都想擁有一個好的出路,想學習一門專業的技術,那麼高中生怎麼樣才能學好軟體開發技術呢?其實成為編程高手沒有捷徑,多麼簡單的一句話啊,但是有多少人能夠了解它呢。關鍵是你知道怎樣才能成為真正的編程高手嗎?
北大青鳥java課程http://www.kmbdqn.cn/軟體工程師課程,專門針對高中生開設,零基礎學習,把高中生培養成高薪的軟體工程師人才。學校以企業真實項目實訓的方式培養學員軟體開發技術,提升學員學習興趣,增強學員項目開發經驗,引領學員輕松踏入IT行業。入學即簽訂就業協議,讓中等及以上學歷者經過一年的努力實現軟體工程師夢想!
北大青鳥針對學員如何成為JAVA軟體編程高手,總結了一些經驗,供學員參考。
1.一門語言的語法,SDK的常用API,演算法與數據結構有了上面的知識,再加上一點實踐,再從網上找一些筆試題做幾套,基本可以過筆試這一關。
2.編碼規范、高性能編碼經驗技巧。要成為一個職業化的、專業化的程序員,首先要養成良好的習慣,良好的習慣從規范化的點滴日常工作開始。
3.熟練掌握IDE、常用工具的使用工具可以提高生產力,用一把小刀去砍樹很困難,用電鋸立刻變得很簡單。
4.面向對象的原則。這里重點掌握面向對象的原則,比如:單一職責原則SRP、開放-封閉原則、替換原則LSP、依賴倒置原則DIP等,明白了這些原則,對後面內容理解的深入會有很大的幫助。其實這才是根本,不了解這些原則去學設計模式有種空中樓閣、頭重腳輕的感覺。根基不牢上層建築就好像浮雲一樣。
5.重構。重構就是在不改變軟體功能的前提下改善代碼的設計以提高可維護性。修改別人的代碼或者優化自己的代碼都需要用到重構技術。
6.設計模式。基於一些常用的模式來學習如何使用設計模式。設計模式對於做框架開發的程序員比較有幫助。我們會選擇一些常用的來講解。
7.最重要、最難,看上去卻最簡單的功夫:修改代碼的藝術。對公司來講,一個沒經驗的人修改了一個bug,可能會引出幾個問題,然後再去修改,如此惡性循環。對於員工來講,趕鴨子上架,不了解代碼的邏輯、針對表象簡單粗暴的修改,有時我看了真的很是心痛。對程序員本身的能力提高也是緩慢的。其實修改別人的代碼開始是功夫,之後就是藝術。就好像你要給一個人治病,你要成為醫生,先要掌握人體基本結構、各個臟器的特點、各種葯物的功能、常用的診治方法等等,醫院不會讓一個醫學院畢業的學生去給病人看病,總要有段實習,由經驗豐富的醫生帶一段時間。然後從難度較低的做起。
8.架構設計。架構設計在程序設計中是相當關鍵的一步,需不斷摸索和研究,總結出自己的方法。
9.軟體工程。開發軟體的過程,我經歷過公司從CMM到敏捷的轉變,我個人是比較推崇敏捷開發的,這里想與大家站在工程的角度聊一聊軟體開發。
10.質量管理。越往後其實越偏向管理了,開始是個人修煉,後面是站在組織、站在公司的角度來看軟體。質量是說得多、做得少,尤其在軟體領域,我一直覺得很邪門的事情是不懂軟體開發的人甚至被淘汰出去的人去從事軟體行業的質量管理,真是令人擔憂。質量管理中有很多很好的理論和工具,是值得我們學習的,不只可以應用到軟體開發上,生活中也很有用的。
2. 如何成為編程高手
如何成為電腦高手
要掌握的知識包括:
電腦基礎----對計算機硬體、體系結構不了解是不行的。另外像二進制、十六進制、補碼、位運算(與、或、非、移位)
編程語言----有人你說C/C++,有人說Java,還有人說別的。還是要看將來會用什麼。數據類型、順序控制、子程序、函數等概念,多數編程語言(高級語言)都類似的,精通一門後可以觸類旁通。
網路知識----現在的電腦沒有獨立運行的了,信息孤島時代已經過去了。很多軟體都是在網路上運行的。其中對TCP/IP協議一定要熟悉。
資料庫----資料庫應用是軟體中非常重要的部分。就算你不搞資料庫應用開發,也要對資料庫要了解。
數據結構----光會程序語言是不夠的,「演算法」就像程序的靈魂,會解決問題才能寫出好的程序來。
UML、軟體工程等----做「編程高手」,不是光靠自己聰明的腦瓜來寫程序的,現在是信息爆炸的時代,做軟體經常是很大的項目,需要很多人來做。開始就算你做寫代碼的最底層的程序員,也要根據設計人員的文檔來寫;等層次提高了,設計的任務就多了,就要能寫出各種文檔來:需求分析、模塊設計、詳細設計、測試用例....
數學----「演算法」是哪裡來的?最終歸結為數學模型!
英語----少不了要看一些英語資料。雖說現在多數軟體工具都漢化了,但最簡單你也要認識「if」「else」「for」「do」「while」「case」「this」「botton」「text」「list」等等吧。
學習方法方面提示一點:
一要能吃苦,要有專勁,要耐得住寂寞。
二要有人指點,尤其是在入門的時候。
三是實踐很重要。紙上談兵永遠也不會把你變成高手的,除了自己練習,做好事學的差不多了就趕緊找一個程序員的工作,從底層做起,接觸到了團隊開發最好。
【二】電腦編程的基礎知識
1:如果你能夠熟練的使用Windows的話,你就可以開始你的程序生涯了!
2:首先從C語言開始。有的朋友可能認為C語言太難了,應該從VB開始。雖然,對於一個初學者來說,用一些控制項堆砌成一個小軟體,是有一些成就感,但是,基礎才是最重要的!C語言對於數據類型的描敘,遠比VB裡面說的更為全面,清楚,明白,而這些卻是編程中的根本!
3:學C語言,從數據類型,基本表達式,再到條件語句,循環語句,然後學習函數,再加上一些簡單的數組知識,就可以了!一句話,到現在為止,你只要理解結構化程序設計的思想也就夠了!
4:有了以上的基礎,就要開始學匯編了。匯編開始的時候是很難,那些各種各樣的寄存器,分段的內存地址,是很難理解,可是這些知識理解了以後,後面的內容就簡單了,學習8086的那些指令,再加上一些偽操作,還有DOS和BIOS中斷的調用,就可以看懂書上的匯編程序了。
5:有了匯編的基礎,再來學習C語言中的精華部分----指針,可謂如魚得水了。現在要對C語言全全面面的學一遍了,譚版的教材要從頭到尾認認真真的看兩遍以上。
6:學完以上的內容,有必要研究一下數據結構了,線性表,堆棧,隊列,樹,圖,二叉樹,等等,都要滾瓜爛熟!
7:請時刻記住:浮躁是學習編程的大忌!
8:現在,你應該學習一些資料庫的知識,還有一些常用的演算法了!
9:如果以上的知識都學精通的話,就可以開始C++的課程了,找本C++上手的書,用一個星期的時間大概了解一下C++,然後找一本VC上手的書,再花一個星期的時間學習VC的界面和用法,就可以做一些簡單的應用了!
10:要想學好VC,沒有扎實的C++知識是不行的,以下書籍是VC程序員必須翻的爛熟的:C++Primer,Effective C++,Thinking in C++,More Effective C++
深入淺出MFC。
11:深刻理解C++面向對象的思想!
12:編程的時候,出錯是難免的,所以,MSDN一定要熟練使用;好的代碼風格會使調試的時候,更加簡單的查錯,所以,一定要養成良好的編程風格!
13:如果嚴格的走好了以上的每一步,踏上了編程的門檻,可以混口飯吃了!
至於在以後,編譯原理,操作系統,還有軟體工程等等基礎知識,是必不可少的!
14:如果現在再來學習JAVA,C#等別的語言的話,應該是觸類旁通,拿來就用了,
3. 怎樣才能成為一個編程高手
1、扎實的基礎
數據結構、離散數學、編譯原理,這些是所有計算機科學的基礎,如果不掌握它們,很難寫出高水平的程序。程序人人都會寫,但當你發現寫到一定程度很難再提高的時候,就應該想想是不是要回過頭來學學這些最基本的理論。不要一開始就去學OOP,即使你再精通OOP,遇到一些基本演算法的時候可能也會束手無策。因此多讀一些計算機基礎理論方面的書籍是非常有必要的。
2、豐富的想像力
不要拘泥於固定的思維方式,遇到問題的時候要多想幾種解決問題的方案,試試別人從沒想過的方法。豐富的想像力是建立在豐富的知識的基礎上,除計算機以外,多涉獵其他的學科,比如天文、物理、數學等等。開闊的思維對程序員來說很重要。
3、最簡單的是最好的
這也許是所有科學都遵循的一條准則,復雜的質能轉換原理在愛因斯坦眼裡不過是一個簡單得不能再簡單的公式:E=mc2。簡單的方法更容易被人理解,更容易實現,也更容易維護。遇到問題時要優先考慮最簡單的方案,只有簡單方案不能滿足要求時再考慮復雜的方案。
4、不鑽牛角尖
當你遇到障礙的時候,不妨暫時遠離電腦,看看窗外的風景,聽聽輕音樂,和朋友聊聊天。當我遇到難題的時候會去玩游戲,當負責游戲的那部分大腦細胞極度亢奮的時候,負責編程的那部分大腦細胞就得到了充分的休息。當重新開始工作的時候,我會發現那些難題現在竟然可以迎刃而解。
5、對答案的渴求
人類自然科學的發展史就是一個渴求得到答案的過程,即使只能知道答案的一小部分也值得我們去付出。只要你堅定信念,一定要找到問題的答案,你才會付出精力去探索,即使最後沒有得到答案,在過程中你也會學到很多東西。
6、多與別人交流
三人行必有我師,也許在一次和別人不經意的談話中,就可以迸出靈感的火花。多上上網,看看別人對同一問題的看法,會給你很大的啟發。
7、良好的編程風格
注意養成良好的習慣,代碼的縮進編排,變數的命名規則要始終保持一致。大家都知道如何排除代碼中錯誤,卻往往忽視了對注釋的排錯。注釋是程序的一個重要組成部分,它可以使你的代碼更容易理解,而如果代碼已經清楚地表達了你的思想,就不必再加註釋了,如果注釋和代碼不一致,那就更加糟糕。
8、韌性和毅力
這也許是「高手」和一般程序員最大的區別。高手們並不是天才,他們是在無數個日日夜夜中磨煉出來的。成功能給我們帶來無比的喜悅,但過程卻是無比的枯燥乏味。你不妨做個測試,找個10000以內的素數表,把它們全都抄下來,然後再檢查三遍,如果能夠不間斷地完成這一工作,你就可以滿足這一條。
4. 請教如何從變成白痴到編程高手
什麼叫做「編程白痴」?千萬別相信那些騙人的鬼話!這裡面絕對沒有什麼捷徑可走,只要具備如下條件,那麼你肯定能夠成為一名編程高手的!!
第一、首先必須要堅信自己一定能夠成為一名編程高手,然後要真的下定非學會編程的決心不可!!!
第二、關於到底是否能夠學會、並且精通計算機編程這個問題,我個人認為:如果真的要想熟練掌握計算機編程技能,那麼首先要擁有一台屬於自己的計算機,然後必須要購買一本難度適合自己的教材,並且親自耐心地上機動手編寫、編譯、鏈接、直到調試通過教材中的所有源程序(包括各章的例題、以及每一章後面的練習題),在編寫程序源代碼上達到如醉如痴的地步。只要長期不懈堅持下去,必定會在編寫程序源代碼上產生一種非常好的靈感(即所謂的天資)的。相信自己:沒有什麼學不會的,只要你想學會編程、你想成為一名編程高手!!加油!!
同時這也是我本人最、最開始自己學習計算機軟體編程的親身體會。
5. 怎樣才能成為編程高手
積極做小程序,(小程序往往反應一個或兩個重要核心)
編程要規范(軟體完成是團隊的力量,規范的編寫程序有利於團隊合作)
不畏困難,(解決困難能使你不斷提高,記得多用網路資源)
心態決定一切(機會是給有準備的人的,努力吧)
6. 如何成為編程高手
【一】如何成為電腦高手 要掌握的知識包括: 電腦基礎----對計算機硬體、體系結構不了解是不行的。另外像二進制、十六進制、補碼、位運算(與、或、非、移位) 編程語言----有人你說 C/C++,有人說 Java,還有人說別的。還是要看將來會用什麼。數據類型、順序控制、子程序、函數等概念,多數編程語言(高級語言)都類似的,精通一門後可以觸類旁通。 網路知識----現在的電腦沒有獨立運行的了,信息孤島時代已經過去了。很多軟體都是在網路上運行的。其中對 TCP/IP 協議一定要熟悉。如果你將來專門做網路編程,那就根據需要進一步學習了。 資料庫----資料庫應用是軟體中非常重要的部分。就算你不搞資料庫應用開發,也要對資料庫要了解。 數據結構----光會程序語言是不夠的,「演算法」就像程序的靈魂,會解決問題才能寫出好的程序來。 UML、軟體工程等----做「編程高手」,不是光靠自己聰明的腦瓜來寫程序的,現在是信息爆炸的時代,做軟體經常是很大的項目,需要很多人來做。開始就算你做寫代碼的最底層的程序員,也要根據設計人員的文檔來寫;等你層次提高了,設計的任務歸你了,你就要能寫出各種文檔來:需求分析、模塊設計、詳細設計、測試用例.... 數學----「演算法」是哪裡來的?最終歸結為數學模型! 英語----少不了要看一些英語資料。雖說現在多數軟體工具都漢 化了,但最簡單你也要認識「if」「else」「for」「do」「while」「case」「this」「botton」「text」「list」等等吧。 學習方法方面提示一點: 一要能吃苦,要有專勁,要耐得住寂寞。 二要有人指點,尤其是在入門的時候。 三是實踐很重要。紙上談兵永遠也不會把你變成高手的,除了自己練習,做好事學的差不多了就趕緊找一個程序員的工作,從底層做起,接觸到了團隊開發最好。 【二】電腦編程的基礎知識 1:如果你能夠熟練的使用Windows 的話,你就可以開始你的程序生涯了! 2:首先從C 語言開始。有的朋友可能認為C 語言太難了,應該從VB 開始。雖然,對於一個初學者來說,用一些控制項堆砌成一個小軟體,是有一些成就感,但是,基礎才是最重要的!C 語言對於數據類型的描敘,遠比VB 裡面說的更為全面,清楚,明白,而這些卻是編程中的根本! 3:學C 語言,從數據類型,基本表達式,再到條件語句,循環語句,然後學習函數,再加上一些簡單的數組知識,就可以了!一句 話,到現在為止,你只要理解結構化程序設計的思想也就夠了! 4:有了以上的基礎,就要開始學 5:有了匯編的基礎,再來學習 C 語言中的精華部分----指針,可謂如魚得水了。現在你要對 C 語言全全面面的學一遍了,譚版的教材要從頭到尾認認真真的看兩遍以上。 6:學完以上的內容,有必要研究一下數據結構了,線性表,堆棧,隊列,樹,圖,二叉樹,等等,都要滾瓜爛熟!(最好是清華嚴蔚敏老師的那本教材) 7:請時刻記住:浮躁是學習編程的大忌! 8:現在,你應該學習一些資料庫的知識,還有一些常用的演算法了! 9:如果以上的知識你都學精通的話,就可以開始C++的課程了,找本C++上手的書,用一個星期的時間大概了解一下C++,然後找一本VC 上手的書,再花一個星期的時間學習VC 的界面和用法,就可以做一些簡單的應用了! 10:要想學好VC,沒有扎實的C++知識是不行的,以下書籍是 VC 程序員必須翻的爛熟的:C++Primer,Effective C++,Thinking in C++,More Effective C++ 深入淺出MFC。 11:深刻理解C++面向對象的思想! 12:編程的時候,出錯是難免的,所以,MSDN 一定要熟練使用;好的代碼風格會使調試的時候,更加簡單的查錯,所以,一定要養成 良好的編程風格! 13:如果你嚴格的走好了以上的每一步,你才踏上了編程的門檻,可以混口飯吃了! 至於在以後,編譯原理,操作系統,還有軟體工程等等基礎知識,是必不可少的! 14:如果現在再來學習JAVA,C#等別的語言的話,應該是觸類旁通,拿來就用了, 到此,你才可以稱得上是一個高手! 編程語言- - - - 有人你說 C/ C++,有人說 Java,還有人說別的。還是要看將來會用什麼。
7. 怎麼樣才能成為一個軟體工程師開發高手
信息技術的發展時間雖然不長,但其爆炸式的發展速度使信息技術迅速覆蓋社會和人類生活的各個角落。程序員們是這場信息化浪潮的見證者之一,更是其中的主要參與者,這是時代賦予每個程序員的機會和責任。
信息技術的更新速度是驚人的,程序員的職業生涯則是一個要求不斷學習的過程,永遠不能固步自封。本人在工作期間曾看見過很多程序員只要有閑暇時間就瀏覽一些沒有太大作用的網頁,在網上聊天,打游戲,浪費了大量的時間,十分不可取。而另外一種情況是,IT技術的日新月異使很多程序員眼花繚亂,什麼都想學,卻又不知從何學起,今天看看這個,明天學學那個,貪多不熟。
雖然IT技術發展迅速,但很多技術都是有規律可循,一些基本的概念、原理和方法還很通用,可以舉一反三。本人根據自己的體會和經驗,向那些剛剛踏入IT行業的新程序員們或正在迷茫的程序員們推薦程序員必須掌握的七種武器,有了這七種武器,雖不敢說笑傲江湖,但將自己立於不敗之地還是可以的。
第一種武器:開發工具
至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是我重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C++編寫。而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而本人對SUN公司的「網路即計算機」的概念相當欣賞,並相信JAVA即其相關的技術集JAVA One會成為未來的主流開發工具之一。其次,如果能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,C++ Builder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。
第二種武器:資料庫
為什麼資料庫是如此重要?很多應用程序都是以資料庫的數據為中心,而資料庫的產品也有不少,其中關系型資料庫仍是主流形式,所以程序員至少熟練掌握一兩種資料庫,對關系型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。雖然很多資料庫產品提供了可視化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作方法。如果沒有機會接觸商業資料庫系統,可以使用免費的資料庫產品是一個不錯的選擇,如mySQL, Postgres等。
第三種武器:操作系統
當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。要想成為一個真正的編程高手,需要深入了解操作系統,了解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。Linux作為開發源碼的操作系統,是一個很好的學習平台,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。只有對操作系統有一定的了解後,你會發現自己上了一個新的台階。
第四種武器:網路協議TCP/IP
在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課,網路技術已改變了軟體運行的模式,從最早的客戶/伺服器結構,到今天的WEB Services,再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網路協議支持,所以,深入掌握TCP/IP協議是非常必要的。至少,你需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。
第五種武器:DCOM/CORBA/XML/WEB Services
隨著技術的發展,軟體與網路的無縫結合是必然趨勢,軟體系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分布計算的中間件平台,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規范。程序員需要做的不僅僅是利用商業的開發平台來開發軟體,而是要理解這些技術的初衷,即為什麼需要這項技術,如果你能理解了這一點,再回頭看這些技術的具體實現,就如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻為互聯網上的「世界語」,是分布計算的基石之一。
第六種武器:軟體工程與CMM
現代大型軟體系統的開發中,工程化的開發控製取代個人英雄主義,成為軟體系統成功的保證,一個編程高手並不一定是一個優秀的程序員,一個優秀的程序員是將出色的編程能力和開發技巧同嚴格的軟體工程思想有機結合,編程只是軟體生命周期中的其中一環,優秀的程序員應該掌握軟體開發各個階段的基本技能,如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟體測試等。一句話可以概括我的看法:「創意無限,流程保證」。
第七種武器:強烈的好奇心
什麼才是一個程序員的終極武器呢,那就是強烈的好奇心和學習精神。沒有比強烈的好奇心和學習精神更好的武器了,它是程序員們永攀高峰的源泉和動力所在
8. 怎麼才能成為編程高手
1、絕對熟悉所使用的編程語言。這不是一天兩天能辦到的,也不是寫幾個小程序就可以的。恐怕這需要超強的記憶力和相當豐富的編程經驗。
2、要有想法。編程不是體力勞動,好的程序是編程者思考的結果。任何一種巧妙的演算法都不是憑空想出來的。
3、知識廣泛。只懂得計算機是遠遠不夠的。因為你編的程序不是給你一個人用的。如果你想以此謀生的話,你必須了解關於你的程序所涉及的一切知識。否則,你只是一個將別人的思想轉變成代碼的翻譯。
4、多請教。編程是需要很多經驗的事情。必須多向高手請教,學習他們的編程思想和編程技巧,相信你會進步很快。多讀一些這類的書籍也會使你收益良多。
9. 如何自學成為程序員
如何學習自學編程的方式最好的莫過於在網路上面查找資源。
目前,網路上電腦資源多不勝數。其中有很多都是基礎到精通的視頻教程。通過視頻講解。讓你明白重點知識。你通過查找一套適合自己的視頻。然後看完是基本。
這里推薦幾個可以在線學習的好網站:慕課、極客學院、傳智播客、如朋網、網易公開課等等做筆記在進行看視頻的過程中,一定注意要記筆記。
對視頻中重點的部分進行截圖,並加以文字解釋。就形成了自己的筆記。這些筆記對於你來說很重要。通過記筆記的形式,你就不需要重新觀看視頻了。只需要復習的時候查看筆記就夠了,這樣就大大的節約了時間。
下面介紹一個記筆記的好軟體:CherryTree多練習代碼在視頻中講解的代碼,我認為你至少需要自己寫三遍以上。在寫代碼的時候,就用到了上面寫的筆記了。通過看筆記截圖,即可自己慢慢摸索寫出來代碼。當然練習到一定程度,就需要你適當的做個項目。鞏固自己的知識。
程序員必備技能
1、熟練開發工具
做為一名程序員至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C++編寫。
而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而JAVA即其相關的技術集JAVAOne很可能會成為未來的主流開發工具之一。
其次,能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,CBuilder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。
2、熟知資料庫
為什麼資料庫是如此重要?作為程序員,他們自然有自己的理由:很多應用程序都是以資料庫的數據為中心,而資料庫的產品也有不少,其中關系型資料庫仍是主流形式,所以程序員至少熟練掌握一兩種資料庫,對關系型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。
雖然很多資料庫產品提供了可視化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作方法。如果沒有機會接觸商業資料庫系統,可以使用免費的資料庫產品是一個不錯的選擇,如mySQL,Postgres等。
3、了解操作系統
當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。要想成為一個真正的編程高手,需要深入了解操作系統,了解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。
Linux作為開發源碼的操作系統,是一個很好的學習平台,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。懂得網路協議TCP/IP。
在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課。
網路技術已改變了軟體運行的模式,從最早的客戶/伺服器結構,到今天的WEBServices,再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網路協議支持,深入掌握TCP/IP協議是非常必要的。
至少,需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。
4、明白DCOM/CORBA/XML/WEBServices存在的意義
隨著技術的發展,軟體與網路的無縫結合是必然趨勢,軟體系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分布計算的中間平台,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規范。
XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻為互聯網上的「世界語」,是分布式計算的基石之一。
5、不要將軟體工程與CMM分開
大型軟體系統的開發中,工程化的開發控製取代個人英雄主義,成為軟體系統成功的保證,一個編程高手並不一定是一個優秀的程序員,一個優秀的程序員是將出色的編程能力和開發技巧同嚴格的軟體工程思想有機結合。
編程只是軟體生命周期中的其中一環,優秀的程序員應該掌握軟體開發各個階段的基本技能,如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟體測試等。
6、需求理解能力
程序員要能正確理解任務單中描述的需求。
在這里要明確一點,程序員不僅僅要注意到軟體的功能需求,還應注意軟體的性能需求,要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有著兩到三年項目經驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。
7、模塊化思維能力
作為一個優秀的程序員,他的思想不能局限在當前的工作任務裡面,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。
這樣做可以使代碼能重復利用,減少重復的勞動,也能使系統結構越趨合理。模塊化思維能力的提高是一個程序員的技術水平提高的一項重要指標。
10. 成為編程高手 具體要怎麼做
行處罰,但當比賽成死球時必須這樣做;