ここが難しいよEmacs Elisp
この最初の記事は9年間Emacs使ってきて、ここツレェと思ったところをまとめてみた。
Emacs、Elispガチ勢からしたら「なにいってんだこいつ」という感じだろうが暖かい目で見てくれると嬉しい。
予め用意されている関数と値が多い
Emacsはとにかく膨大な関数や値が予め用意されている。玄人はそれを使って設定ができるのが便利なんだと思う。でもその反面、関数を知らないと、どう記述すれば良いのか分からなくて大変だ。
私は「とりあえずなんか書いとけば動く」みたいなノリでコピペするんだけど、そもそもこれがどういう値を受け入れて、何しているかよく分からんのだよ。
例えば、この一文の設定は一行の文字が長すぎて画面の外に行った時に折り返すのかそのまま画面外にはみ出して表示させるのかを切り替えるショートカットを設定しているものだ。
(define-key global-map (kbd "M-l") 'toggle-truncate-lines)
慣れてしまえば、define-keyもglobal-mapも見たまんまなんだと思う。でも素人はどこでも使えるショートカットキーの設定をこうやって書けばいけると分かるまでに、どのくらいかかることやら。もちろんググればそれなりに出てくるけど大変だよね。
Elispむずすぎ
これは世代的なものもあるんだろうけどさ、今のプログラミング言語ってC言語からほとんど来てるじゃん。でもElispもといLispってここまでC言語がメジャー化する前のFortranとかCobolとかPascalとかあの辺のプログラミング言語が生存競争していた時にすでにあった言語の1つだよ。
そうなるとC言語系の記述に慣れきった自分からするとLispの書き方ってすっごく難しく感じる。自然言語で言えば英語習ってドイツ語、フランス語、イタリア語習得したら、いきなりアラビア語くるみたいな難しがあるんだよね。
Emacs好きだし、かっこいい色の設定して、バシバシコーディングしたいから必死こいてelisp読んではみるんだけど、正直、イマイチ身につかない。
記事が強い
Emacsの記事を見に行くと、記事書いてる人のほとんどがelispをマスターしてるんだろうなぁっていう印象を受ける。だから説明も割と少なめでガシガシコードだけ書いている人が多い。初心者からしたら記事にまとめてくれて嬉しい反面、コードがなにやってるか分からんのじゃあ。
そう言ったelispコピペプログラマからしたら、コードの記述が他のコードと競合した時なんてもう目も当てられない。
古くなって、レガシる
Emacsのパッケージは油断するとすぐにレガシーになる。私の大好きなanythingも最近レガシって、melpaから削除された(涙)。
良さげなパッケージがあってgithubに見にいけば、最終更新日が4年前とかざらにあるし、そもそもemacsのパッケージがgithubにないこともある(最近はそうでもないけどね)。
記事もすぐに古くなる。良質な記事を書いてくれていたemacsおじさん、おばさん達も、emacsとパッケージの更新ごときで、ブログを更新するわけではないので、古い記事がインターネットの電子海に昆布のごとく漂っている。
なんだよー。オライリーのGNU Emacs 第3版出版されたの2007年やぞ12年前やぞ!
それでもEmacs使っていこうと思ってる
だからと言ったら烏滸がましいが、このブログでは初心者Emacsユーザーでも分かるように出来るだけ、楽しく、面白く、詳しく、Emacsについて書いていくよ。よかったら購読者になってね。