深入解讀-6種方法來(lái)成為一名程序員_第1頁(yè)
深入解讀-6種方法來(lái)成為一名程序員_第2頁(yè)
深入解讀-6種方法來(lái)成為一名程序員_第3頁(yè)
深入解讀-6種方法來(lái)成為一名程序員_第4頁(yè)
深入解讀-6種方法來(lái)成為一名程序員_第5頁(yè)
已閱讀5頁(yè),還剩127頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

深入解讀-6種方法來(lái)成為一名程序員

成為程序員是一個(gè)日積月累的過(guò)程,需要日復(fù)一日年復(fù)一年的技能增長(zhǎng)。編程本身是有趣的,并且有回報(bào)(腦力層面、精神層面、經(jīng)濟(jì)層面)。這份指南不能保證你輕松當(dāng)上程序員。不要神化下面這些步驟,從中你大概能了解在現(xiàn)今編程界如何成為一名程序員。步驟1學(xué)習(xí)下列這些學(xué)科中一兩門引導(dǎo)性課程:邏輯學(xué)離散數(shù)學(xué)編程語(yǔ)言(學(xué)習(xí)不同的編程模式,從順序/過(guò)程到面向?qū)ο?,再到函?shù)式和邏輯式編程。初學(xué)者最好選擇Ruby/Python/Pascal,徹底弄懂了之后再深入學(xué)習(xí)C++/C#/Java)專家提示GeneLinetsky,MS創(chuàng)業(yè)者和工程總監(jiān)GeneLinetsky是美國(guó)舊金山市灣區(qū)的一位創(chuàng)業(yè)者和軟件工程師。他從事技術(shù)行業(yè)超過(guò)30年,目前在一家為企業(yè)建立智能銷售點(diǎn)終端的技術(shù)公司Poynt擔(dān)任工程總監(jiān)。GeneLinetsky,MS

創(chuàng)業(yè)者和工程總監(jiān)不要以拿到編程學(xué)位為目標(biāo)。雖然學(xué)習(xí)編程語(yǔ)言的課程可能很有幫助,但軟件工程師和創(chuàng)業(yè)公司創(chuàng)始人GeneLinetsky建議說(shuō):“其實(shí)以拿學(xué)位為目標(biāo)有利還是有弊值得商榷。相反,最好把編程看作是一種學(xué)徒制——它主要涉及到從錯(cuò)誤中學(xué)習(xí)?!?學(xué)習(xí)數(shù)據(jù)庫(kù)概念,比如表,視圖/查詢和進(jìn)程。你可以使用任何簡(jiǎn)單的數(shù)據(jù)庫(kù)包來(lái)完成這些,比如:MSAccessDBVFoxProParadoxMySQL是一個(gè)很值得學(xué)習(xí)的數(shù)據(jù)庫(kù),因?yàn)樗赓M(fèi)且通用,數(shù)據(jù)庫(kù)常常用于SQL查詢。3想好你要成為哪種程序員。通常程序員會(huì)是下面某一種:網(wǎng)絡(luò)程序員桌面軟件程序員操作系統(tǒng)程序員(有單系統(tǒng),也有多系統(tǒng))獨(dú)立平臺(tái)程序員分布式程序設(shè)計(jì)員庫(kù)/平臺(tái)/框架/核心程序員系統(tǒng)程序員內(nèi)核程序員驅(qū)動(dòng)程序員編譯程序員編程科學(xué)家4了解你的編程領(lǐng)域內(nèi)相關(guān)技術(shù)和編程語(yǔ)言。下面的部分詳細(xì)給出了成為不同類型程序員所需的步驟。方法1網(wǎng)絡(luò)編程1了解網(wǎng)絡(luò)編程的含義。網(wǎng)絡(luò)應(yīng)用是指設(shè)計(jì)在網(wǎng)絡(luò)結(jié)構(gòu)頂層的軟件部分。這就意味著這些應(yīng)用是通過(guò)諸如火狐或IE之類的瀏覽器來(lái)處理的。架構(gòu)于網(wǎng)絡(luò)結(jié)構(gòu)的頂層并不一定要連接到網(wǎng)絡(luò)。這就是說(shuō)網(wǎng)絡(luò)應(yīng)用建立在如下標(biāo)準(zhǔn)網(wǎng)絡(luò)技術(shù)的頂層:HTTPFTPPOP3SMTPTCPIP協(xié)議HTMLXMLColdfusionASPJSPPHPASP.NET2瀏覽不同的網(wǎng)站,了解它們的外觀。(右擊,選擇“查看源”或按F12。)尋找網(wǎng)站類型/內(nèi)容的多樣性,而非數(shù)量。通常你需要訪問(wèn)以下網(wǎng)站類型中至少一種:團(tuán)體網(wǎng)站(商業(yè)公司,非營(yíng)利機(jī)構(gòu)/組織,政府組織)網(wǎng)絡(luò)索引引擎(搜索引擎,meta搜索網(wǎng)站,專業(yè)化搜索引擎,目錄)數(shù)據(jù)挖掘網(wǎng)站個(gè)人網(wǎng)站信息/百科全書式網(wǎng)頁(yè)(維基,數(shù)據(jù)單,技術(shù)規(guī)格,人工列表目錄,博客和日志,新聞和新聞機(jī)構(gòu)網(wǎng)站,黃頁(yè),等等。)社交網(wǎng)站(社交門戶,書簽網(wǎng)站,記錄筆記網(wǎng)站)合作網(wǎng)站(這包含了上面提及的目錄,比如維基和博客)3學(xué)習(xí)至少一種頭腦風(fēng)暴技術(shù)/方法,并學(xué)習(xí)一個(gè)用來(lái)實(shí)現(xiàn)頭腦風(fēng)暴的軟件。例如:頭腦風(fēng)暴圖和微軟Visio。4熟悉網(wǎng)站結(jié)構(gòu)。指的是創(chuàng)建概念化網(wǎng)絡(luò)范式、網(wǎng)絡(luò)地圖和導(dǎo)航結(jié)構(gòu)。5趕緊學(xué)一門圖形設(shè)計(jì)的課程。盡量學(xué)習(xí)至少一個(gè)圖形編輯/操作軟件包(不是必須的,但強(qiáng)烈推薦)6了解網(wǎng)絡(luò)下部構(gòu)造的基本情況。包括了解以下:基本網(wǎng)絡(luò)服務(wù)協(xié)議(HTTP,F(xiàn)TP,SMTP和POP3或IMAP4)網(wǎng)絡(luò)服務(wù)器軟件(最好其中一個(gè)就是你以后主要工作的平臺(tái))網(wǎng)絡(luò)瀏覽軟件郵件服務(wù)器和客戶端軟件7學(xué)習(xí)HTML和CSS語(yǔ)言。或許你還想要“所見(jiàn)即所得”軟件包來(lái)編輯HTML。8學(xué)習(xí)XML及其相關(guān)技術(shù),比如XSL和XPath(不是必需,僅作推薦)。9先建立簡(jiǎn)單的靜態(tài)網(wǎng)站,直至你熟悉并習(xí)慣HTML語(yǔ)言。10學(xué)習(xí)客戶端腳本語(yǔ)言。多數(shù)人要么學(xué)Java,要么學(xué)VB,但也有一些人學(xué)習(xí)Perl和DHTML。11熟悉你所學(xué)的客戶端腳本語(yǔ)言。潛意識(shí)里提醒自己只用你學(xué)的那個(gè)語(yǔ)言。只有在你熟悉你的客戶端腳本語(yǔ)言之后才能進(jìn)入下個(gè)步驟。12學(xué)習(xí)至少一種服務(wù)器端腳本語(yǔ)言。如果你只用一種服務(wù)器軟件,那就學(xué)其中一種編程語(yǔ)言。否則,你得每個(gè)服務(wù)器軟件都學(xué)至少一種編程語(yǔ)言。13學(xué)完服務(wù)器端編程語(yǔ)言之后就開始創(chuàng)建一個(gè)試驗(yàn)項(xiàng)目。14獲得你的網(wǎng)站,開始用你自己的網(wǎng)頁(yè)實(shí)驗(yàn)。方法2桌面軟件編程1弄清楚桌面軟件編程是怎么回事。多數(shù)桌面軟件程序員都是編寫商務(wù)需要的代碼,所以好好了解一下商業(yè)及其組織和經(jīng)濟(jì)結(jié)構(gòu)將對(duì)節(jié)省時(shí)間、提高效率大有裨益。2了解不同的電腦硬件結(jié)構(gòu)??纯磾?shù)字電路設(shè)計(jì)和電腦結(jié)構(gòu)的入門級(jí)課程,但是也有人認(rèn)為這對(duì)于剛起步來(lái)說(shuō)太超前了,所以看兩三篇說(shuō)明的文章(比如這一篇和這一篇)就夠了。學(xué)完第一種編程語(yǔ)言后你可以再返回這個(gè)步驟。3學(xué)習(xí)一種入門級(jí)(小孩子學(xué)的那種)編程語(yǔ)言。[1]不要因?yàn)槟悴皇莻€(gè)小孩子就不好意思去學(xué)。這些入門級(jí)語(yǔ)言能大大減輕你正式學(xué)習(xí)第一門編程語(yǔ)言時(shí)的痛苦和壓力。然而這一步也不是必須的。你也可以在上一步之前完成。4學(xué)習(xí)程序化、面向?qū)ο?、函?shù)設(shè)序設(shè)計(jì)規(guī)范的入門。5學(xué)習(xí)一種程序化程式設(shè)計(jì)語(yǔ)言的入門課程。無(wú)論你以后選擇何種編程語(yǔ)言,在某種程度上它都要求程序化程式設(shè)計(jì)。此外,據(jù)多數(shù)程序員反映,程序化程式設(shè)計(jì)總的來(lái)說(shuō)是了解編程的一個(gè)很好的切入點(diǎn)。6學(xué)習(xí)至少一種高級(jí)建模技術(shù),比如UML或ORM。7開始編寫一些小的主控臺(tái)應(yīng)用程式或類似的應(yīng)用程式。你可以利用編程書中的常見(jiàn)小練習(xí)。選擇一個(gè)工具,用你所學(xué)的編程語(yǔ)言編寫程序。8學(xué)習(xí)一門你選擇的編程語(yǔ)言的更高級(jí)課程。確保進(jìn)展之前先理解下列概念,并能熟練運(yùn)用。對(duì)程序用戶輸入輸出信息。程式化設(shè)計(jì)語(yǔ)言寫成的程序中的邏輯流程和執(zhí)行流程。聲明、分配和比較變量編程結(jié)構(gòu)分支,比如if..then..else和select/switch..case.循環(huán)結(jié)構(gòu),比如while..do,do..while/until,for..next.創(chuàng)建、調(diào)用程序與函數(shù)的編程句法數(shù)據(jù)類型及如何操控用戶定義數(shù)據(jù)類型(records/structs/units)及其使用如果你的語(yǔ)言支持超載函數(shù),理解它。你選擇的語(yǔ)言的內(nèi)存處理方式(指針,變量窺視,等等。)如果你的語(yǔ)言支持運(yùn)營(yíng)商超載,理解它。如果你的語(yǔ)言支持delegates/函數(shù)指針,理解它。9應(yīng)用你所學(xué)的高級(jí)技能面向?qū)ο蟮囊?guī)范10至少再學(xué)習(xí)一門編程語(yǔ)言規(guī)范的入門課程。推薦學(xué)習(xí)每種范式的編程語(yǔ)言,多數(shù)高級(jí)程序員確實(shí)是這么做的,然而,通常你開始時(shí)只學(xué)一種,應(yīng)用所學(xué)知識(shí)訓(xùn)練了一段時(shí)間,獲得了編程的鮮活經(jīng)驗(yàn),然后接著學(xué)習(xí)另一種。試試下面的語(yǔ)言:邏輯編程范式函數(shù)編程范式面向?qū)ο蟮姆妒?1試著比較你所學(xué)的兩門編程語(yǔ)言。評(píng)估各自利弊。通??砂匆韵路椒ㄍ瓿赡贸瞿阍趯W(xué)習(xí)第一門編程語(yǔ)言時(shí)編寫的簡(jiǎn)單范例,現(xiàn)在用第二門語(yǔ)言重新編寫。創(chuàng)建一個(gè)工程,盡量用上兩種語(yǔ)言完成它。有時(shí)取決于你選擇的工程和語(yǔ)言,你可能僅用一門語(yǔ)言還無(wú)法完成這個(gè)工程呢!寫一份兩種語(yǔ)言之間相似結(jié)構(gòu)和獨(dú)特之處對(duì)比的速查表或一覽表。盡量使用另一門語(yǔ)言找到模仿這兩門語(yǔ)言中獨(dú)特之處的辦法。12利用你學(xué)過(guò)的一種語(yǔ)言來(lái)學(xué)習(xí)可視化編程概念。幾乎所有的編程語(yǔ)言都具有支持可視化編程和其他支持控制臺(tái)或類似控制臺(tái)編程的版本/庫(kù)。同時(shí)進(jìn)行的包括:初步了解事件驅(qū)動(dòng)編程。在某種程度上,多數(shù)可視化編程依賴事件及事件處理(用上你選擇的語(yǔ)言)。盡可能多的嘗試桌面軟件,理解軟件是做什么的。多數(shù)軟件開發(fā)公司會(huì)提供產(chǎn)品的測(cè)試版,你可以拿來(lái)測(cè)試軟件。在完善用戶界面方面保持更新。閱讀關(guān)于圖形用戶界面的文章或教程。13開始把你所學(xué)的知識(shí)運(yùn)用到你設(shè)計(jì)的軟件小工程中。盡量把你的編程專業(yè)知識(shí)運(yùn)用到你日常生活中的問(wèn)題上。比如,編寫程序,批量重命名文件,視覺(jué)上比較文本文件,復(fù)制目錄里的文件名到內(nèi)存/文本文件之類的東西。剛開始簡(jiǎn)單一點(diǎn)。14創(chuàng)建一個(gè)虛擬的“畢業(yè)工程”。把這個(gè)放到最后完成,用上你到目前為止學(xué)到的可視化編程技術(shù)。15通過(guò)學(xué)習(xí)更高級(jí)的課程、更加注意細(xì)節(jié)以及在網(wǎng)上學(xué)習(xí)搭建架構(gòu)的技巧,來(lái)加深對(duì)你學(xué)過(guò)的可視化架構(gòu)/庫(kù)/包的理解。16搜索其他含可視化元素的包/庫(kù)并學(xué)習(xí)它們。17學(xué)習(xí)圖形學(xué)課程(而非圖形設(shè)計(jì))。對(duì)于想要寫出吸引人的用戶界面元素的程序員來(lái)說(shuō),這將大有裨益。18成為游戲程序員(不是必須的)。很大程度上游戲編程是被當(dāng)作桌面編程的。如果你想成為游戲程序員,完成這些步驟后你需要進(jìn)一步學(xué)習(xí)游戲編程。對(duì)于游戲程序員而言,圖形學(xué)課程是必須的,后續(xù)步驟中第二門語(yǔ)言應(yīng)該選擇邏輯/函數(shù)編程語(yǔ)言(最好是Prolog或Lisp)。方法3分布式程序設(shè)計(jì)1處理分布式應(yīng)用編程。分布式應(yīng)用編程被許多人認(rèn)為是最難學(xué)的一種,它要求計(jì)算機(jī)和通信技術(shù)中的不同知識(shí)。2快速了解通信系統(tǒng)及其硬件。這個(gè)步驟不是必須的,但是對(duì)于理解網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)很有用。3熟悉網(wǎng)絡(luò)硬件結(jié)構(gòu)和設(shè)備,比如集線器、接線臺(tái)和路由器。4學(xué)習(xí)網(wǎng)絡(luò)協(xié)議的課程。在你開始分布式應(yīng)用編程之前,你需要好好理解“開放系統(tǒng)互聯(lián)(OSI)”模型、以太、IP、TCP、UDP和HTTP。5學(xué)習(xí)XML語(yǔ)言,并熟悉它。6開始學(xué)習(xí)一門shell腳本語(yǔ)言。對(duì)基于Windows的編程,可以是任何能與Windows腳本宿主兼容的腳本。對(duì)基于Linux的編程,Bash腳本和Perl就夠了。對(duì)這兩個(gè)平臺(tái)都強(qiáng)烈推薦Java,原因如下:幾乎所有操作系統(tǒng)的都支持腳本宿主(Windows腳本宿主默認(rèn)支持java,大多數(shù)Linux發(fā)行版都有支持java腳本控制的包)。許多開發(fā)者認(rèn)為它很容易學(xué)。當(dāng)你需要學(xué)第二門編程語(yǔ)言(C,C++,C#,Java和J#都有ALGOL開源句法)時(shí),它擁有的ALGLO開源句法就能使你熟悉更多編程語(yǔ)言通過(guò)學(xué)習(xí)java,你會(huì)熟悉網(wǎng)頁(yè)的客戶端腳本,這可謂一大福利!7開始時(shí)用上你學(xué)的腳本知識(shí),只運(yùn)用程序化程式設(shè)計(jì)。之后,根據(jù)你的腳本語(yǔ)言和它所支持的,你可以用上更高級(jí)的編程技巧和范式。所有的腳本語(yǔ)言在某種程度上都有程序化程式設(shè)計(jì)的一些方面。8使用你所學(xué)的腳本語(yǔ)言,寫出實(shí)現(xiàn)機(jī)器之間通信的腳本。學(xué)習(xí)完成這個(gè)所必需的東西。簡(jiǎn)單的通信就足夠了。9轉(zhuǎn)移到桌面腳本/編程語(yǔ)言。一個(gè)比較好的是多范式語(yǔ)言,比如Python。簡(jiǎn)單了解第二門語(yǔ)言。有許多理由讓多數(shù)程序員選擇java。然而,在這個(gè)領(lǐng)域內(nèi)C#正在獲得多數(shù)優(yōu)勢(shì)。Java和C#被青睞的原因如下:它們是面向?qū)ο蟮木幊陶Z(yǔ)言,使大量程序員免遭實(shí)現(xiàn)細(xì)節(jié)之苦,因?yàn)樗鼈兌贾С纸M成部分(代碼單元、預(yù)編譯,它們可以執(zhí)行特定任務(wù),并被用到其他程序中)。它們支持事件驅(qū)動(dòng)編程,在某種程度上還支持OO和程式化程序設(shè)計(jì)。建立語(yǔ)言的架構(gòu)按屬性分布(比如Java)。有許多現(xiàn)成的包來(lái)處理。社交網(wǎng)絡(luò)同時(shí)作為開源代碼和架構(gòu)內(nèi)置包,這使得程序員繼續(xù)其他人工作更加容易。10專注于語(yǔ)言的核心部分,尤其hi那些支持網(wǎng)絡(luò)。少注意用戶界面元素,比如輸出,窗口設(shè)計(jì)和技術(shù)等。11學(xué)習(xí)分布式應(yīng)用設(shè)計(jì)與結(jié)構(gòu)的課程。可以通過(guò)書本、網(wǎng)上教程或?qū)W術(shù)課程來(lái)完成。然而,十分有必要理解分布式應(yīng)用的結(jié)構(gòu)及其概念。12使用你所學(xué)的編程語(yǔ)言來(lái)了解服務(wù)部分建構(gòu)和服務(wù)。13學(xué)習(xí)如下技術(shù)中一種或更多。推薦你每一種都了解以下。多數(shù)分布式應(yīng)用程序員不會(huì)止于一兩門編程語(yǔ)言,他們會(huì)每個(gè)操作系統(tǒng)各學(xué)至少一種語(yǔ)言。這是因?yàn)槿绻阆M愕膽?yīng)用“分布式”,你應(yīng)該至少為每個(gè)主要的操作系統(tǒng)各提供一個(gè)版本。公共對(duì)象訪問(wèn)代理體系結(jié)構(gòu)(CORBA)簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(SOAP)異步JavaScript和XML(AJAX)分布式組建對(duì)象模型(DCOM).NET遠(yuǎn)程處理XML網(wǎng)絡(luò)服務(wù)方法4庫(kù)/平臺(tái)/框架/核心編程1了解什么是核心編程。核心程序員幾乎都是高級(jí)程序員,已經(jīng)從編寫應(yīng)用轉(zhuǎn)變?yōu)榻o其他程序員編寫代碼匯編。2學(xué)習(xí)一門支持創(chuàng)建可重復(fù)使用內(nèi)容/包的編程語(yǔ)言,如果你還沒(méi)學(xué)過(guò)的話。3學(xué)習(xí)一門UML和ORM的高級(jí)課程。多數(shù)庫(kù)開發(fā)者使用其中一種,或兩種都用。4學(xué)習(xí)軟件工程的課程。5學(xué)習(xí)至少一個(gè)模塊,基于內(nèi)容的、面對(duì)對(duì)象的和事件驅(qū)動(dòng)編程技術(shù)和概念。你所學(xué)覆蓋越多編程范式和語(yǔ)言,你就能成為越成功的庫(kù)/包程序員。6進(jìn)一步了解不同的操作系統(tǒng)及其支持的編程架構(gòu)。7集中學(xué)習(xí)獨(dú)立平臺(tái)架構(gòu)、編程語(yǔ)言和技術(shù)。8如果到目前為止你學(xué)習(xí)的編程語(yǔ)言具有ANSI/ISO/EEE/W3C標(biāo)準(zhǔn)版本,那么掌握這些標(biāo)準(zhǔn)。無(wú)論何時(shí)盡可能使用標(biāo)準(zhǔn)代碼。9嘗試模擬簡(jiǎn)單的、已經(jīng)建立的庫(kù),尤其是開源的庫(kù)。這在成為庫(kù)/包程序員的早期階段十分有用。從簡(jiǎn)單的包開始,比如單位轉(zhuǎn)換和中間科學(xué)計(jì)算包。如果你是大學(xué)生,利用你的非編程課程,嘗試把這些課程的方程式與核心科學(xué)用作庫(kù)。10在你的編程領(lǐng)域內(nèi)尋找開源的包。首先下載包的二進(jìn)制/可執(zhí)行文件。盡量去用,并發(fā)現(xiàn)它的利弊。之后,下載源,盡量弄明白它是怎么完成的。嘗試再創(chuàng)造這些庫(kù)或其部分。剛開始,看完代碼再做;之后,先做再看代碼。后期階段,嘗試完善那些庫(kù)。11學(xué)習(xí)不同方法。給程序員分發(fā)、配送內(nèi)容。通常,庫(kù)/包程序員傾向于以遞歸和/或迭代的思想來(lái)思考他們面臨的所有問(wèn)題。盡量把每個(gè)問(wèn)題當(dāng)作一個(gè)小問(wèn)題的匯編(一系列更小的任務(wù))或一個(gè)重復(fù)的不斷縮小問(wèn)題范圍直至把這些更小的范圍彼此堆到一起的處理過(guò)程去思考。庫(kù)/包程序員傾向于概括化。也就是說(shuō),當(dāng)面臨一個(gè)特定的簡(jiǎn)單的問(wèn)題時(shí),他們通常會(huì)想到一個(gè)更為概括的問(wèn)題,并努力解決這個(gè)更概括的問(wèn)題,如此,小問(wèn)題便不攻自破。方法5系統(tǒng)編程1了解系統(tǒng)編程的定義。系統(tǒng)編程處理的是編程的“科學(xué)”,而不是具體的編程實(shí)現(xiàn)。不要把你自己栓到特定平臺(tái)上。2跟著“桌面應(yīng)用程序員”的前三個(gè)步驟。3學(xué)習(xí)線性代數(shù)的入門課程。4學(xué)習(xí)微積分課程。5學(xué)習(xí)邏輯學(xué)和/或離散數(shù)學(xué)課程。6了解不同的“準(zhǔn)操作系統(tǒng)”。這可以通過(guò)以下途徑完成:了解操作系統(tǒng)是如何安裝的。了解在一臺(tái)PC上如何安裝不同的操作系統(tǒng)(不是必須的,但作為推薦)安裝不止一種操作系統(tǒng)。不要在系統(tǒng)中安裝任何輔助包,相反,僅利用操作系統(tǒng)本身提供的函數(shù)。7學(xué)習(xí)計(jì)算機(jī)硬件結(jié)構(gòu)的課程(或者作為替代,看看書)。8深入理解不同的計(jì)算機(jī)硬件平臺(tái)。9初步熟悉你所選擇的硬件平臺(tái)/操作系統(tǒng)的匯編語(yǔ)言。稍后你會(huì)學(xué)習(xí)其他平臺(tái)/系統(tǒng)的匯編。10學(xué)習(xí)ANSIC和C++語(yǔ)言,還有程序化程式設(shè)計(jì)的一些概念。11在你選擇的平臺(tái)上理解并實(shí)踐C/C++標(biāo)準(zhǔn)庫(kù)。尤其注意標(biāo)準(zhǔn)模板庫(kù)(STL)和活動(dòng)模板庫(kù)(ATL)。12搜索網(wǎng)絡(luò)資源、書籍和課程來(lái)理解你的平臺(tái)獨(dú)特的C風(fēng)格。13用C/C++練習(xí)編寫高級(jí)代碼。14學(xué)習(xí)更高級(jí)的Assembly。15學(xué)習(xí)操作系統(tǒng)設(shè)計(jì)的課程。16尋找并閱讀你所選擇的平臺(tái)的相關(guān)文章。如果你選的是基于Unix的操作系統(tǒng)就會(huì)容易得多。充分理解你今后將要用來(lái)工作的系統(tǒng)。17練習(xí)你已經(jīng)掌握的知識(shí)。首先創(chuàng)建小的系統(tǒng)軟件。如下通常很有用:試著重創(chuàng)你系統(tǒng)中已有的小工具。試著把其他系統(tǒng)中的應(yīng)用移植到你的系統(tǒng)里。18以最有益的順序?qū)W習(xí)語(yǔ)言。此處是唯一強(qiáng)調(diào)第一門編程語(yǔ)言的地方。首先學(xué)習(xí)ANSIC而不是C++、C#、Java、D。然后學(xué)習(xí)C++。限制你第一門語(yǔ)言僅為C是因?yàn)橄到y(tǒng)編程要求程序員熟悉如下概念:源代碼真實(shí)、完全的編譯低級(jí)對(duì)象輸出文件鏈接二進(jìn)制低級(jí)機(jī)器語(yǔ)言

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論