«前の日記(2005年03月06日) 最新 次の日記(2005年03月08日)» 編集

Matzにっき


2005年03月07日 [長年日記]

_ [言語] Span

SmalltalkのセマンティクスにJava的構文を与えたような言語。 お約束のHello Worldはこんな感じ。

class Hello {
  static public main: args {
    Console << "Hello World!\n";
  }
}

こういう言語では(Rubyのように)ifやwhileなどは文法で持つことが多いし、 またメソッド呼び出しの形式も「obj.method」にするような気がするが、 SpanはこれらはSmalltalk形式のまま。

2 + 2;
5 + 2 - 7;

Array new: 10;
Rect x: 5 y: 5 width: 10 height: 10;

(5 >= 4) ifTrue: {
    this doWhenTrue;
} 
ifFalse: {
  this doWhenFalse;
};  

1 to: 5 do: #(cnt) { 
  cnt doSomething; 
};

要するに「Smalltalkにより普通の構文を」という出発点は同じでも、 アプローチにおいてRubyとは違う道をとっている(Rubyが捨てた点を残し、Rubyが残した点を捨てている)。 これが成功するのかどうかは私にはわからないが

あと、興味深いのはSpanは実行エンジンにParrotを採用している点だ。 Parrotかんばれ(Pugsに負けるな)。

_ [言語] Pugs

PugsとはHaskellで書かれているPerl6コンパイラである。 一瞬「本気か?」と思ったが、大いに本気らしい。

作者のインタビュー

_ 韓国で有名な日本人

IRCで韓国人が話していた。「韓国で有名な日本人といえばYuminとAyumiだ」。

松任谷由実と浜崎あゆみのことかと思えば、全然違う人らしい。

日韓の文化の溝はまだ深い。


«前の日記(2005年03月06日) 最新 次の日記(2005年03月08日)» 編集