松本行弘: 編程語言的設計與實現 - 0
剛好這週的 Coscup, 大師 松本行弘 要來 演講
來看看他近幾年所寫的書.
https://www.tenlong.com.tw/products/9787115516169
之前大師在程序世界(Ruby) 時提到 程式語言 的重要性:
語言體現了人類思源的本質
讓作為語言設計者的我能夠輕鬆編成,進而提高開發效率。
編程語言並不是以安全的角度減少程序員出錯,而是在程序員自己負責的前提下為他提供最大限度發揮能力的靈活性。
....
2019 年在中國出版了這本: 編程語言的設計與實現
介紹如何 設計一個 程式語言
https://github.com/matz/streem
底下這篇有提到為何還要開發新程式語言 streem
https://www.itread01.com/p/1188329.html
- 因為多核 CPU 電腦的普及, 傳統的 shell script 語言已漸漸不合時宜.
- 需要類似像 Erlang 的 process 或 GO 的 goroutine 做輕量的併發 concurrent
- concurrent 時, 需要資料有 immutable 的設計
- 支援分析計算模型
PS: 併發 (concurrency) 和 並行 (parallelism) 是兩件不同的事情
https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80/413702/
這本書從創造一門什麼樣的語言談起, 設計時的內心思考糾葛. 如何設計實作,
如何借鏡開源取得許可, ..., 心路歷程娓娓道來.
就算不是要寫程式語言, 相關經驗也很值得參考.
--
https://www.tenlong.com.tw/products/9787115516169
天瓏書店的介紹:
商品描述
本書由Ruby之父松本行弘在《日經Linux》雜志上的連載整合而成,主要介紹了新語言Streem的設計與實現過程。作者從設計Streem這門新語言的動機開始講起,由淺入深,詳細介紹了新語言開發中的各個環節,以及語言設計上的糾結與取捨,其中也不乏對其他編程語言的調查與思考,向讀者展示了創建編程語言的樂趣。
作者簡介
松本行弘(作者)
1965年生於鳥取縣米子市,現居島根縣。筑波大學第三學群信息學類畢業。現兼任網絡應用通信研究所(NaCI)研究員、Ruby協會理事長、Heroku架構師等職。育有三女一男,飼有一貓一狗。喜歡溫泉。白羊座、O型血。
目錄大綱
第1章創造一門什麼樣的語言1
1-1自己創造編程語言的意義2
1-2語言處理器的結構11
1-3虛擬機20
1-4編程語言設計入門(前篇) 31
1- 5編程語言設計入門(後篇) 40
第2章新語言Streem的設計與實現51
2-1抽象的並發編程52
2-2新語言Streem 62
2-3首先開發語法檢查器73
2-4事件循環83
2-5多線程與對象96
2-6緩存與符號106
2-7轉換為抽象語法樹115
2-8局部變量與異常處理128
第3章設計面向對像功能139
3-1各種各樣的面向對象140
3-2 Streem的面向對象149
3-3再看Streem的語法159
3-4模式匹配170
第4章實現Streem的對象181
4-1套接字編程182
4-2基本數據結構193
4 -3對象表示與NaN Boxing 203
4-4垃圾回收214
4-5無鎖算法223
第5章強化流編程235
5-1管道編程236
5-2管道的構成要素248
5-3 CSV處理功能258
5-4時間表示268
5-5統計基礎的基礎279
5-6隨機數290
5-7數據流圖301
後記314
留言
張貼留言