«前の日記(2005-06-02) 最新 次の日記(2005-06-04)» 編集

Matzにっき


2005-06-03 [長年日記]

_ [言語] The Qu programming language

何ヶ月かに一度、Freshmeat.netをチェックして、 目新しい言語がないかと調べてみることにしている。 「言語おたく」としては当然の行為だ。

で、今回見付けたのが、これ

名前は「きゅー」と読むのだろうか。RubyやPythonより高速だと主張している

言語として目新しいのは、

  • ブロック終端を「;;」で示す。これは新しい発想だ。 慣れると「end」よりも視覚的に「軽い」ので良いかもしれない。 「end if」のような終端や、 pragmaで指定すればtabを使ったインデントによるブロックも使えるが、 その「多様性」はあんまり良くないような気がする。
  • 型の代わりにvalidatorが指定できる。validatorは要するに関数である。 高速化のヒントには使えないが、柔軟な型指定ができる。 定数についてはコンパイル時にvalidatorを呼ぶようだ。
  • switchで分岐に用いるオペレータを明示的に指定できる。 これは10年以上前に石塚さんから強く要求されたのに断ったもの。 Quではわりと文法的にきれいにまとまっている。 ただし、レシーバはswitchで指定した値のようなので、 その点はRubyと違い、使い勝手に影響しそう。
  • QuLightingモジュールによるJITが提供されている。

文法や実装のあちこちにRubyの影響が見える。が、文法には独自の発展が見られるし、 ソースコードは私のものよりも整理されているようだ。今後の楽しみな言語である。

他にも、Slateとかも興味深い。

本日のツッコミ(全4件) [ツッコミを入れる]
_ 匿名 (2005-06-05 03:48)

ブロック終端を「;;」で示すのはbsh系 (bash含む) のcase文とか

_ (2005-06-05 09:10)

PとRの間なんすかね。

_ bonaim (2005-06-05 12:49)

Ocamlなんかもそうですね。 < ;;

_ KENN (2005-06-05 14:58)

マスコットはぜひコイツで。<br>http://www.qoo.jp/<br><br>#スペルが違うか…

お名前:
E-mail:
コメント:
[]

«前の日記(2005-06-02) 最新 次の日記(2005-06-04)» 編集

track feed Matzにっき Creative Commons License This work is licensed under a Creative Commons License.