ソフトウェアの世界では、ここ10年くらいでかなり大きな変化が起きている。
昔は、document.txt を編集するという発想だった。今は、構造化されたデータを操作するという発想に変わってきている。
この変化の中心にあるのが、AST(Abstract Syntax Tree)とCRDT(Conflict-free Replicated Data Type)である。
これらは単なる実装テクニックではなく、「人間が複雑な情報をどう扱うか」の根本を変え始めている。
ASTは、Abstract Syntax Tree の略で、日本語では「抽象構文木」と呼ばれる。
名前は難しいが、本質は単純である。
ASTとは、コードを意味の構造として表現したもの。
例えば、次のようなコードがある。
1 + 2 * 3
人間はこれを次のように理解する。
1 + (2 * 3)
コンピュータも同じで、内部では次のような木構造に変換する。
+
/ \
1 *
/ \