3.1 Ioとは 【7つの言語 7つの世界】
JavaScriptの学習で、「7つの言語 7つの世界」という本を参考にしてみます。
プロトタイプベースのプログラミング言語「Io」について学んでみます。
![f:id:jsstudy:20170330213945p:plain f:id:jsstudy:20170330213945p:plain](https://cdn-ak.f.st-hatena.com/images/fotolife/j/jsstudy/20170330/20170330213945.png)
3.1 Ioとは
Ioは2002年にSteve Dekorte氏によって開発された。
Iは常に大文字で書き、その後に小文字のoが続く。
「Io」は検索しづらい名前ですね? →「iolang」の方が、検索で情報がヒットしやすいですw
「Go」も名前が短くて、結局「Golang」「Go言語」で検索してる、みたいな。
Luaもプロトタイプ言語
aIoはLuaやJavaScriptと同様にプロトタイプ言語だ。
つまり、すべてのオブジェクトは別のオブジェクトのクローンである。
Lua(ルア)は、リオデジャネイロ・カトリカ大学の、Roberto Ierusalimschy, Waldemar Celes, Luiz Henrique de Figueiredo らによって設計開発されたスクリプト言語およびその処理系の実装である。
手続き型言語として、また、プロトタイプベースのオブジェクト指向言語としても利用することができ、関数型言語、データ駆動型としての要素も併せ持っている。
![f:id:jsstudy:20170504230427p:plain f:id:jsstudy:20170504230427p:plain](https://cdn-ak.f.st-hatena.com/images/fotolife/j/jsstudy/20170504/20170504230427.png)
IoやJavaScriptでプロトタイプベースに慣れたら、Luaもすぐ使えるようになる予感!?
Ioはコンパクト
Ioは元々、Steveがインタープリタの動作方法を理解するための練習として書いた言語であり、趣味レべルの言語として生まれた。
現在でもそのサイズは極めてコンパクトだ。
Ioのシンタックスはものの15分で、基本的な言語の仕組みは30分もあれば覚えられる。
驚くようなことは何もない。
しかしライブラリを覚えるには少し時間がかかるだろう。
Ioの複雑さと豊富な機能はライブラリによって実現されている。
- Io自体の言語仕様は、シンプルでコンパクト=短時間で理解できる
- 豊富な機能のライブラリは、理解するのに時間がかかる
シンタックスのシンプルさとプロトタイプ・プログラミングモデルに注目してほしい。
筆者はIoについて学んだあと、JavaScriptの動作方法についての理解がぐっと深まった。
純粋なプロトタイプベース言語であるIoを参考にすることによって、クラスベース以外の作法でも、JavaScriptを活用できるようになったら良いと思います。
![7つの言語 7つの世界 7つの言語 7つの世界](https://images-fe.ssl-images-amazon.com/images/I/51RCHbILAFL._SL160_.jpg)
- 作者: Bruce A. Tate,まつもとゆきひろ,田和勝
- 出版社/メーカー: オーム社
- 発売日: 2011/07/23
- メディア: 単行本(ソフトカバー)
- 購入: 9人 クリック: 230回
- この商品を含むブログ (65件) を見る