猫言語、違った、Neko言語
2007年8月4日 (土)
私は最近、動的言語に興味を持ち使い始めている。興味の対象はPythonとRubyだが、特にPythonに興味を持ち、そのWEBアプリケーションフレームワークであるTurboGearsを使い始めたところだ。そのあたりの話題はこのブログで私のPython事始を始めいくつかの記事がある。
私は言語おたくではないが、この業界で生き残るために言語の研究・調査は怠らないようにしている。たとえば15年以上前、C++処理系が無かったころ、Guideline C++なる処理系を米国から購入したこともあった。Actorなるオブジェクト指向言語と開発環境(結構高かった)を購入したがそのプラットホームのWindows3がまともに動かず金をドブに捨て、などということもあった。もちろんPascal系言語にも興味を持ち、Delphiも購入して調査した。そして最近はフリーライセンスの動的言語が興味の対象だ。
新言語の話題を聞くととりあえず調査するようにしている。昨日初めて知った言語が「Neko言語」だ。この言語は昨日のマイコミジャーナルの記事主要プログラミング言語となりえるか!? 注目のNeko 1.6.0登場で知った。
この言語に興味をもった理由は単純、そのネーミング。動物が嫌いではない私は”Neko”というネーミングに惹かれ、早速その言語のサイトNEKOを見た。笑ってしまった。左上のNEKO言語のロゴは猫ではなく「狼」だった。
マイコミジャーナルの記事によればNEKOの特徴は次のとおり。
Nekoは動的に型付けされたスクリプトタイプのプログラミング言語。それ単体で動作させることも、ほかの言語に組み込んで動作させることもできる。また、ほかのプログラミング言語に対するランタイムプラットフォームとしても動作するという特徴がある。Neko自体は学習が簡単なスクリプト言語。C言語から実行することができるほか、C言語を使って機能を拡張することも可能。
…
Nekoはプログラミング言語としてはかなり後発の言語に当たる。現在主流で使われているプログラミング言語の特徴を研究して、シンプルでありつつも強力であるように設計されており、今後の展開がかなり注目されるプロダクトだ。
後発の言語は有利だ。ここの書いてあるように「現在主流で使われているプログラミング言語の特徴を研究」して良いとこ取りができるからだ。その点、少々古いPythonは不利な面もある。
NekoサイトによればNekoコンパイラはNeko自身で記述されているとか。これは凄い。動的スクリプト言語のコンパイラがその言語自身で記述されることは少ない。言語の問題ではなく実行速度の問題が大きいからだ。Nekoのヴァーチャルマシンは軽量で速いとNekoサイトには書かれているが、そうなのだろう。Nekoにはmod_nekoモジュールがありWEBサーバApacheに組み込める。このNekoサイトはそれで動いているらしい。確かにこのサイトは動的サイトなら速いと思う。
Nekoサイトにあったソース例から。
var x = 3; $print(x);
varを使うのはJavaScript的だ。
var x = 3; f = function(x) { $print(x); } f("neko"); // print "neko"
fは関数ポインタをうまく隠蔽している。
もちろんオブジェクト指向言語だ。
o = $new(null); o.x = 1; o.add = function(y) { return this.x + y; } $print(o.add(2)); // prints 3
新言語がアプリケーション(私の場合はWEBアプリケーション)に使えるかどうかは、言語の設計の問題よりは日本語処理と周辺ライブラリの充実の問題のほうが大きいと私は思う。
Nekoの場合、UTF8文字列は使用できるようだがそれ以上の日本語処理はどうなのか、周辺ライブラリはどの程度充実しているのか、今後見極めて行きたい。
コメント・トラックバック一覧(0)
この記事にはまだコメントがついていません。