JavaScriptとLua

今日はJavaScriptを勉強していた。
Webで何かをしたいというわけではなく、言語として、どういうものなのかに興味があったからだ。
んでも、JavaScriptの本ってWeb上で使うときのHowToみたいなのしか無くて、そういう本には本質的なことが書いてない。
困ったもんだ。


特徴としてはこんな感じか。


・変数に型が無くデータに型がある動的言語
・基本オブジェクトはハッシュで、オブジェクト名.キー名でハッシュの要素にアクセスできる
・関数もデータの一つで、メソッド名をキーにしてハッシュに突っ込まれる


これだけ見ると基本思想はLuaに似ている。
主に違う点としてJavaScript


・組み込み型とプロトタイプ機能でオブジェクト指向っぽい顔をしている
・Cベースの文法だが参照型へのアクセスがドット表記なのでどちらかというとJavaC#に近い


Luaのほうはというと


・メタテーブルで演算子オーバーロードができる
・文法はRubyに近い


解説サイトを見るとPascalに近いと書かれていることが多いが、Pascalの尖った文法は:=による代入とbegin〜endのブロック表現であり、そのどちらも無い以上、俺にはRubyに近いように見える。


JavaScriptを自由に使えると何かと便利そうだ。
ブラウザで動くから、見た目を作るのが簡単なところがよい。
Luaはいっぺん何か作ってみたいと思うが、CのAPIを見てるとやたら多くて面倒そうだ。
でもRubyで拡張ライブラリを作るのとは逆のアプローチになるから、その可能性には興味がある。
まあ、あまり手を広げてもアレだし、何かひらめいた時にでも。