如果做一個(gè)專業(yè)的程序員:
1.基礎(chǔ)語(yǔ)言知識(shí) :從底層的ASM 到結(jié)構(gòu)化的C,到面向?qū)ο蟮腃++ JAVA,如果不能都精通,但是要了解,至少要精通一門
2.基礎(chǔ)數(shù)學(xué)知識(shí): 高等數(shù)學(xué)(數(shù)學(xué)分析) 線性代數(shù) 離散數(shù)學(xué),概率.數(shù)理統(tǒng)計(jì)等等
3.基礎(chǔ)計(jì)算機(jī)原理:操作系統(tǒng)原理,微機(jī)原理,編譯原理 數(shù)據(jù)庫(kù)原來(lái)等等
4.看你感興趣的學(xué)習(xí)一個(gè)方向:圖形學(xué)。windows應(yīng)用程序開發(fā)。Linux程序開發(fā),數(shù)據(jù)庫(kù)方面 網(wǎng)絡(luò)編程,等等
----------------------------------------------------------------------
如果只是想快速編軟件:
敬告:這樣不會(huì)成為一個(gè)真正的高手!
比如windows平臺(tái)的編程:
學(xué)習(xí)C語(yǔ)言(熟悉結(jié)構(gòu)化編程)->《windows程序設(shè)計(jì)》(學(xué)習(xí)windowsAPI知識(shí)) ->可以用API進(jìn)行編程了。
但是現(xiàn)在用純API編程幾乎絕跡。不是淘汰,因?yàn)樯虡I(yè)用要盡快成為軟件好賣,API開發(fā)會(huì)消耗程序員大量時(shí)間,但是API是基礎(chǔ)。
或者
學(xué)習(xí)C++語(yǔ)言(熟悉面向?qū)ο蠹夹g(shù))->《MFC程序設(shè)計(jì)》(學(xué)習(xí)MFC編程)->MFC開發(fā) ->MFC應(yīng)用比較廣
.net技術(shù)我沒(méi)有接觸過(guò)?,F(xiàn)在正流行這個(gè),等樓下的給你介紹吧!
------------------------------------
相比較而言,用DELPHI最省事。但是你要了解Object Pascal語(yǔ)言,這個(gè)編程工具是以這個(gè)語(yǔ)言為基礎(chǔ)的。Delphi開發(fā)也是很不錯(cuò)的。
-------------------------------------
以上只是一個(gè)建議,學(xué)習(xí)不可能簡(jiǎn)單,而且路子不一樣,上邊提到的兩windows書,是微軟出版社,在這個(gè)方面最權(quán)威的書。
程序員(英文Programmer)是從事程序開發(fā)、維護(hù)的專業(yè)人員。
一般我們將程序員分為程序設(shè)計(jì)人員和程序編碼員,但兩者的界限并不非常清楚,特別是在中國(guó)。作一個(gè)真正合格的程序員,應(yīng)該具有的素質(zhì)。
1:團(tuán)隊(duì)精神和協(xié)作能力 團(tuán)隊(duì)精神和協(xié)作能力是作為一個(gè)程序員應(yīng)具備的最基本的素質(zhì)。軟件工程已經(jīng)提了將近三十年了,當(dāng)今的軟件開發(fā)已經(jīng)不是編程了,而是工程。
獨(dú)行俠可以寫一些程序也能賺錢發(fā)財(cái),但是進(jìn)入研發(fā)團(tuán)隊(duì),從事商業(yè)化和產(chǎn)品化的開發(fā)任務(wù),就必須具備這種素質(zhì)??梢院敛豢鋸埖恼f(shuō)這種素質(zhì)是一個(gè)程序員乃至一個(gè)團(tuán)隊(duì)的安身立命之本。
2:文檔習(xí)慣 文檔是一個(gè)軟件系統(tǒng)的生命力。一個(gè)公司的產(chǎn)品再好、技術(shù)含量再高,如果沒(méi)有缺乏文檔,知識(shí)就沒(méi)有繼承,公司還是一個(gè)來(lái)料加工的軟件作坊。
作為代碼程序員,必須將30%的工作時(shí)間寫用于技術(shù)文檔。沒(méi)有文檔的程序員勢(shì)必會(huì)被淘汰。
3:規(guī)范化的代碼編寫習(xí)慣 知名軟件公司的代碼的變量命名、注釋格式,甚至嵌套中行縮進(jìn)的長(zhǎng)度和函數(shù)間的空行數(shù)字都有明確規(guī)定,良好的編寫習(xí)慣,不但有助于代碼的移植和糾錯(cuò),也有助于不同技術(shù)人員之間的協(xié)作。 一些所謂的高手甚至叫囂高手寫的代碼一般人看不懂,我只能說(shuō)他不是一名合格的程序員。
4:需求理解能力 程序員要能正確理解任務(wù)單中描述的需求。在這里要明確一點(diǎn),程序員不僅僅要注意到軟件的功能需求,還應(yīng)注意軟件的性能需求,要能正確評(píng)估自己的模塊對(duì)整個(gè)項(xiàng)目中的影響及潛在的威脅,如果有著兩到三年項(xiàng)目經(jīng)驗(yàn)的熟練程序員對(duì)這一點(diǎn)沒(méi)有體會(huì)的話,只能說(shuō)明他或許是認(rèn)真工作過(guò),但是沒(méi)有用心工作。
5:模塊化思維能力 作為一個(gè)優(yōu)秀的程序員,他的思想不能在局限當(dāng)前的工作任務(wù)里面,要想想看自己寫的模塊是否可以脫離當(dāng)前系統(tǒng)存在,通過(guò)簡(jiǎn)單的封裝在其他系統(tǒng)中或其他模塊中直接使用。這樣做可以使代碼能重復(fù)利用,減少重復(fù)的勞動(dòng),也能是系統(tǒng)結(jié)構(gòu)越趨合理。
模塊化思維能力的提高是一個(gè)程序員的技術(shù)水平提高的一項(xiàng)重要指標(biāo)。 6:測(cè)試習(xí)慣 測(cè)試是軟件工程質(zhì)量保證的重要環(huán)節(jié),但是測(cè)試不僅僅是測(cè)試工程師的工作,而是每個(gè)程序員的一種基本職責(zé)。
程序員要認(rèn)識(shí)測(cè)試不僅是正常的程序調(diào)試,而要是要進(jìn)行有目的有針對(duì)性的異常調(diào)用測(cè)試,這一點(diǎn)要結(jié)合需求理解能力。 7:學(xué)習(xí)和總結(jié)的能力 程序員是很容易被淘汰的職業(yè),所以要善于學(xué)習(xí)總結(jié)。
許多程序員喜歡盲目追求一些編碼的小技巧,這樣的技術(shù)人員無(wú)論學(xué)了多少語(yǔ)言,代碼寫起來(lái)多熟練,我們只能說(shuō)他是一名熟練的代碼民工,他永遠(yuǎn)都不會(huì)有質(zhì)的提高。一個(gè)善于學(xué)習(xí)的程序員會(huì)經(jīng)??偨Y(jié)自己的技術(shù)水平,對(duì)自己的技術(shù)層面要有良好的定位,這樣才能有目的地提高自己。
這樣才能逐步提高,從程序員升級(jí)為軟件設(shè)計(jì)師、系統(tǒng)分析員。 作為高級(jí)程序員,除了應(yīng)該具備上述全部素質(zhì)之外,還需要具備以下素質(zhì): 1、需求分析能力 2、整體框架能力 3、流程處理能力 4、模塊分解能力 5、整體項(xiàng)目評(píng)估能力 6、團(tuán)隊(duì)組織管理能力 1,激情。
我曾經(jīng)遇到許多“職業(yè)程序員”,他們從事IT是因?yàn)橛X得這是一種職業(yè),他們只在工作時(shí)間編程,除非送去培訓(xùn)否則他們不會(huì)學(xué)習(xí)新東西,這不是好的程序員。我認(rèn)為一個(gè)好的程序員總是對(duì)編程充滿激情,而且好的開發(fā)者會(huì)做一些編程工作即使這沒(méi)有報(bào)酬。
激情是一個(gè)優(yōu)秀程序員的重要指標(biāo)。2,自學(xué)好學(xué) 編程領(lǐng)域始終發(fā)展變化著,不出一年有些新技術(shù)就變成了老技術(shù),這并不是說(shuō)好的程序員要對(duì)所有新技術(shù)跟進(jìn),但有些卻對(duì)學(xué)習(xí)任何新技術(shù)都沒(méi)有興趣。
他們通常在學(xué)校學(xué)習(xí)了編程,然后工作后單位安排學(xué)什么就學(xué)什么。如果在招聘中你聽到“讓我培訓(xùn)一個(gè)星期我就會(huì)勝任這個(gè)工作”那不要雇傭他。
實(shí)際上,真正優(yōu)秀的程序員始終談?wù)撝闼恢赖男录夹g(shù),向人們解釋為什么你必須用這個(gè)技術(shù),哪怕沒(méi)有聽眾聽得明白,哪怕他自己也不明白。3,聰明 聰明包括很多因素,情緒和社會(huì)交際只是其中之一。
好的程序員絕不木訥,他們是最聰明的人,他們中的許多善于交際,健談、興趣廣泛。4,隱性的經(jīng)驗(yàn) —好的程序員通。
常有自己的私人的一些研究、愛好、項(xiàng)目,而這些是他們不寫在簡(jiǎn)歷上 (通常覺得不值得寫),但表現(xiàn)出來(lái)卻可能恰恰是他的潛能、深度和后勁所在。5,技術(shù)多樣性 由于好的程序員喜歡學(xué)習(xí)和涉獵新技術(shù),所以一般來(lái)說(shuō)超過(guò)22歲的都熟知很多新技術(shù),而且對(duì)多種技術(shù)的長(zhǎng)短有 “強(qiáng)烈”的個(gè)人意見/見解,喜好嘗試新鮮技術(shù)。
6,資格證書 資格證書并不是識(shí)別真正程序員的方法,MCSE、SCJP、說(shuō)明不了什么,它們只是讓別人認(rèn)識(shí)和獲取的,頂多代表這個(gè)人在某個(gè)技術(shù)有一定的知識(shí)。原文作者在文末寫道:以上所說(shuō)的標(biāo)準(zhǔn)并不是絕對(duì)的,因?yàn)橛行﹥?yōu)秀的程序員確實(shí)不符合上述,而有些bad程序員卻符合了。
但相信這些對(duì)大多數(shù)真正的程序員都適用??偨Y(jié)而言,優(yōu)秀的程序員通常有一下特點(diǎn):n 對(duì)技術(shù)充滿激情;n 將編程作為一種愛好 n 如果你允許會(huì)滔滔不絕地跟你談?wù)摷夹g(shù) n 有過(guò)個(gè)人的開發(fā)經(jīng)歷(與4意思相同) n 堅(jiān)持認(rèn)為某種技術(shù)最好 n 如果讓他用他認(rèn)為不好的技術(shù)他會(huì)非常別扭 n 聰明、健談、興趣廣泛 n 在大學(xué)。
呵。
要看你想往哪方面的程序方向發(fā)展了?,F(xiàn)在程序員也分很多種的啊。
有WEB程序員,嵌入式程序員,有C/S程序員。我就給你一份.net程序員的規(guī)劃吧!呵。
希望對(duì)你有幫助!一份.Net的學(xué)習(xí)規(guī)劃 一、研究方向 智能信息處理實(shí)驗(yàn)室.Net小組的主要研究方向是“.Net平臺(tái)下軟件開發(fā)技術(shù)及相關(guān)應(yīng)用”,其研究?jī)?nèi)容包括.Net框架、.Net語(yǔ)言、面向?qū)ο蟮脑O(shè)計(jì)、軟件工程學(xué)方法以及以上理論在實(shí)際中的應(yīng)用。小組將以.Net為開發(fā)平臺(tái),著眼于軟件體系結(jié)構(gòu),特別是面向?qū)ο蟮能浖O(shè)計(jì)方法,學(xué)習(xí)軟件模塊化、系統(tǒng)解耦合和設(shè)計(jì)模式等相關(guān)的理論知識(shí),并結(jié)合實(shí)驗(yàn)室“Web語(yǔ)義”、“工作流”等已有的課題點(diǎn),討論以上技術(shù)在實(shí)際生產(chǎn)中的應(yīng)用。
在更高層次上,小組將系統(tǒng)的學(xué)習(xí)目前較為常見的軟件工程學(xué)方法,包括瀑布模式、螺旋模式和敏捷模式等。并在項(xiàng)目中嘗試采用這些方法,分析這些模式的特點(diǎn)和適用范圍,使小組成員掌握基本的軟件項(xiàng)目管理能力。
二、研究階段 對(duì)于.Net下軟件的開發(fā)的研究分為以下四個(gè)階段:第一階段:.Net開發(fā)環(huán)境的掌握和相關(guān)開發(fā)技術(shù)的學(xué)習(xí)。這一階段主要是掌握一門.Net語(yǔ)言(推薦C#);掌握.Net開發(fā)的基本技能,包括熟悉.Net框架中的核心類、用于數(shù)據(jù)訪問(wèn)的ADO.Net和用于Web應(yīng)用的Asp.Net等;掌握Web開發(fā)的相關(guān)技術(shù),包括數(shù)據(jù)庫(kù)、HTML、JavaScript、CSS和服務(wù)器的配置等;熟悉Visual Studio .Net、Visual Source Safe等開發(fā)工具。
該階段完成后小組成員將有能力閱讀.Net系統(tǒng)的代碼,并在已有的基礎(chǔ)上進(jìn)行改善的能力。第二階段:掌握基本的面向?qū)ο笤O(shè)計(jì)。
在這一階段,小組成將繼續(xù)學(xué)習(xí).Net框架的相關(guān)知識(shí),了解包括反射、XML、ORM和Ajax等較為深入的內(nèi)容。同時(shí),應(yīng)該注重對(duì)相關(guān)原理的理解,包括IL語(yǔ)言、Asp.Net運(yùn)行時(shí)和Http協(xié)議等。
在軟件結(jié)構(gòu)體系方面,小組成員開始學(xué)習(xí)使用面向?qū)ο蟮姆椒ㄟM(jìn)行思考,使用繼承、引用和多態(tài)等面向?qū)ο蟮乃悸穪?lái)描述系統(tǒng)的設(shè)計(jì),掌握UML等系統(tǒng)設(shè)計(jì)工具。這一階段將加大實(shí)踐的比例,使小組通過(guò)開發(fā)實(shí)際項(xiàng)目,掌握相關(guān)的技術(shù)和面向?qū)ο笤O(shè)計(jì)能力。
在這一階段,隨著項(xiàng)目實(shí)踐的展開,小組成員開始接觸軟件工程學(xué)方法,了解不同的開發(fā)模式,掌握?qǐng)F(tuán)隊(duì)協(xié)作能力和相關(guān)協(xié)作工具的使用。第三個(gè)階段:掌握初步系統(tǒng)架構(gòu)設(shè)計(jì)。
在這一階段,系統(tǒng)地實(shí)現(xiàn)已經(jīng)不是重點(diǎn),而該是如何設(shè)計(jì)出一個(gè)良好的系統(tǒng)結(jié)構(gòu)。這要求深入的理解面向?qū)ο蟮乃枷耄⑶揖哂幸欢ǖ拈_發(fā)經(jīng)驗(yàn)。
在這一階段,小組將學(xué)習(xí)軟件構(gòu)架的相關(guān)知識(shí),包括系統(tǒng)的模塊化、模塊間解耦合、面向?qū)ο蟮脑O(shè)計(jì)原則、設(shè)計(jì)模式、測(cè)試和重構(gòu)等,并且學(xué)習(xí)使用這些知識(shí)對(duì)不同的系統(tǒng)進(jìn)行設(shè)計(jì),掌握各種模式的特點(diǎn)和使用范圍,從而對(duì)于給定的系統(tǒng)要求能夠設(shè)計(jì)出較為完善的架構(gòu)。第四階段:掌握完善系統(tǒng)架構(gòu)設(shè)計(jì)。
這一階段著眼于如何對(duì)系統(tǒng)的需求進(jìn)行深入的理解,以及此基礎(chǔ)上,設(shè)計(jì)出完善的系統(tǒng)架構(gòu)。完善的系統(tǒng)架構(gòu)應(yīng)該重視并準(zhǔn)確的反映系統(tǒng)的業(yè)務(wù)邏輯,并考慮需求變化的應(yīng)對(duì),兼顧系統(tǒng)的靈活性、健壯性、復(fù)雜度、開發(fā)效率和運(yùn)行效率等諸多方面。
小組成員在這一階段將學(xué)習(xí)大量現(xiàn)有的優(yōu)秀系統(tǒng)設(shè)計(jì),并結(jié)合實(shí)驗(yàn)室相關(guān)項(xiàng)目,充分理解不同系統(tǒng)所應(yīng)該采用的構(gòu)架模式,并盡量能夠擁有自己獨(dú)到的設(shè)計(jì)見解和設(shè)計(jì)風(fēng)格。附:參考書目1,第一階段:a) 《C#高級(jí)編程》b) 《Asp.Net高級(jí)編程》c) 《HTML&XHTML權(quán)威指南》d) 《JavaScript權(quán)威指南》e) 《數(shù)據(jù)系統(tǒng)概論》2,第二階段:a) 《.Net Framework高級(jí)編程》b) 《Asp.Net 技術(shù)內(nèi)幕》c) 《C# XML高級(jí)編程》d) 《JavaScript高級(jí)編程》e) 《Ajax基礎(chǔ)教程》f) 《代碼大全2》g) 《面向?qū)ο箝_發(fā)實(shí)踐之路——C#版》h) UML書籍一本3,第三階段:a) 《重構(gòu)——改善既有代碼的設(shè)計(jì)》b) 《敏捷軟件開發(fā)——原則、模式及實(shí)踐》c) 《Head First Design Patterns》d) 《設(shè)計(jì)模式——可復(fù)用的面向?qū)ο笤O(shè)計(jì)》4,第四階段:a) 《企業(yè)應(yīng)用構(gòu)架模式》b) 《測(cè)試驅(qū)動(dòng)開發(fā)》c) 《程序員修煉之道》。
數(shù)學(xué)基礎(chǔ)(高中夠了) 英語(yǔ)基礎(chǔ)(初中夠了) 計(jì)算機(jī)常識(shí) 操作系統(tǒng):windows dos Lilx 原理(不是簡(jiǎn)單的復(fù)制粘貼"原理") 計(jì)算機(jī)語(yǔ)言:匯編和C/C 軟件方向 或 java網(wǎng)絡(luò)方向之一 再加上其他語(yǔ)言如Pascal或Visual Basic。
軟件工程`知識(shí)產(chǎn)權(quán)`安全知識(shí)`計(jì)算機(jī)原理`數(shù)據(jù)庫(kù)`多媒體常識(shí)`這都是軟件設(shè)計(jì)師的考綱(上午題)此證由國(guó)家人事部發(fā),比重點(diǎn)本科證值錢(注意:等級(jí)上比不上,但在現(xiàn)在的現(xiàn)實(shí)社會(huì)足以)。 若是普通程序員,至少在深圳人才市場(chǎng)看來(lái)都是直接T(踢),除非你是高級(jí)程序員。
建議去參考一下北大青鳥集團(tuán)的培訓(xùn),有基礎(chǔ)的一年半即可拿到此證(呵呵~有基礎(chǔ)~但是中國(guó)還是不多)。祝你成功。
程序員需要學(xué)習(xí)程序的邏輯,其次是需要學(xué)習(xí)編程的語(yǔ)言,這才是最根本的,有了語(yǔ)言才能和計(jì)算機(jī)“溝通”
如果做一個(gè)專業(yè)的程序員:
1.基礎(chǔ)語(yǔ)言知識(shí) :從底層的ASM 到結(jié)構(gòu)化的C,到面向?qū)ο蟮腃++ JAVA,如果不能都精通,但是要了解,至少要精通一門
2.基礎(chǔ)數(shù)學(xué)知識(shí): 高等數(shù)學(xué)(數(shù)學(xué)分析) 線性代數(shù) 離散數(shù)學(xué),概率.數(shù)理統(tǒng)計(jì)等等
3.基礎(chǔ)計(jì)算機(jī)原理:操作系統(tǒng)原理,微機(jī)原理,編譯原理 數(shù)據(jù)庫(kù)原來(lái)等等
程序員的考試要求:掌握數(shù)制及其轉(zhuǎn)換、數(shù)據(jù)的機(jī)內(nèi)表示、算術(shù)和邏輯運(yùn)算,以及相關(guān)的應(yīng)用數(shù)學(xué)基礎(chǔ)知識(shí);理解計(jì)算機(jī)的組成以及各主要部件的性能指標(biāo);掌握操作系統(tǒng)、程序設(shè)計(jì)語(yǔ)言的基礎(chǔ)知識(shí);熟練掌握計(jì)算機(jī)常用辦公軟件的基本操作方法;熟練掌握基本數(shù)據(jù)結(jié)構(gòu)和常用算法;熟練掌握C程序設(shè)計(jì)語(yǔ)言,以及C++、Java、Visual
Basic中一種程序設(shè)計(jì)語(yǔ)言;熟悉數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)和多媒體的基礎(chǔ)知識(shí);掌握軟件工程的基礎(chǔ)知識(shí),了解軟件過(guò)程基本知識(shí)、軟件開發(fā)項(xiàng)目管理的常識(shí);了解常用信息技術(shù)標(biāo)準(zhǔn)、安全性,以及有關(guān)法律、法規(guī)的基本知識(shí)。
聲明:本網(wǎng)站尊重并保護(hù)知識(shí)產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請(qǐng)?jiān)谝粋€(gè)月內(nèi)通知我們,我們會(huì)及時(shí)刪除。
蜀ICP備2020033479號(hào)-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁(yè)面生成時(shí)間:2.761秒