從堆疊操作認識位元組碼

在多數位元組碼指令與虛擬機當中,都是基於堆疊架構的操作,在記憶體中對堆疊資料結構進行操作,而在程式執行結束後,堆疊就會消失,下一步須將操作化為位元組

2018-09-15

漫談Python並行

在程序的執行上,我們可運用好幾種作法來達到目的,例如,並行、平行、非同步,但這些方式彼此之間並不互斥,毋需畫清界線

2018-09-09

型態提示之時機

協定本就包含行為與型態,在Python程式碼執行前進行型態檢查,對於型態提示的使用上,要注意型態標註的對象,以及是否不需採用的時機

2018-09-02

爬一下Python語法樹

語法樹在程式碼的編寫與執行,至關重要,因為它代表了資料架構的運算方式,除了關注剖析器的設計,我們可以深入接觸語法樹,實際予以走訪、甚至修改,將會更有助於了解程式語言

2018-08-26

靜動皆宜的型態提示

typing模組在Python這套語言當中,是必要的嗎?該如何理解型態提示、型態標註資訊,以及用於靜態時期分析與執行時期檢查的狀況?

2018-08-11

ES6匯入地獄

關於JavaScript的規範ECMAScript 6(ES6),主要的網頁瀏覽器都已經提供支援,但實作使用的時候,在模組匯入過程的當中,經常面臨複雜冗長的階層設定

2018-08-05

JavaScript風格的this

this具有動態變化的特性,會依照同時函式呼叫的方式而定,令人難以捉摸,我們可以令其保存環境物件,不過,就其本質而言,可視為函式呼叫時的一種參數

2018-07-29

從語言實作看例外

多數程式語言都具有例外處理的語法,它可自動傳播錯誤訊息,但這是如何實現?從沒有例外處理語法的語言對於錯誤訊息的處理,以及傳播的方式,我們可以掌握更多關鍵

2018-07-22

無拘的物件導向

想要實現物件導向的開發方式,並非僅能透過語法的角度來實作,我們可以從了解物件、方法、類別的本質,以及開發的方向來思考

2018-07-15

從實作看語言特性

程式語言的建構,牽涉到值、變數、陳述句、函式的存在作用,以及相關的原理,而經過親自實作之後,再來探討這些部分,有助於理解meta-programming的本質

2018-07-07

自造語言的好奇心

我們之所以學習多種程式語言,可能都是基於各種好奇的動機而來,而每一種語言的創立,其實也代表著看待問題的不同角度,而自己在親自打造一套語言的過程中,更能體會這樣的精神

2018-06-30

設計語言剖析器

在程式語言的語法分析當中,我們可採用現成的剖析器,雖然較為簡便,但也能自行設計剖析器,而透過這樣的開發過程,對於手中正在打造的程式語言,能夠獲得更多了解

2018-06-24