見出し画像

Retro-gaming and so on

OCaml Browser

なんかこのブログ界隈でOCamlの人気が上がってる気がする(笑)。
程なく、星田さんも参戦するかもしんない。

いや、マジでWindowsで何かアプリ作りたい、とか言う野望を持ってるならOCamlは押さえておいて良い言語だとは思う。
もちろん以前書いたけど、OCamlにWindows版はない
ただし、これも何度か言ったけど、MicrosoftはWindowsのプログラミング環境としてF#を提供している。そしてF#はOCamlをベースにしてるプログラミング言語だ。
もちろん、OCamlとF#は完全互換ではない。ただし、かなり似通ってる。ぶっちゃけるとF#はOCamlのMicrosoft/Windows方言だ。
そして何より、F#は.Net言語だ。従って、C#で出来る事はほぼF#でも出来る。
つまり、C#やVB.netで苦労して色々書くトコで、F#ならかなりスマートに物事を記述する事が可能となる。これはかなりパワフルな言語環境だと言って良いだろう。
正直言うと、OCamlもF#も「書きやすさ」と言う意味では・・・私見だがLispには敵わないとは思ってる。ただし、Lispは動的型付け言語で、それが書きやすさの大きな理由なんだけど、関数型言語を嗜むにせよ、一回性的静的型付け言語がどういうものなのか味わってみても良いとは思ってる。CやJavaやC#と同様にOCaml/F#も静的型付け言語で、これは手続き型/オブジェクト指向/関数型、と言ったプログラミング言語の「区分け」とはまた別となる。OCaml/F#はかなり厳密に型を適用するんで、歯がゆい思いをするだろう(笑)。ただし、それも良い経験になるとは思う。
そしてOCaml/F#の型の特徴は、C/C#やJavaは基本、明示的に型を宣言しなければなんないんだけど、OCaml/F#は特にそれをする必要がない。OCaml/F#には型推論と言う機能がある。そのプログラムのソースを見ていって「この変数はこの型だろうな」とOCaml/F#は勝手に判断してくれるんだ。
この型推論が静的プログラミング言語の伝家の宝刀だ。そしてソースコードに書かれた変数の型に矛盾を見つけると「あんさん、ここの型間違ってるとちゃいまっか?」と型エラーを出してくれるのだ。
型推論付きの静的型付け言語は、言わば動的型付け言語寄りの静的型付け言語の機能で、1990年代以降に登場したような静的型付け言語では広く採用されている。その辺の「最新」(笑)機能も楽しんで貰えればイイんじゃないかな、って思ってる。

さて。OCamlの開発環境の話をしよう。
お茶の水女子大学の先生は、動画を見た人は分かるだろうが、例によって例の如く、GNU Emacsを使ってる。
まぁ、ハッキリ言っちゃえば、プログラミング言語がマイナーになればなるほどEmacsが強い(笑)。Eclipseみたいなマトモな(笑)IDEだと、プラグインさえ要コンパイル環境で開発するんで、敷居が高いんだよな。「キチンと開発しないと」ならない。
反面、GNU EmacsはLisp実行環境でもあるわけで、プラグインはEmac Lispファイルだ。と言う事は、原則インタプリタなんでプラグイン開発も比較的易しい。よって世界中のマイナー言語愛好者もEmacs Lispでの開発の方がラクなんで、ハナクソをほじって寝転がりながらマイナー言語に対応するEmacs Lispファイルをすぐ書いてくれるわけだ。
これがコンパイル環境だったらハナクソはほじれないし、全裸正座で開発する、なんつー事も出来なくなってしまう(笑)。キチンとスーツを着て椅子に座りながら開発せんとアカンのだ。
これが、EclipseなんかのシリアスなIDEだとマイナー言語プラグインがそんなに出てこない理由だ。仮に出てきてもアップデートもあまりない。全裸正座開発が出来ない、と言う事は多分ハッカー達には窮屈なんだろうな(笑)。

もちろん、僕はSpacemacsユーザーなんでOCamlもSpacemacsで書く。


ただし、例によって「僕がSpacemacsユーザーだから」Spacemacsを使え、と言うような論は行わない。
っつーか、OCamlは実は、Pythonのように付属IDEがある。その名前をOCaml Browserと言う。


OCaml BrowserはPythonのIDLEと同じように、tcl/tkで書かれたツールだ。
基本的な使い方はFileメニューからEditor及びShellを選ぶ。


OCaml BrowserのEditor。正直言うと、Python の IDLEより出来が悪く、メモ帳と殆ど変わらない(苦笑)。
ただし、ファイルの記述内容をそのままOCaml Shellに送れる(EditからTo shellを選ぶ)のは利便性から言うと大きい。

OCaml Shell。OCamlの実行環境。

OCaml BrowserはPythonのIDLEと同様に、実行の為のShellとテキストエディタ部が分かれている。
正直、Editorはイマイチだが、環境設定に難儀するくらいだったら、これで書き始めても良いだろう。必要最小限の事は出来る。
なお、OCaml Browserは端末から

ocamlbrowser &

で立ち上がるが、Linuxなんかを使ってるのなら、メニューに登録しておけば良いと思う。


  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「プログラミング」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事