- 自己動手構(gòu)建編程語言:如何設(shè)計編譯器、解釋器和DSL
- (美)克林頓·L.杰弗瑞
- 575字
- 2024-05-11 19:44:55
1.1 編寫自己的編程語言的動機
當(dāng)然,一些編程語言發(fā)明者簡直就是計算機科學(xué)的搖滾巨星,例如丹尼斯·里奇(Dennis Ritchie)和吉多·范羅蘇姆(Guido van Rossum)!但在當(dāng)時,成為計算機科學(xué)的搖滾明星反而更容易。很久以前,我從第二屆編程語言史會議一位參會者那里聽到了以下報告:大家一致認為編程語言領(lǐng)域已經(jīng)滅亡了,所有重要的語言都已經(jīng)發(fā)明出來了!這一論斷直到一兩年后Java問世才被證明是大錯特錯的。從那時起,諸如Go語言之類的編程語言出現(xiàn)了十幾次。僅僅過了60年,就聲稱編程領(lǐng)域已經(jīng)成熟,并且沒有什么新發(fā)明可以讓你成名,這是不明智的。
不過,名譽并不是構(gòu)建編程語言的好理由,從編程語言發(fā)明中獲得名譽或財富的機會微乎其微。只要有時間和興趣,好奇和渴望知道事物的工作原理都是發(fā)明編程語言的正當(dāng)理由,但也許需求和必要性才是要構(gòu)建編程語言的最佳理由。
有些人需要構(gòu)建一種新的編程語言或?qū)崿F(xiàn)對現(xiàn)有編程語言的新突破,以面向新的處理器或與對手公司競爭。如果你不需要,那么也許你已經(jīng)找到了可用于你想要開發(fā)的程序的某些領(lǐng)域的最佳語言(以及編譯器或解釋器),但它們?nèi)笔愕墓ぷ餍枰囊恍╆P(guān)鍵功能,而正是這些缺失的功能給你帶來了痛苦。每隔一段時間,就會有人提出需要一種全新的計算風(fēng)格,新的編程范式需要新的編程語言來實現(xiàn)。
在討論構(gòu)建語言的動機時,我們先談?wù)劜煌愋偷恼Z言、組織以及本書中使用的示例,這些主題都值得仔細介紹。
- Vue.js 2 and Bootstrap 4 Web Development
- ASP.NET Core 2 and Vue.js
- 匯編語言程序設(shè)計(第3版)
- Ext JS 4 Web Application Development Cookbook
- Android底層接口與驅(qū)動開發(fā)技術(shù)詳解
- PySide 6/PyQt 6快速開發(fā)與實戰(zhàn)
- C++反匯編與逆向分析技術(shù)揭秘(第2版)
- Python程序設(shè)計開發(fā)寶典
- Mastering Magento Theme Design
- C++教程
- 鋒利的SQL
- AngularJS實戰(zhàn)
- Full Stack Development with JHipster
- SpringBoot+Vue.js+分布式組件全棧開發(fā)訓(xùn)練營(視頻教學(xué)版)
- C++語言程序設(shè)計