Curlの言語的特長


kwatchさんのはてなブログにて、Curlの言語的特長が挙げられています。

Java は近代の言語、Ruby は現代の言語、Curl は未来の言語」
http://d.hatena.ne.jp/kwatch/20080805/1217950756



いくつか私のコメントをば。


■数値に単位をつけられる
これって他の言語だと結構面倒なんですね。
Curlだと当たり前に使ってしまうので、メリットに気がつきませんでした。
あと、{SI-value 値} でその数値だけ取れたりもします。
10kg → 10 とか。


■初期値で型を決定
逆に、Curlに慣れたあとで、他の言語をさわると、
この初期値での型宣言に戸惑うときがあります。
any型を使って、あとでasaマクロで明示的にキャストするのが
プロトタイピングのときとかはラクなので・・・。
リーダビリティの低さが問題かも。


■戻り値の宣言に名前をつけられる
これは私もいいな、と思ってます。
プロシージャなどで戻り値を複数宣言できてラクなんですが、
これがあるおかげで、あとで読み返したとき変数の意味がわかりやすい。


・プロシージャ宣言
{define-proc {trigonometric
a:double, b:double, c:double
}:(sin:double, cos:double, tan:double)


・変数への代入
let (sin:double, cos:double, tan:double) = {trigonometric a, b, c}



正直、モノがいいからって、流行るわけではないよ、ってコメントを
これまで何万回も聞かされてきていますが、
いろんな言語を触ったことがある方ほど、「発見」の多い言語ではあるかもしれませんね。


興味があれば、下記ページから無償版のCurlIDEを触ってみるのもよいかと。

■CurlIDEダウンロードページ
http://www.curlap.com/download/ide/


Javaとか、Rubyとか、初期値での型宣言以外で、Curlにはない言語的特徴って何ですかね。
知っている人が居たら教えてつかぁさい。
>自分でしらべろって?