導航:首頁 > 源碼編譯 > 自己寫一個編譯器怎麼學

自己寫一個編譯器怎麼學

發布時間:2022-05-16 22:29:38

Ⅰ 新手如何學習編程

熟悉以下關鍵東西,可以邊學邊做,定期訓練,經常思考,長期積累:

1、語法。

2、基礎理論(數學、數據結構、演算法等)。

3、設計方法(編程原則、設計模式、框架設計等)。

4、庫(核心、基礎、UI、擴展、游戲引擎等)。

5、計算機相關(操作系統、網路、圖形學等)。

6、領域知識(游戲設計、網站設計等)。

7、開發工具(編輯器、IDE、自動部署等)。

8、項目管理(進度管理、分工協作、Bug管理、版本控制等)。

最普遍也是最重要的能力:創造力。努力分析並理解好做什麼以及怎麼做。要知道上面那些東西一開始都是不存在的。

具體方法包括:

1、快速閱讀入門教程和書籍,適合學習語言和基礎庫。比如我學java讀的《Java編程思想》,練習題做過一點,然後學ActionScript就沒讀過書,只讀過Adobe官方文檔《ActionScript 3.0編程》。

2、閱讀庫的文檔、實例、源碼。比如Flash、Flex開發,熟悉官方API很重要,很多細節要具體使用時才注意到,這時候最好做個筆記,雖然我從沒看過我的筆記。

3、做一個自己感興趣或熟悉的小項目,比如我就以黑白棋游戲作為多個語言的試水項目,一樣的邏輯,便於把關注點放在語言特點上。

4、自己動手豐衣足食。廚師有菜譜,程序員可沒菜譜。比如我做游戲,最關鍵的游戲編程知識全部是動手學出來的,很少有專門針對某個業務領域(如游戲)的編程書籍,要麼是入門書,要麼是模式書(如演算法)、理論書(圖形學),很少有書籍教你如何開發一個45度角地圖系統加編輯器的,全靠自己思考,以及看前人的代碼,需要時找些網路資料。關鍵是,可以培養最重要的創造力。

對於演算法和設計模式,可以研讀下,但是關鍵還是靠平時如何使用了。新手勉強不來的。

項目管理方面的,就得靠工作經驗了,多思考多提意見不要只走流程。

Ⅱ 如何學習計算機編程

  1. 選擇一門語言

1)確定你感興趣的領域。你可以開始學習任何編程語言(盡管有些語言絕對比其他語言「容易」),所以你首先要問自己,你想通過學習編程語言來達到什麼目的?這將幫助你確定應該從事哪種類型的編程,並為你提供一個良好的起點。

2)考慮從「更簡單」的語言開始。不管你的決定如何,你都可以考慮從一種高級的、更簡單的語言開始。這些語言對初學者特別有用,因為它們的基本概念和思維過程幾乎可以適用於任何語言。

3)通讀各種語言的基本教程。如果你還不確定應該開始學習哪種語言,請閱讀一些不同語言的教程。如果一種語言比其他語言更有意義,那就試一下,看看它是否合拍。網上相關的教程有很多。

2、從小處開始

1)學習語言的核心概念。雖然這一步驟的應用部分會因你選擇的語言而有所不同,但所有編程語言都有一些基本概念,這些概念對於構建程序至關重要。盡早學習和掌握這些概念將使解決問題和創建強大而高效的代碼變得更容易。以下是一些不同語言中的一些核心概念:

2)安裝任何必要的軟體。許多編程語言都需要編譯器,編譯器是用來將代碼翻譯成機器可以理解的語言的程序。其他語言(例如Python)使用解釋器,該解釋器無需編譯即可立即執行程序。

某些語言具有IDE(集成開發環境),通常包含代碼編輯器,編譯器和或解釋器以及調試器。 這使程序員可以在一處執行任何必要的功能。 IDE也可能包含對象層次結構和目錄的直觀表示。

3、創建你的第一個程序

1)一次只關注一個概念。任何語言最開始都是教大家「Hello World」。這是一個非常簡單的程序,它在屏幕上顯示文本「Hello,World」(或其他變體)。這個程序是教給第一次編程的程序員如何創建一個基本的、功能性程序,以及如何處理顯示輸出。通過更改文本,可以了解程序如何處理基本數據。

2)通過解構網上的例子學習。幾乎每種編程語言都有成千上萬的代碼示例。用這些例子來檢查語言的各個方面是如何工作的,以及不同部分是如何相互作用的。從不同的例子中獲取一些零碎的東西來創建你自己的程序。

3)檢查語法。語法是編寫語言的方式,以便編譯器或解釋器能夠理解它。每種語言都有一個獨特的語法,盡管有些元素可以跨多種語言共享。學習語法對於學習如何用語言編程是必不可少的。

4)嘗試改變。對示常式序進行更改,然後測試結果。通過實驗,你可以比閱讀一本書更快地了解什麼是有效的,什麼是無效的。不要害怕破壞你的程序;學習修復錯誤是任何開發過程中的一個主要部分,任何新事物幾乎永遠不會在第一次就能正確工作。所以別怕犯錯!

5)開始練習調試。當你在編程時,你總是會遇到bug。這些都是程序中的錯誤,幾乎可以在任何地方出現。bug可以是程序中無害的異常,也可以是阻止程序編譯或運行的主要錯誤。找出並修復這些錯誤是軟體開發周期中的一個主要過程,所以要盡早習慣這樣做。

6)注釋代碼。幾乎所有的編程語言都有一個「comment」函數,允許你包含未經解釋器或編譯器處理的文本。這允許您對代碼的作用留下簡短但清晰的語言解釋。這不僅有助於您記住代碼在大型程序中所做的工作,而且是協作環境中的基本實踐,因為它能幫助其他人理解你的代碼幹嘛的。

最後,一定要經常練習。編程是熟能生巧的技能,多練才能查漏補缺,更上一層樓。

Ⅲ 初學者怎樣學習編程有哪些方法

初學者學習編程的方法如下:

1、 打好基礎

當你開始學習編程的時候,首先你要確定的東西是「基礎」。要打好基礎,你需要學習計算機科學。現在,我們可以在網上找到很多針對初學者的課程。互聯網的確為初學者提供了便利,使你可以通過網路找到大量有用的信息。因此,你得花時間研究一下這些信息,從中選擇最適合自己需求的。

6、平衡好你的學習

作為一個開發人員,能力的提升是永無止境的,而持續的無助感只是作為一個開發者的一部分而已。新技術的誕生不會令開發者輕松下來,因為他們需要不斷地提升自身的能力來適應市場的要求。

作為初學者,你應該隨時准備學習新的東西。即使是有經驗的開發者,他們也會對自己的能力缺乏信心,因為市場上會不斷有新的工具,技術和標准涌現,這需要開發者與時並進,才能跟得上變化。但這並不是說你得知道一切事情,只要了解你要了解的事情就可以了。關鍵是不要停止學習新的東西。

7、學習演算法

當你獲得一定的項目經驗後,你就應該開始學習演算法了。 演算法是構成計算機科學的核心。無論你是正在做網頁開發還是游戲開發,你總得使用演算法來實現最終的結果。

Ⅳ 如何自學編程

自學編程要做到將編程作為自己的愛好、對自己的電腦了解、確定自己的編程語言、多看書,具體介紹如下:

1、要想真正學習一門知識,就要先盡量保持將其保持為一種愛好,才能一步一步的學習,還要保持耐心,不能為了成果跳躍學習。這兩句話很重要,請在任何時候都要記住,無論那一門課。

2、要對自己家的電腦有一個充分的了解,包括他的位數(64位,32位),內存,型號,和版本,如果要編程的話,一定要對電腦的各個功能有詳細的了解

3、先確定自己要學的編程語言,將其語言環境和編程工具准備好。入門最好使用c-free,或Java(要准備語言環境)入門或是深入都可以使用eclipse,python(要准備語言環境)可以使用editplus。

4、多在當地書城或是網上購買一些所學習的語言的書,可以輕松自學,當然如果你認為僅僅是文字並不夠生動,可以看看一些優秀的教學視頻,但千萬不要放棄書本。

注意事項:

1、明確學習目的 學習編程對大多數IT業人員來說都是非常有用的。

2、邏輯思維能力的培養,學程序設計要有一定的邏輯思維能力,「邏思力」的培養要長時間的實踐鍛煉。要想成為一名優秀的程序員,最重要的是掌握編程思想。

Ⅳ 自己寫編譯器怎麼寫,我想為中國程序員做個編譯C語言的編譯器。

首先做這個東西的意義並不大,如果是想學習的話,看看這本書Modern Compiler by Andrew W. Appel

Ⅵ 如何自己實現一個編譯器

1、編譯器有很多種,每一種的使用方式不盡相同。常用編譯器:
Visual C++
GNU C++
Inter C++
Sun C++
clang
2、一般編譯過程:源文件→預處理→編譯→匯編→鏈接→可執行文件
下面以GCC示例:
預處理(Pre-Processing):根據預處理命令(#開頭)修改源文件
# gcc -o hello.i -E hello.c or # cpp -o hello.i hello.c
編譯(Compiling):語法檢查,並將源文件翻譯成匯編文件
# gcc -o hello.s -S hello.i or # cc1 -o hello.s hello.i
匯編(Assembling):將匯編文件轉換為目標文件(二進制)
# gcc -o hello.o -c hello.s or # as -o hello.o hello.s
鏈接(Linking):編址和符號鏈接,生成可執行文件
# gcc -o hello hello.o or # ld -o hello hello.o

Ⅶ 怎麼開始動手自己寫一個編譯器,編譯器的理論學習該從

編譯器的目標是寫編程語言,學習編譯器理論,現已有專門編譯器原理的書籍,中文和原文都有。不過要在編譯器方面有建樹很難,至少 編譯器-編程語言-操作系統-界面編寫-晶元匯編 他們要捆綁在一塊的。

閱讀全文

與自己寫一個編譯器怎麼學相關的資料

熱點內容
汽車小壓縮機拆解 瀏覽:825
雲桌面卡是因為伺服器的原因嗎 瀏覽:377
qd123壓縮機 瀏覽:969
pn532讀取加密門禁卡 瀏覽:85
win10文件夾屬性里無法加密 瀏覽:34
比特幣加密的條件 瀏覽:848
求購現成影視app源碼 瀏覽:572
wdsecurity加密版 瀏覽:813
雲伺服器和雲豐雲 瀏覽:188
伺服器如何設置獨立ip 瀏覽:857
tar命令打包文件夾 瀏覽:1000
刪除linux用戶和組 瀏覽:548
小米的程序員都用什麼筆記本 瀏覽:703
位元組三面演算法題 瀏覽:971
伺服器保護有什麼好處 瀏覽:894
全部下載完後進行統一解壓 瀏覽:393
遠嫁的程序員媽媽 瀏覽:555
1024程序員節安全攻防挑戰賽 瀏覽:786
怎麼解除txt加密 瀏覽:772
javahttp流 瀏覽:656