REBOL

REBOL

REBOLって何?

REBOLは、Amiga OSに貢献した Carl Sassenrath氏が設計し、 開発の中心にいる、プログラミング言語(スクリプト言語)です。

非常に特徴的な言語ですが、いくつかその特徴を挙げるとすれば、以下のよう になるでしょう。

  • インタプリタが非常に小さい。
    • コマンドライン版で360kB程度
    • GUI版で1MB程度
    • (なお、ver. 3ではバイトコード方式に変更の予定)
  • スクリプトにはREBOLヘッダが必要
    • スクリプトには「REBOLヘッダ」と呼ばれる要素が不可欠になっていま す。そこに何を書くかまでは具体的には規定されていませんが、そのスク リプトのメタ情報を書くことが推奨されています。
  • 文法が非常にシンプル
    • REBOLでは、CやJAVAでの"()"や"{}"の代わりに概ね"[]"を使いますが、 "[]"を打つ必要がある場所は必要最小限です。関数の引数の数が決まって いるために、無駄な括弧は使いません。
    • 言語としてはLogoの影響を受けていると述べています。
    • また、式の並びは左から右へと評価されるのに対し、式の中では右か ら左に評価されるあたりは、Lispの風味も感じます。
      • print length? join "exam" "ple"
      • この一行は、次の順番で評価されます
        1. join "exam" "ple"
        2. length? "example"
        3. print 7
  • 多彩な型を持つ
    • 数値や文字列はもちろん、日時、タプル、HTML/XMLタグ、emailアドレ ス、URL、その他の多彩な型を持つ。
  • series(特にブロック)という単一のデータ構造
    • "[]"で、値や変数を括ることで、series(特にブロック。文字列なども seriesの一種です。)というデータ構造を作れます。これは、内部的にどう なっているのかは知りませんが、Lispのリストと同様に強力なデータ構造 です。
  • 複数のインターネットプロトコルへの標準対応
    • httpはもちろん、SMTPその他のインターネットプロトコルに標準対応しています。
  • 強力なparsing関数
    • スクリプト言語と言えば、正規表現がつきものですが、REBOLは ver. 2.xの時点では標準では正規表現に対応していません(ライブラリにて エスケープ記号に対応)。しかし、文字列あるいはシリーズと、それをパー ズするルールを与えることができる強力なparsing関数が備わっています。
こんな言語です。

HP: http://www.rebol.com/
日本語ドキュメント(ちまちまやっています): http://www.rebol.net/wiki/Index_of_Japanese_Documents

Google Go Language

REBOLのメーリングリストで知ったのですが、Googleが新しい言語を発表(言語の開発を発表?)したみたいです。名前は"Go"。

FAQによると、なんでも、マルチコアマシン上でのシステムソフトウェア開発用言語を狙っているらしいです。ガーベージコレクションと、並列動作(と言うのでしょうか?)、および(多分、並列実行しているスレッドか何かの間での)通信も提供しているのとこと。

Pascal的な、型の宣言が変数や関数名の後に来たり、":="という先祖返り的な代入記号を使ったりしています。その他にも、"()"の数を減らせるような書き方になっていたり、多値というか一つの変数に複数の値を持たせたり、多分関数の返り値でもそれができると思いますが、そういうのや、オブジェクト指向言語っぽい書き方は出来るけど型の継承はないとか、あとはコンパイルがとても速いらしいなどの特徴があるようです。

見た目的とか、概念的に「面白い」というのは、ちょっと見たところでは見当たらないかもしれません。システムソフトウェア開発用だったら、まぁそうだろうなとも思いますが。

あ、そういえばREBOLのドキュメントをしばらく訳していないですね。これまでに訳したものも版が代わったりしているみたいなので、またぼちぼち続けていきます。

abc他プログラミング言語

1990年代の後半ですかね? ABC(本家がみつかりません。このサイトが本家に近いものだと勝手に思い込むことにしますが)(日本語版ページ)というコンピュータ言語を知りまして、Newsletterも何冊か取り寄せたりしました。

その後、Pythonを見たときに、「ABC」と雰囲気が似てるなぁと思ったものでした。いえ、単にスコープをインデントであらわすというところが、なんですが。

で、つい最近、Pythonの作者がABCの開発に参加していたらしいという話を聞きました。なんか、俄然、Pythonに興味が湧いてきました。こんな本もでたことですし。

もっとも今はREBOLにはまってますが。現時点でver.3.0αで、まだまだ改良中ということですが、Unicodeに対応して、日本語もOKになる予定。というか、Unicode対応部分は一応できてるみたいなので、fix版がでるのが楽しみです。まぁ、日本語ドキュメントもボチボチと作っています。

REBOLは文法的にはLOGO系と言っていいと思います。タートルグラフィックはないけど。あ、それでもGUI版もフリーででてるし、ver. 3.0でもGUI版もフリーで出るでしょう。

あ、ただ、オープンソースが好きな人に申し添えておくと、REBOLはオープンソースじゃありませんので悪しからず
記事検索
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

livedoor プロフィール
QRコード
QRコード
  • ライブドアブログ