Skip to content

Emacs as a VM

公開日:

オンラインYouTube Liveで開催された『TechFeed ExpertsNight #32 【VSCode, Vim, Emacs】最新動向』で8分枠として発表しました。

Download PDF

スライドテキスト

Page 1

Emacs as a VM

A Virtual Machine called Emacs

pixiv Inc.

USAMI Kenta

2024-07-13 TechFeed Expert Night

Page 2

お前誰よ

  • うさみけんた (@tadsan) / Zonu.EXE / にゃんだーすわん
  • ピクシブ株式会社 pixiv事業本部 エンジニア
  • 最近はピクシブ百科事典(dic.pixiv.net)を開発しています
  • Emacs Lisper, PHPer
  • Emacs PHP Modeを開発しています (2017年-)
  • TechFeed公認PHPエキスパート

Page 3

私の立ち位置

Page 4

Page 5

Emacs最新情報!

Page 6

といいたいのですが

Page 7

わかりやすいニュースとしての変化は多くない

Page 8

Emacs30の開発は着々と進んでいます

Page 9

AIなど使えるような拡張も登場している

Page 10

さて

Page 11

前回のおさらい

Page 12

Vimはいいぞ!

Page 13

Page 14

Emacsの本質とは何か

Page 15

A modern Lisp machine

Page 16

Page 17

そういう機械が40年以上前にあった

Page 18

「Multi-Paradigm Language TAO」より引用https://www.nue.org/nue/tao/bitao/s001.html

Page 19

この写真は国産LISPマシンのELISなので本家Emacsの開発経緯とは直接関係ないのだが内蔵されたZENというEmacs風独自エディタの日本語入力メソッドKanzenが後のSKKに繋がりIME史に影響を及ぼしている

Page 20

みなさんご存じ(ない)通りLISPマシンのような高級言語専用マシンは廃れている

Page 21

だが、Lispは死滅していなかった!

Page 22

世紀末救世主伝説Emacs

Page 23

スクリプトで拡張できるテキストエディタの元祖

Page 24

元祖EmacsはTECOというエディタの拡張マクロ集(EditorMACroS)

Page 25

この人が作りました

Page 26

なんだかんだありまして

Page 27

Page 28

リチャードストールマン(RMS)とかいう若者がマサチューセッツ工科大学で自由を求めて戦ったりAI研究所でLispを書いてたりしてたらラボ内がLISPマシンを作ってる企業の派閥で分裂ちゃったのでどうしようもなくなってAIラボを去ってGNUっていう自由なOSを作ろうぜ!という物語があったりするのは後の話

Page 29

自由なOSを作りたいよまずコンパイラとエディタを作ったよ

Page 30

そうしてGCCとEmacsができましたとさ

Page 31

めでたしめでたし

Page 32

振り返りここまで

Page 33

改めて

Page 34

Emacsで何ができるかユーザーと非ユーザーで大きな認識の開きがある

Page 35

(ある種のジョークとして)しばしばEmacsはエディタではないと言及される

Page 36

Page 37

Page 38

Emacsはなんでもできる

Page 39

メーラーでもありRSSリーダーでもありEPUBやPDFも読める

Page 40

EmacsはOS Emacsは環境

Page 41

ジョークではなく

Page 42

Emacsの大きな誤解

Page 43

「Emacsってターミナルのエディタでしょ?」

Page 44

EmacsはGUIでも動く

Page 45

起動時から目立つEmacsロゴ

Page 46

フォントを扱える

Page 47

PDFが開ける

Page 48

EPUBも開ける

Page 49

EPUBも開ける

Page 50

ディレクトリを開いて画像見れる

Page 51

ディレクトリを開いて画像見れる

Page 52

Page 53

Page 54

ウィンドウ内でブラウザも開ける!(が、macOSで動作しなかった…)

Page 55

Page 56

Emacsは単なるエディタではなくアプリケーション実行環境

Page 57

OSを問わず実行できる

(Windows, GNU/Linux, *BSD,macOS, Haiku, ...)

Page 58

…といいたいが、外部プロセスやファイルシステムに依存すると意図通り動かない

Page 59

WindowsではWSLで動かすこともできる(WSLgでGUI起動もできる)

Page 60

問題意識を持って高速な非同期UIを実装している人も居る

Page 61

Page 62

Page 63

Page 64

Emacsは環境!

Page 65

仮想環境?

Page 66

「Multi-Paradigm Language TAO」より引用https://www.nue.org/nue/tao/bitao/s001.html

Page 67

現代に残る最後の(仮想)Lispマシン

Page 68

言語にはパワーがある

Page 69

「普通のやつらの上を行け ---Beating the Averages---」より引用http://practical-scheme.net/trans/beating-the-averages-j.html

Page 70

「普通のやつらの上を行け ---Beating the Averages---」より引用http://practical-scheme.net/trans/beating-the-averages-j.html

Page 71

「普通のやつらの上を行け ---Beating the Averages---」より引用http://practical-scheme.net/trans/beating-the-averages-j.html

Page 72

ということをYコンビネータ創始者のポールグレアムが言ってる

Page 73

Page 74

ハッカーになりたければEmacs

Page 75

Page 76

外見に変化はなくても中身は洗練されている

Page 77

コンピュータサイエンスの問題に立ち向かって最強の環境を作りたい人はEmacsを

Page 78

コミュニティは

Emacs JPのSlackに

(不定期にオンラインミートアップもやってるよ)

Page 79

Page 80

Page 81

Page 82