魔術師をめざして

魔術師を目指して、相場・数学・プログラム言語を研究しています。

あたらしい7つの言語

言語好きの人なら「7つの言語 7つの世界」(原題:Seven Languages in Seven Weeks)を読んだことだろう。ここで出てきた7つの言語とは、Ruby、Io、PrologScalaErlangClojureHaskell の7つで、Io 以外はどれもすでに有名な言語だった。Io はこの本によって認知度が上がったように思う。
f:id:fxrobot:20141214021622j:plainつぎに出た本がこれ「Seven More Languages in Seven Weeks」。第2弾ってことだろう。まずは、ここで取りあげられている言語に注目だね。それはズバリこの7つだ。

Lua              http://www.lua.org/
Factor          http://factorcode.org/
Elixir            http://elixir-lang.org/
Elm              http://elm-lang.org/
Julia             http://julialang.org/
MiniKanren   http://minikanren.org/
Idris             http://www.idris-lang.org/

知ってる言語はあるかな。見慣れない言語が多そうだね。

Lua はお馴染みだろう。軽量の LL だ。シンプルな言語仕様とデータ構造で、ぼくの好みの言語だね。おっと、巨乳のジュリア(Julia)が居るじゃないか。Julia は数学のほうを向いた、オブジェクト指向で、関数型で、並列プログラミングを指向した豊満な言語だ。それが巨乳の所以でもある。

いや、ホント言うとね、Julia を Googleで検索したら「巨乳動画サイト」が出てきたのがその所以なんだ。検索するなら「Julia言語」でね。

さて、Factor というのは、スタック指向言語として有名な Forth を現代化したような言語のようだ。まだ詳細はわからない。

Elixir、Elm、Idris  はどれも関数型言語のようだ。いまどきを反映しているようだね。Elm はおもしろいよ。ウェブページでマリオを動かすデモをやってる。

f:id:fxrobot:20141214025049j:plain

ゲームだけではなく、Elm のプログラムでウェブページを作るということを考えているようなのだ。ぼくとしても興味深いところだ。

えっ、まだ残ってる MiniKanren ってなんだって。うーん、コンパクトな論理プログラミング言語といったところか。ぼく的には興味深くはあるがまだよくわかってはいないんだ。

こんかいの新たな7つの言語のうち、Julia と Factor には、とうぶんのあいだ取り組んでみようと思っている。Factor は、数論アルゴリズムの研究に使えないかとの期待からだ。

10 sq 5 - .

簡単なこれ説明してみようか。まず最初の 10 を箱に入れる。つぎにまた箱に上から sq(2乗する関数)を乗せる。すると箱のなかの 10 が2乗されて箱のなかの 10 と sq は 100 に変化する。つぎに箱のなかの 100 の上に 5 を乗せる。さらにその上に - を乗せると、100 と 5 と - が 95 に変わり、箱のなかには 95 だけが残る。つぎに箱のなかに . を入れて乗せると、箱のなかの 95 が取り出され出力エリアに表示される。このとき箱のなかは空っぽ。

さてさて、Julia はすでに前回登場したね。詳しくなったらまた記事を書きたいと思う。Factor についてもね。

じゃ。