JavaScript勉強会

JavaScriptの学習日記

3.1 Ioとは 【7つの言語 7つの世界】

JavaScriptの学習で、「7つの言語 7つの世界」という本を参考にしてみます。

プロトタイプベースのプログラミング言語「Io」について学んでみます。

 

f:id:jsstudy:20170330213945p:plain

 

jsstudy.hatenablog.com

 

 

3.1 Ioとは

Ioは2002年にSteve Dekorte氏によって開発された。

Iは常に大文字で書き、その後に小文字のoが続く。

 

「Io」は検索しづらい名前ですね? →「iolang」の方が、検索で情報がヒットしやすいですw

Go」も名前が短くて、結局「Golang」「Go言語」で検索してる、みたいな。

 

Luaもプロトタイプ言語

a

IoはLuaJavaScriptと同様にプロトタイプ言語だ。

つまり、すべてのオブジェクトは別のオブジェクトのクローンである。

 

Lua」もプロトタイプベースOOP言語なんですね?

 

Lua - Wikipedia

Lua(ルア)は、リオデジャネイロ・カトリカ大学の、Roberto Ierusalimschy, Waldemar Celes, Luiz Henrique de Figueiredo らによって設計開発されたスクリプト言語およびその処理系の実装である。

手続き型言語として、また、プロトタイプベースのオブジェクト指向言語としても利用することができ、関数型言語、データ駆動型としての要素も併せ持っている。

Luaという名前は、ポルトガル語の月に由来する。

 

f:id:jsstudy:20170504230427p:plain

 

IoやJavaScriptでプロトタイプベースに慣れたら、Luaもすぐ使えるようになる予感!?

 

Ioはコンパクト

Ioは元々、Steveがインタープリタの動作方法を理解するための練習として書いた言語であり、趣味レべルの言語として生まれた。

現在でもそのサイズは極めてコンパクトだ。

Ioのシンタックスはものの15分で、基本的な言語の仕組みは30分もあれば覚えられる。

驚くようなことは何もない。

しかしライブラリを覚えるには少し時間がかかるだろう。

Ioの複雑さと豊富な機能はライブラリによって実現されている。

 

  • Io自体の言語仕様は、シンプルでコンパクト=短時間で理解できる
  • 豊富な機能のライブラリは、理解するのに時間がかかる

 

シンタックスのシンプルさとプロトタイプ・プログラミングモデルに注目してほしい。

筆者はIoについて学んだあと、JavaScriptの動作方法についての理解がぐっと深まった。

 

純粋なプロトタイプベース言語であるIoを参考にすることによって、クラスベース以外の作法でも、JavaScriptを活用できるようになったら良いと思います。

 

 

jsstudy.hatenablog.com

 

7つの言語 7つの世界

7つの言語 7つの世界