第一,明確需求,要實(shí)現(xiàn)什么功能
第二,設(shè)計(jì)好數(shù)據(jù)結(jié)構(gòu)和算法
第三,用您熟悉的編程語(yǔ)言如C++,C#,Python,Go,Java,開(kāi)始邊寫(xiě)代碼
第四,測(cè)試您的程序
剛開(kāi)始學(xué)習(xí)編程語(yǔ)言,要怎么去做,動(dòng)手編寫(xiě)一個(gè)編譯器,學(xué)習(xí)一下較為底層的編程方式,是一種學(xué)習(xí)計(jì)算機(jī)到底是如何工作的非常有效方法。編譯器通常被看作是十分復(fù)雜的工程。事實(shí)上,編寫(xiě)一個(gè)產(chǎn)品級(jí)的編譯器也確實(shí)是一個(gè)龐大的任務(wù)。但是寫(xiě)一個(gè)小巧可用的編譯器卻不是這么困難。 這個(gè)秘密是,首先介紹編程入門(mén)教程,找到盡可能小的項(xiàng)目,然后想要的功能加入。這種方法也意味著在他那篇著名的文章中提到的“一個(gè)編譯器構(gòu)造的快捷方式”阿卜杜勒阿齊茲Ghuloum說(shuō)。但是這種方法確實(shí)工作。只需要按照第一步操作本文中,可以得到一個(gè)真正可用的編譯器。當(dāng)然,它只能被編譯的編程語(yǔ)言是非常小的子集,但它確實(shí)是一個(gè)真正的編譯器可用。你可以自由地?cái)U(kuò)展這個(gè)編譯器,然后了解更多,更深的了解。 從某種意義上來(lái)說(shuō)這比寫(xiě)一個(gè)scheme的編譯器要困難一些(因?yàn)楸仨毴ソ馕鯟那復(fù)雜的語(yǔ)法),但是在某些方面又很便利(不需要去處理運(yùn)行時(shí)類(lèi)型)。要寫(xiě)這樣一個(gè)編譯器,只需要從那個(gè)可用的最小的編譯器開(kāi)始。沒(méi)有變量,沒(méi)有函數(shù)調(diào)用,沒(méi)有額外的依賴,甚至連if語(yǔ)句,循環(huán)語(yǔ)句都沒(méi)有,一切看起來(lái)是那么簡(jiǎn)單。 踏出了編程入門(mén)教程第一步,接下去怎么做就全看自己了。可以按照文章所指導(dǎo)的全部做一遍,然后制作一個(gè)更加復(fù)雜的編譯器。需要去寫(xiě)一個(gè)更加精巧的語(yǔ)法樹(shù)來(lái)生成匯編代碼。接下去的幾步分別是:(1)允許返回任意的值(比如,return3; 一些可執(zhí)行代碼);(2)添加對(duì)“非”的支持(比如,return ~1; 一些可執(zhí)行代碼)。每一個(gè)額外的特性都可以教你關(guān)于C語(yǔ)言的更多知識(shí),編譯器到底是怎么執(zhí)行的,以及世界上其他編寫(xiě)編譯器的人是如何想的。這是構(gòu)建 babyc 的方法。Babyc 現(xiàn)在已經(jīng)擁有了if語(yǔ)句,循環(huán),變量以及最基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)。下面給大家展示一下國(guó)內(nèi)最權(quán)威的.net訓(xùn)練營(yíng)學(xué)習(xí)路線圖:
計(jì)算機(jī)飛速發(fā)展,人們?cè)絹?lái)越離不開(kāi)電腦,離不開(kāi)軟件,軟件編程對(duì)于專(zhuān)業(yè)人士,并不稀奇,但對(duì)于外行人來(lái)說(shuō),就太科幻神秘。很多人都有軟件編程的夢(mèng)想,對(duì)于外行人員,應(yīng)該如何學(xué)習(xí)軟件編程呢,下面就來(lái)介紹如何學(xué)習(xí)軟件編程。
1、學(xué)習(xí)軟件編程,首先要對(duì)計(jì)算機(jī)基礎(chǔ)知識(shí)要有所了解,建議買(mǎi)本計(jì)算機(jī)基礎(chǔ)書(shū)看看,如果你有自己的電腦,建議多練習(xí)打字,對(duì)鍵盤(pán)要熟悉,能達(dá)到盲打最好。
2、選一門(mén)基礎(chǔ)語(yǔ)言,如C或JAVA語(yǔ)言,作為基礎(chǔ)編程語(yǔ)言學(xué)習(xí),掌握語(yǔ)言的邏輯,學(xué)習(xí)語(yǔ)法。
3、形成自己的編程風(fēng)格,這里指的是你的思維風(fēng)格,代碼風(fēng)格,遇到問(wèn)題要有自己一套思維方式,解決編程問(wèn)題。代碼要簡(jiǎn)潔,有注釋易懂。
4、有時(shí)間可以去參加軟件編程等級(jí)考試,如初級(jí)程序員,信息安全工程師,系統(tǒng)分析師等。也可以去參加一下協(xié)會(huì)或公開(kāi)大會(huì),如互聯(lián)網(wǎng)大會(huì),軟件編程聯(lián)盟,多認(rèn)識(shí)一些高手,多和他們交流學(xué)習(xí)。