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