https://mastodon.tojo.tokyo/@tojoqk/113668738739134771
言語が静的に型付けされているかどうかと、ランタイムに挙動を変えられるかどうかは別の問題で、例えばJavaを使ってEmacsと同じくらい柔軟なエディタを作ることはおそらく可能だろう。
一方、Emacsは確かに柔軟ではあるけどレイアウトやレンダリングや入力の扱いなどはCで書かれている割合も多く、そこはいじれない。Smalltalkみたいに一番下の層まで変更できるとかではない。
それからEmacs Lispの柔軟性は厳格なモジュール機構を持たないことや、adviceなどの特殊な機構によるところも強く、例えばESMをがっつり使ったJavaScriptの場合は(特別な機構がなければ)外部から挙動を変えるのは難しい。
そのほかEmacsの柔軟性はオーバーレイや柔軟なキーマップや多数のフックなど、柔軟性を高く保つための多くの努力のもとに成り立っているのであって、言語が静的に型付けされているかどうかではなく、柔軟性を高めるためのアーキテクチャが重要なのではないだろうか。
言語が静的に型付けされているかどうかと、ランタイムに挙動を変えられるかどうかは別の問題で、例えばJavaを使ってEmacsと同じくらい柔軟なエディタを作ることはおそらく可能だろう。
一方、Emacsは確かに柔軟ではあるけどレイアウトやレンダリングや入力の扱いなどはCで書かれている割合も多く、そこはいじれない。Smalltalkみたいに一番下の層まで変更できるとかではない。
それからEmacs Lispの柔軟性は厳格なモジュール機構を持たないことや、adviceなどの特殊な機構によるところも強く、例えばESMをがっつり使ったJavaScriptの場合は(特別な機構がなければ)外部から挙動を変えるのは難しい。
そのほかEmacsの柔軟性はオーバーレイや柔軟なキーマップや多数のフックなど、柔軟性を高く保つための多くの努力のもとに成り立っているのであって、言語が静的に型付けされているかどうかではなく、柔軟性を高めるためのアーキテクチャが重要なのではないだろうか。
- replies
- 0
- announces
- 0
- likes
- 1