「Guile Schemeは最良の拡張言語だ」という主張 27
ストーリー by hylom
しかし人気のほどは…… 部門より
しかし人気のほどは…… 部門より
danceman 曰く、
Schemeベースのプログラム言語の1つに、「GNU Guile」がある。Guileはアプリケーションの機能を拡張するためのスクリプト言語として開発されたものの、利用しているソフトウェアは少なく、現在ではPythonやJavaScriptなどが多く使われる状況だ。しかし、本家/.で「Guileは、ユーザーが少ないものの、GNUに最も適した拡張言語である」と主張する記事が話題となっている(本家/.記事)。
2011年のGNU Hackers Meetingにおいて、Guileのメンテナの1人であるAndy Wingo氏は自身のブログで、JavaScriptとの比較を行うことで「GNUソフトウェアの拡張目的で他のプログラミング言語を使用するのは間違っている」ことを説明している。
JavaScriptはWebブラウザ向けの言語であり、GNUソフトウェアとの関連性が低くく、POSIXのような一般的なプラットフォームでJavaScriptを利用した場合、GNUは本領を発揮することができないという。また、JavaScriptには変数のスコープに関する問題や乏しい数値モデル、動的な「this」のスコープ、モジュール化という概念の欠如などの問題があり、JavaScriptを使用するとコストがかかってしまうとのこと。
また、もしTclを公式言語に選択していたならば、今頃は利用不能なコードが山ほどあっただろうとも述べている。
そんなに Guile が優れた拡張言語なら (スコア:5, すばらしい洞察)
そんなに Guile が優れた拡張言語なら、
GNU Emacs は今頃 Guile で実装されているでしょう。
そう言われないようにガンバレ Guile-based Emacs http://www.mit.edu/~raeburn/guilemacs/ [mit.edu]
Re:そんなに Guile が優れた拡張言語なら (スコア:2)
GIMPのScript-fuもだよね。あれはScheme方言。
1を聞いて0を知れ!
Re: (スコア:0)
Re:そんなに Guile が優れた拡張言語なら (スコア:1)
つか「0」と「1」さえあればなんでもできるのになんでプログラミング言語ってアホみたいに種類多いの?
Re: (スコア:0)
それで色々な人がそれぞれ自分が使いやすいように作ったから
沢山の言語が出来た。
Re:そんなに Guile が優れた拡張言語なら (スコア:1)
バベルの塔 [wikipedia.org]に当たるのはなんだったんだろう?
-- う~ん、バッドノウハウ?
Re: (スコア:0)
何でもできるから方言が増えたんでは?
Re: (スコア:0)
こ。これは。。。
今溜めてます (スコア:5, おもしろおかしい)
r,''ヘ_
_,,,,_⊂-くノ`ヽ,
_ 〆_゙'ir''⌒" )
ξ⊂! っ》` く ∠___
.''\ノ''''‐`` i、 ,ノ │,-ヽ7=、、 ,,rー'"`-、
\_゙l、,,,_,/i゙、 ,ノ 〈 ゛ `ヌ⌒ )/=i、 l ←PythonやJavaScript
`゙゙'''"`'ミ--/-,_ ´ /" `''
\ .,,、`lニン-゛
\__ノ
___
_ ┐ /
/ 'rlご ┥ .,,,、
| |゙ `jエ |〈゙',)
゙l,,,i´ /,/,ノ"r
,r㍉,ノ''こ!、,,┴.
| ‘''く′ ,/ │
.r'ヘ,、 `'イ゙>'"
.厂|,`'-,, .|'ヽ、
Re: (スコア:0)
そこで溜めてるGuile, 俺のなんすよwwwwww
不発 (スコア:0)
f ヽ.
______ .Y ',、
`ヽ. ,L.,r'"´ .月 .}_,>
_,ノ´ ̄` R´ j __ , -‐へ /
,r '"´r ⌒Y lヽ`' ┘/. `Y゙
`ヽ, }>-く__,ノ ,、 '"´ /
\ 勿、 '´ > , '"´
「 \,>.'´ /
. \__ '´ |
':, |
__,.ィ T "⌒' |
レ'゙ 入 _ .ノ
{'''''''|  ̄
. `¨´
Re: (スコア:0)
その組み合わせは最新作ではザンギ有利という説が・・・
Tclだったら今頃は利用不能、って? (スコア:5, 興味深い)
また、もしTclを公式言語に選択していたならば、今頃は利用不能なコードが山ほどあっただろうとも述べている。
これだけだと
「Guile だって廃れるっつーか流行ってもいないんだから同じじゃん」
と言いたくなりますが、元記事では
Finally, we have the lifespan issue. If GNU had chosen Tcl because it was popular, we would have a mass of dead code. (You can like Tcl and still admit that we are past its prime.) Python is now, I think, at the height of its adoption curve, and beginning its descent. JavaScript is the next thing, and still on the uptick. But JavaScript will fall out of favor, and there will be a new paradigm, and a next language. The future of computing will not be the same as the present. So how will JavaScript adapt to these changes? We can't tell right now, but given the difficulty in changing simple things like making 010 parse as 10 and not 8 indicates that at some point it will stagnate. But Scheme will still be with us, because its parts are well thought-out, and because it is a language that is inherently more adaptable.
最後に寿命の問題がある。人気だからといって GNU が Tcl を選んでいたなら、今頃デッドコードが大量にあっただろう。(Tcl が好きなことと、旬を過ぎているのを認めることとは別問題だ。) 今は Python が採用曲線のピークにあると思う。つまり下降を始める頃だ。JavaScript はその次なので、まだ上り調子にある。しかしいつか JavaScript も愛想を尽かされ、また新たなパラダイム、そして次の言語が出てくる。未来のコンピューティングは現在のコンピューティングと同じではないだろう。それで、JavaScript はこうした変化にどう適応するだろうか。今すぐにはわからないが、010 を 8 ではなく 10 と読ませるといった単純なことも難しいのであるから、どこかの時点で停滞するだろう。それでも Scheme は我々の味方であり続ける。Scheme は各部が考え抜かれているから、そして本質的に適応力の高い言語だからだ。
と書いてあるように、流行り廃りの問題ではなく
「どんなパラダイムシフトにも生き残るもんね」という意味なんですね。
Re:Tclだったら今頃は利用不能、って? (スコア:2)
Javascriptが廃れるとしたら、ハイパーテキストによるWebの終焉か、他の言語がWeb用言語にとってかわる以外のシナリオが思い浮かばないのだけど、それを危惧してるのか?
しぶとく生き残ると思うのだけど。
# ただし、10年後は面影はあるものの同じ言語とは思えない感じになっている気はする
1を聞いて0を知れ!
タイトルから欠如しているもの (スコア:1)
「GNUに」最も適した拡張言語なんでしょ?
Re:タイトルから欠如しているもの (スコア:2, 興味深い)
我々はGNUだ。お前達を同化する。抵抗は無意味だ、みたいな
Re: (スコア:0)
CLとLisp1.xが好きだと (スコア:1)
CommonLispやLisp1.xが大好きだとschemerの攻撃的性格ゆえにschemeが好きになれないと感じるACです
黒板大好きな黒田さんとかの意見みたいな方向でschemeを攻撃する意図は無いのだけどなんで同族系言語でああもやりあうんだかさっぱりです。
#Shiroさんみたいな人ばっかりならscheme好きになれるのにorz
#白黒つけろっていみじゃないよ!
Re: (スコア:0)
同族だからと言って仲良くする必要もないと思うが。CやC++、Java、Javascriptなどのコミュニティ間でも多かれ少なかれ、似た様なものだろう。ただ、Schemeは実用よりも思想に走っている部分があるので、攻撃的な人が多い気はする。
自分はSchemeが好きだけど、CLは用途がC++と近いし、C++でお腹いっぱいなのに仕様が大きいので覚える気がない。
Re: (スコア:0)
JavaScriptは本質的にはLISP寄りの言語ですよ。
# というと、コアなLISPerには受け入れて貰えない。
Re: (スコア:0)
自分の観測範囲(comp.lang.schemeとか使ってる実装(Gambit-C)のMLとか)ではSchemerがCL等他の言語に対して攻撃的っていうのはピンとこない。
まさに黒田さんとShiroさんのやりとりのようなCLerがSchemeを攻撃している例はいくつか見たことがあるけど…
2chとかtwitterとかであるのかな。
Re:CLとLisp1.xが好きだと (スコア:1)
あれはスポーツみたいなもんですよ > CLer vs Schemer
Re: (スコア:0)
どう見てもLisperを自称するあなたがschemerに喧嘩売ってますよね。
低くく (スコア:0)
Re: (スコア:0)
たぶんいまだに「ひくくく」に気づいてないと思われる。
いや気づいててほったらかしてるだけかもしれないけど。
Guileの良さを言いたいのなら (スコア:0)
JavaScriptなどの欠陥言語と比較しない方がいいんじゃないかな。
(JavaScript好きでもThe good parts読んだ人なら意味はわかるはず)
とはいえ Guile 2 系は EMCAScript もサポート (スコア:1)
本家の議論では 同様な問題点をもつ Lua 支持もあるので、 言語自体の良し悪し以外のところで 支持が決まっているのではないかと思います。 流行り廃りとか、慣れとかなのでしょうか。
Guile 2 系だと、EMCAScript (JavaScript) も実はサポートしています。 とはいえマニュアル http://www.gnu.org/software/guile/manual/html_node/ECMAScript.html [gnu.org] には、 次のような楽しい記述が……。
その他に Emacs Lisp が使えます。Lua のサポートは、準備段階です。