自己動手做虛擬機器──解析程式語言的設計與實現(iT邦幫忙鐵人賽系列書)

{{ _getLangText('m_detailInformation_goodsAuthorText') }}蒼時弦也(邱政憲)
{{ _getLangText('m_detailInformation_goodsPublisherText') }}博碩文化股份有限公司
2022年05月11日
ISBN:9786263330641
{{ _getLangText('m_detailInformation_goodsTips1Text') }}
{{ _getLangText('m_detailInformation_goodsActivityText') }}
{{ activityObj.name }}

{{ _getLangText("m_detailIntroduction_goodsIntroductionText") }}

本書內容改編自第12屆iT邦幫忙鐵人賽IoT組優選系列文章《拿到錘子的我想在微控制器上面執行Ruby》。在學習程式語言的過程中,隨著我們理解的知識、技巧越來越多,我們難免需要更加深入了解我們所使用的語言。而這是一本關於程式語言設計的書籍,我們將透過mruby這款設計給嵌入式系統的Ruby語言,一步一步重現Ruby虛擬機器的部分功能,並藉由這樣的方式逐步了解一個語言的實現,且將其在開發板上執行,另外這也幫助我們重新思考使用程式語言時虛擬機器的運作及語言的關聯。


【內容重點】

我們將從閱讀原始碼開始,從前人的經驗學習如何打造一個語言虛擬機器,逐步實現一個能在ESP8266開發板上執行,並具備物件導向特性的精簡版虛擬機器。


✪加法虛擬機器

實現一個語言的虛擬機器,並沒有我們想像中的困難,我們第一個虛擬機器會以將Ruby的「加法」實現出來為目標,透過數百行的程式碼完成一個最簡單的虛擬機器。


✪實現邏輯判斷

加入能夠在我們的虛擬機器中進行if類型的判斷,透過這樣的虛擬機器實現,進而能夠讓程式按照我們的預期進行複雜的行為。


✪實現物件導向

Ruby語言的一大特色就是物件導向特性,我們將會討論如何管理物件的封裝資訊,以及將C語言的程式碼轉換成可以在Ruby中直接被呼叫的方法等機制。


✪用測試驗證想法

本書的目標是實現一個能夠在ESP8266開發板上執行的虛擬機器,為了減少反覆上傳程式到開發板的步驟,我們可以透過撰寫測試的方式,來驗證每一個虛擬機器的實現是否如我們所預期的來運作。


【目標讀者】

✪想了解程式語言運作原理的人。

✪想更好撰寫程式的人。

✪想在開發板上使用不同程式語言的人。


{{ _getLangText("m_recently_viewed_products_titleText") }}