Hatena::Grouphackathon

zrail (a.k.a. tobira17, h14i, ...) の Learning Log

2011-11-06

[][][]エディタを作りたい 21:25 エディタを作りたい - zrail (a.k.a. tobira17, h14i, ...) の Learning Log を含むブックマーク はてなブックマーク - エディタを作りたい - zrail (a.k.a. tobira17, h14i, ...) の Learning Log

ツイッターのほうでは何度かつぶやいたけど、エディタが作りたい。

んで、自分で作るなら拡張しやすい*1ユーザインターフェースにしたいけど、 Vim script や elisp みたいな拡張用の言語まで設計するのはさすがにやりすぎというか面倒。俺に言語デザイナのセンスないっぽいし、いつ飽きて放り出すかも分からないし。


というわけで、

  • まず Ruby を使って実装しようと思った。
    • こういう用途に CRuby はちょっと辛かった。というか大抵の LL 処理系には規模の大きな対話型プログラムはキツいよね。
  • じゃあ C/C++ でエディタのコアを書いて、ユーザレベルの拡張を Ruby で書けるようにしよう。
    • GUI とかポータビリティを考えると面倒すぎた。動く前に飽きる。
  • なら、ポータビリティが高く、尚且つ実行性能も高い Java を使ってコアを書き、 JRuby とか Jython とかを使えるようにすればいいじゃん。
    • 俺、 Java のことよく知らなかった。←いまここ

みたいな感じです。

本体のこと以外の実装を考えると Java を使うのが一番楽っぽい感じではあるんだけど、実は Rubinius を使うのも悪い選択肢ではないのかもね。

使い込んでいるわけじゃないので細部は知らないけど、起動の遅さくらいしか気になるところはないし。この起動の遅さだって初回にコンパイルの必要があるからだし。


ゆるく関連するページ

*1:正確には「自分にとって拡張しやすい」。