<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Go towards a Word-Progress &#187; clojure</title>
	<atom:link href="http://wordprogress.org/archives/tag/clojure/feed" rel="self" type="application/rss+xml" />
	<link>http://wordprogress.org</link>
	<description>　～言霊とプログラム言語の共進化!?</description>
	<lastBuildDate>Fri, 22 Jan 2010 03:37:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>Clojure as a 0.8 true language</title>
		<link>http://wordprogress.org/archives/458</link>
		<comments>http://wordprogress.org/archives/458#comments</comments>
		<pubDate>Fri, 13 Nov 2009 17:25:33 +0000</pubDate>
		<dc:creator>kyon</dc:creator>
				<category><![CDATA[Go]]></category>
		<category><![CDATA[Scala]]></category>
		<category><![CDATA[clojure]]></category>
		<category><![CDATA[Matz]]></category>

		<guid isPermaLink="false">http://wordprogress.org/?p=458</guid>
		<description><![CDATA[Javaバーチャルマシン上のLisp系新言語Clojureの良さについて書く。
Lisp系といっても、なんだか読みやすいのである。そして、実案件でも使われていたり。興味を持った方は、まずは、「InfoQ　Jruby　Clojure」あたりでぐぐってみてほしい。
＃追記・寝ぼけていたのかtypo多すぎなので修正orz
私の知る限り、日本語の記述でもっともClojureに好意的な記述をしてくださっているのは、何をかくそう、プログラミング言語Ruby作者Matz氏の「the 0.8 true language」である(ただし、潜在的には、だが)。以下、このMatz氏の長年日記を参考にさせてもらいながら書いていく。
&#8212;&#8212;&#8212;-(ここからMatzにっきの引用中心)&#8212;&#8212;&#8212;&#8212;-
 
Matz氏は問う、「(これからのプログラミングの)80%の領域をカバーする言語」、名づけて「the 0.8 true language」はいかなるものか、と。そして、Matz氏はいくつかの条件を挙げている。

オブジェクトとメッセージ(or 動的結合)
 高階関数(とクロージャ) ※ここのクロージャは当然、言語機能
内部DSL
並列実装技術
そして、シンプルな文法

Matz氏は、これらを満たす候補として、第一にLispとRubyをあげつつ、現時点のRubyをthe 0.8 true language候補としては留保している(並列実装技術の導入が遅れているため)。そして、Lispについては、内部DSL向けではない(Lispのマクロは別物の言語を作りやすすぎるから)点を課題として挙げている。
そして、Matz氏の日記は、以下の言をつぶやいて終わる(まぁ、続きはそのうちに、という感じで)。

今後Java方面では、ますますのXMLの活用とJVM上のJavaでない言語の台頭が予想される。 というか、もうかなり出てきてるよね。JRubyとかGroovyとかScalaとかClojureとか。



&#8212;&#8212;&#8212;&#8211;(Matzにっきの引用終わり)&#8212;&#8212;&#8212;&#8212;&#8212;
さて、以上のJRuby～Clojureの４言語の中で、Clojureのみが上記５条件を満たす、と思っている。JRubyとGroovyは並列処理に弱い。そして、Scalaはぜんぜんシンプルではない。
他方、Clojureは、Scheme/CommonLisp等の標準Lispとの互換性を捨て、S式内部にDSLを持つLispである(clojureコミュニティではLess Lispyと呼んでいたりする。Lispっぽくなくも書ける・・)。内部DSLを意識し、並列処理を前面に出した唯一のLisp、それがClojureである。
・・・ということで、本サイトではこれからもClojureに注目していく。Clojureがマイナーであること・おそらくマイナーでありつづけることを知っているので、ややネタ的に。これでいいんだよな、長門Clojure。そう、Clojureはふつうの言語より0.2くらい欠けている(例えば、継承ベースのオブジェクト指向言語機能は、「一切ない」)のだが、それが、逆にシンプルさ・科目さという魅力を出しているのだ。



[追記]継承ベースのオブジェクト指向言語機能が「一切ない」言語といえば、GoogleのGo言語もそのひとつ。 Goにたぶん言語機能としてのクロージャ(closure)はないが、当然実装可能である。Goがclosureを持つ言語(例えば、RubyやClojure)を実装すれば、組み合わせとして上記の５条件をかなり良好に満たすであろうことをいいそえておく。Cの継承者を目指すGoにはそのうちいくつものスクリプト言語系が実装されるであろうことは、想像に難くない。

[本投稿の背景事情]　小ネタをいろいろおりまぜつつの本サイト、個人的にはScalaとClojureの比較をメインに据えていく予定であったのだが、(自らの発熱に)ついカッとなって、想定外にScala v.s. Goの比較をしたところ、急に本サイトにアクセスが集中してまっている。このままでは、既に全校生徒世界的に注目の集まっているScalaはさとおき、文芸部とコンピ研Lisperの間のみで話題となっているClojureが埋没しかねない。というか、誰も読まないだろうと思って書いたネタに相当のアクセスが流れて、ちょっとまずい状況。ということで、いてもたってもいられず、まじめにClojureの良さを、まずは少しだけ書いておいたと。



 
]]></description>
			<content:encoded><![CDATA[<h3>Javaバーチャルマシン上のLisp系新言語Clojureの良さについて書く。</h3>
<p>Lisp系といっても、なんだか読みやすいのである。そして、実案件でも使われていたり。興味を持った方は、まずは、「InfoQ　Jruby　Clojure」あたりでぐぐってみてほしい。<br />
<span style="color: #800000;">＃追記・寝ぼけていたのかtypo多すぎなので修正orz</span></p>
<p>私の知る限り、日本語の記述でもっともClojureに好意的な記述をしてくださっているのは、何をかくそう、プログラミング言語Ruby作者Matz氏の「<strong><a href="http://www.rubyist.net/~matz/20091003.html">the 0.8 true language</a><span style="font-weight: normal; font-size: 13px;">」である(ただし、潜在的には、だが)。以下、このMatz氏の長年日記を参考にさせてもらいながら書いていく。<br />
&#8212;&#8212;&#8212;-(ここからMatzにっきの引用中心)&#8212;&#8212;&#8212;&#8212;-</span></strong></p>
<p><strong> </strong></p>
<p><strong><span style="line-height: 23px;">Matz氏は問う、「(これからのプログラミングの)80%の領域をカバーする言語」、名づけて「<strong><span style="color: #800000;">the 0.8 true language</span></strong>」はいかなるものか、と。そして、Matz氏はいくつかの条件を挙げている。</span></strong></p>
<ul>
<li><span style="font-family: メイリオ; font-size: small; color: #555555;">オブジェクトとメッセージ(or 動的結合)</span></li>
<li><span style="font-family: メイリオ; font-size: small; color: #555555;"> 高階関数(とクロージャ) </span><span style="font-size: small;"><span style="color: #ff0000;">※ここのクロージャは当然、言語機能</span></span></li>
<li><span style="font-family: メイリオ; color: #555555;"><span style="font-size: x-small;"><span style="line-height: 23px; font-size: small;">内部DSL</span></span></span></li>
<li><span style="font-family: メイリオ; color: #555555;"><span style="line-height: 23px; font-size: x-small;">並列実装技術</span></span></li>
<li><span style="font-family: メイリオ; line-height: 23px; color: #555555; ">そして、シンプルな文法</span></li>
</ul>
<p><span style="font-family: メイリオ; color: #555555;"><span style="line-height: 23px;">Matz氏は、これらを満たす候補として、第一にLispとRubyをあげつつ、現時点のRubyを<span style="color: #000000; font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;">the 0.8 true language候補としては留保している(並列実装技術の導入が遅れているため)。そして、Lispについては、内部DSL向けではない(Lispのマクロは別物の言語を作りやすすぎるから)点を課題として挙げている。</span></span></span></p>
<p><span style="font-family: メイリオ; color: #555555;"><span style="line-height: 23px;"><span style="color: #000000; font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;">そして、Matz氏の日記は、以下の言をつぶやいて終わる(まぁ、続きはそのうちに、という感じで)。</span></span></span></p>
<ul>
<li><span style="line-height: 23px; font-size: small; color: #800000;">今後Java方面では、ますますのXMLの活用とJVM上のJavaでない言語の台頭が予想される。 というか、もうかなり出てきてるよね。JRubyとかGroovyとかScalaとかClojureとか。</span></li>
</ul>
<p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 1em; margin-left: 2em; line-height: 23px; ">
<p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 1em; margin-left: 2em; line-height: 23px; ">
<p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 1em; margin-left: 2em; line-height: 23px; ">&#8212;&#8212;&#8212;&#8211;(Matzにっきの引用終わり)&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 1em; margin-left: 2em; line-height: 23px; "><span style="font-size: small; ">さて、以上のJRuby～Clojureの４言語の中で、Clojureのみが上記５条件を満たす、と思っている。JRubyとGroovyは並列処理に弱い。そして、Scalaはぜんぜんシンプルではない。</span></p>
<p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 1em; margin-left: 2em; line-height: 23px; "><span style="font-size: small; ">他方、Clojureは、Scheme/CommonLisp等の標準Lispとの互換性を捨て、S式内部にDSLを持つLispである(clojureコミュニティではLess Lispyと呼んでいたりする。Lispっぽくなくも書ける・・)。内部DSLを意識し、並列処理を前面に出した唯一のLisp、それがClojureである。</span></p>
<p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 1em; margin-left: 2em; line-height: 23px; "><span style="font-size: small; ">・・・ということで、本サイトではこれからもClojureに注目していく。Clojureがマイナーであること・おそらくマイナーでありつづけることを知っているので、<a href="http://wordprogress.org/archives/119">ややネタ的に。これでいいんだよな、</a><span style="text-decoration: line-through;"><a href="http://wordprogress.org/archives/119">長門</a></span><a href="http://wordprogress.org/archives/119">Clojure</a>。そう、Clojureはふつうの言語より0.2くらい欠けている(例えば、継承ベースのオブジェクト指向言語機能は、「一切ない」)のだが、それが、逆にシンプルさ・科目さという魅力を出しているのだ。</span></p>
<p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 1em; margin-left: 2em; line-height: 23px; "><span style="font-size: small; "><br />
</span></p>
<p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 1em; margin-left: 2em; line-height: 23px; ">
<p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 1em; margin-left: 2em; line-height: 23px; "><span style="font-size: small; ">[追記]継承ベースのオブジェクト指向言語機能が「一切ない」言語といえば、GoogleのGo言語もそのひとつ。 Goにたぶん言語機能としてのクロージャ(closure)はないが、当然実装可能である。Goがclosureを持つ言語(例えば、RubyやClojure)を実装すれば、組み合わせとして上記の５条件をかなり良好に満たすであろうことをいいそえておく。Cの継承者を目指すGoにはそのうちいくつものスクリプト言語系が実装されるであろうことは、想像に難くない。</span></p>
<ul>
<li><span style="color: #800000;">[本投稿の背景事情]　小ネタをいろいろおりまぜつつの本サイト、個人的にはScalaとClojureの比較をメインに据えていく予定であったのだが、(自らの発熱に)ついカッとなって、想定外にScala v.s. Goの比較をしたところ、急に本サイトにアクセスが集中してまっている。このままでは、既に</span><span style="text-decoration: line-through;"><span style="color: #800000;">全校生徒</span></span><span style="color: #800000;">世界的に注目の集まっているScalaはさとおき、</span><span style="text-decoration: line-through;"><span style="color: #800000;">文芸部とコンピ研</span></span><span style="color: #800000;">Lisperの間のみで話題となっているClojureが埋没しかねない。というか、誰も読まないだろうと思って書いたネタに相当のアクセスが流れて、ちょっとまずい状況。ということで、いてもたってもいられず、まじめにClojureの良さを、まずは少しだけ書いておいたと。</span></li>
<div><span style="color: #800000;"><br />
</span></div>
</ul>
<p><span style="font-family: メイリオ; line-height: normal; font-size: small; color: #555555;"> </span></p>
]]></content:encoded>
			<wfw:commentRss>http://wordprogress.org/archives/458/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>限界を打ち破るはScalaかGoogleのGoか　(「Scala入門」に勝手流追記その２)</title>
		<link>http://wordprogress.org/archives/435</link>
		<comments>http://wordprogress.org/archives/435#comments</comments>
		<pubDate>Thu, 12 Nov 2009 18:57:51 +0000</pubDate>
		<dc:creator>kyon</dc:creator>
				<category><![CDATA[Go]]></category>
		<category><![CDATA[Scala]]></category>
		<category><![CDATA[clojure]]></category>
		<category><![CDATA[長門有希]]></category>

		<guid isPermaLink="false">http://wordprogress.org/?p=435</guid>
		<description><![CDATA[Scala入門　勝手流追記　その２。元記事が大上段なので、こちらも大上段に。
Scalaで実サービスをリリースしている著者らのJavaの限界を超えて実用化を目指す新開発言語「Scala」のメリットとは～前編(codezine誌)
今回は、codezine、１位と２位の記事がScalaとGoであること(11/12時点)にちなんで両者を比較しつつ、元記事に一点だけ突っ込む。

[追記@昼間]
以下、熱が下がった直後の明け方に書いたんで、いろいろ記載が粗いので、前提条件・抜け落ち等を補充。
◇プログラミング言語比較の前提はTiobeのランキングのような検索エンジンベースのランキング。
　当然、書籍ベースのランキングや「魂」のランキングは十分に加味されていない・・・のはさておき、そもそも検索エンジンという仕組みへの信頼性が落ちている(少なくとも不況下の幻滅期にある)と思われるので、プログラミング言語の流行り廃りの議論に、こうしたランキングが良いかは、不明(といっても、Tiobeランキングのどの位置にGoがやってくるのか、皆興味あるだろうが)
◇Tiobeベースで話を進めているのに、メジャー言語にPHPが抜けていた。
　これはScala v.s. Goということでミドルから下を主に考えていたから。少なくとも、Goベースのwebサーバは遠からず出てくるだろうし、その上でPHPが動くだろう事も明らかなので、PHPの文字を補っておいた。そもそもこのサイトもWordPress。いや速度面はさておき、良く出来ている。
◇そして、何より、議論のベースに静的片付け言語万歳。C系構文は永遠に不滅です、って言うのがあった(Goはいうまでもなく、ScalaもけっこうC系言語)。
　これは、
　　「真のバカでも使えるものを設計しようとして人々がよくやるミスは、
　　　真のバカのバカさ加減を過小評価することだ」
　　　　　－－Douglas Adams
　(出典　Diomisid Spinellis著　『コード・リーディング』, p65)
　という警句を、コンパイル時に真にバカなミスをしまくっている自分なりに重く受け入れているから。システム系言語はバカの壁に大いに配慮してほしい。ともあれ、Goみたいのがでてくると、下のレイヤの本を読もうという気になる。Goはひょっとしたら泡沫言語になるのかもしれないけれど、少なくとも、Cに近いレイヤに刺激を与える貢献は達成するのでは。
[再度追記
『コード・リーディング』を開いたついでに、監訳者であるMatz氏のにっきを見ると、Goについてのコメントが。やはり、Goには、尊敬するMatz氏も気になる変態言語(というか、大胆な言語)の側面あり。コメントでのやりとりにあるとおり、実装の継承(共有)まわり、プロトタイプ継承っぽいのでは・・・。「半人前の言語」あるいは「小学１年生(ただし神童)くらいの言語」だからこそ、Goと共にプログラミングを学ぶ価値はある。
＜本文＞
JRuby/Jythonなどスクリプト言語由来の言語と異なり、Javaと同様の静的コンパイル言語であるScalaは、Javaバーチャルマシンの主流言語の座をめぐり、本家Javaに挑む挑戦者に位置づけられる。
その試みが成就するのは、早くとも数年後であろうが、Javaの袋小路を打ち破る方向性をScalaは示したといえる。
Javaに対するScalaの利点は、以下の３つであろう。

不変性(val)の上手な導入による容易な並列処理プログラミング　※メモリリーク等を防ぐガベージコレクションの仕組みあり
簡潔な表記と型を含めたカスタマイズを可能とする言語内言語(DSL)構築能力　※タイプセーフなスタイルを採用
スクリプトに近い簡潔な記述(関数型言語の型推論などに由来)

-----------
と書いたところで、これらの特性はただいま祭り中のグーグルの新プログラミング言語Goの特性とかぶることに気がつく。
C言語に対するGo言語の利点(私見)

・goroutine等による容易な並列処理プログラミング　※メモリリーク等を防ぐガベージコレクションの仕組みあり
・interface機能による言語拡張構能力(C++のtemplateに近いもの、か)　※タイプセーフなスタイルを採用

一方、ScalaとGoの明らかな相違点

・Scalaの言語仕様は巨大。Goの言語仕様は現時点では小さい　=&#62; コンパイル時間についてはGoの圧勝(実行速度は最適化されたJavaVM上のScalaが速い場合もあろう)

※JVMかネイティブかはさておく。小飼氏ではないが、ネイティブScalaの可能性だってある。
Goの方の利点は２つだけであるが、これはGoがCに近しい低レベルな言語であることによる。RubyがCで実装されたように、Goの上でGoと親和的なスクリプト言語が出てくるのも遠くないことと思われる。
そうなると、2010年代の新主流言語をめぐる争いの中で、注目株のひとつが、
Scala v.s. (Go+(新)スクリプト言語)
というものになる可能性がある(あくまで仮説)。
もしかすると、この２言語の争いは、C,Java,C++(かろうじてC#)といったメジャー言語に割ってはいる最後の新言語をめぐる争いとなるかもしれない
※それ以降(2020年以降？)にくる「新言語」は、もはやアルファベットと記号で表記するプログラミング言語でないのかもしれない。
※個人的には、(新)スクリプト言語の座は、clojureであってほしいと思っているのだが、、実際には、PHPやRuby、あるいはそれらの新種がその位置を占めるのかもしれない。
----------
この仮説はさておき、Goの登場は、本格的な並列処理対応を打ち出した新型の手続き型言語の登場ということで、並列処理対応といえば、関数型言語Erlang,Scala,Clojure・・・という流れを変えるきっかけになるのかもしれない。
これは、かつての総合格闘技をグレーシー一族が関節技・寝技で席巻していた中で、グレーシーを打撃で打ち破った猛者が出たことで、打撃系が一気に見直されたようなもの・・か？(少なくとも、関数型言語には、関節技的なマニアックさがあるのは事実 ^^)
とここで、気がつくのは、数ある関数型言語の中で、唯一Scalaだけが、手続き型プログラミングも普通にかけるハイブリット言語であることを打ち出していることだ。
(実際、codezine記事のパテントビューロ社も手続き型言語の経験者のみが集まり、Scalaで実システムを作り上げている)
すなわち、Goの登場により、新世代の並列処理もやはり手続き型プログラミング・スタイルが主流となったとしても、Scalaは十分生き残っていくポテンシャルがあるのだ。
※言語仕様は巨大だが、現時点でも実行速度は相当速い
再び述べるが、やはり、「現存の言語では最も美少女な Scala」(小飼弾言を日々Scalaを使っている身から一部修正。現時点のScalaは大人の女性ではなく女子高校生レベルの成長途上にある)なのだ。
Scalaと、センセーショナルにデビューしたGo[golangのMLは１日で1000人近い参加者という押すな押すな状態]との関係、今後が楽しみである。
ということで、私は、昼はScala、夜はGoをいじる毎日でいこうと思う(Goについてはgoroutineはさておいて、斬新と思われるinterfaceを押さえたい)。
さて、元Scaka入門記事に一点だけつっこみ
６ページ目「Arrayは直接にAnyをデータ要素として持つことはできないようです(注４)」
少しミスリーディングな記述である(Genericや型パラメータの解説前なので仕方ないが)。Scalaの利点は静的な型づけにある。故に、入門記事であっても型の話は慎重に書かなければならない。
ので、勝手に補充
例えば、mapをもちいたArrayでは、ANY型を持つことができる(持ってしまう)
val anyarr =
   Array.range(1,101).map { n =&#62; n match{
            case _ if (n%15 == 0) =&#62; " FizzBuzz "
            case _ [...]]]></description>
			<content:encoded><![CDATA[<p>Scala入門　勝手流追記　その２。元記事が大上段なので、こちらも大上段に。</p>
<p>Scalaで実サービスをリリースしている著者らの<a href="http://codezine.jp/article/detail/4475">Javaの限界を超えて実用化を目指す新開発言語「Scala」のメリットとは～前編</a>(codezine誌)</p>
<p>今回は、codezine、１位と２位の記事がScalaとGoであること(11/12時点)にちなんで両者を比較しつつ、元記事に一点だけ突っ込む。</p>
<p><img class="alignnone size-full wp-image-436" title="ランキング" src="http://wordprogress.org/wp2045/wp-content/uploads/2009/11/ランキング.jpg" alt="ランキング" width="308" height="202" /></p>
<pre style="margin-top: 0px; margin-right: 1em; margin-bottom: 0px; margin-left: 1em; background-color: #c8c8f8; white-space: pre-wrap; word-wrap: break-word; padding: 1ex; border: 1px solid #707b8d;"><strong>[追記@昼間]</strong>
以下、熱が下がった直後の明け方に書いたんで、いろいろ記載が粗いので、前提条件・抜け落ち等を補充。
<strong>◇プログラミング言語比較の前提は<a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html">Tiobeのランキング</a>のような検索エンジンベースのランキング。</strong>
　当然、書籍ベースのランキングや「魂」のランキングは十分に加味されていない・・・のはさておき、そもそも検索エンジンという仕組みへの信頼性が落ちている(少なくとも不況下の幻滅期にある)と思われるので、プログラミング言語の流行り廃りの議論に、こうしたランキングが良いかは、不明(といっても、Tiobeランキングのどの位置にGoがやってくるのか、皆興味あるだろうが)
<strong>◇Tiobeベースで話を進めているのに、メジャー言語にPHPが抜けていた。</strong>
　これはScala v.s. Goということでミドルから下を主に考えていたから。少なくとも、Goベースのwebサーバは遠からず出てくるだろうし、その上でPHPが動くだろう事も明らかなので、PHPの文字を補っておいた。そもそもこのサイトもWordPress。いや速度面はさておき、良く出来ている。
<strong>◇そして、何より、議論のベースに静的片付け言語万歳。C系構文は永遠に不滅です、って言うのがあった(Goはいうまでもなく、ScalaもけっこうC系言語)。</strong>
　これは、
　　<span style="color: #808000;"><strong>「真のバカでも使えるものを設計しようとして人々がよくやるミスは、
　　　真のバカのバカさ加減を過小評価することだ」
　　　　　－－Douglas Adams
　(出典　Diomisid Spinellis著　</strong></span><em><span style="color: #808000;"><strong>『コード・リーディング』</strong></span></em><span style="color: #808000;"><strong>, p65)</strong></span>
　という警句を、コンパイル時に真にバカなミスをしまくっている自分なりに重く受け入れているから。システム系言語はバカの壁に大いに配慮してほしい。ともあれ、Goみたいのがでてくると、下のレイヤの本を読もうという気になる。Goはひょっとしたら泡沫言語になるのかもしれないけれど、少なくとも、Cに近いレイヤに刺激を与える貢献は達成するのでは。
<strong>[再度追記</strong>
『コード・リーディング』を開いたついでに、監訳者であるMatz氏のにっきを見ると、<a href="http://www.rubyist.net/~matz/20091113.html">Goについてのコメント</a>が。やはり、Goには、尊敬するMatz氏も気になる変態言語(というか、大胆な言語)の側面あり。コメントでのやりとりにあるとおり、実装の継承(共有)まわり、プロトタイプ継承っぽいのでは・・・。「半人前の言語」あるいは「小学１年生(ただし神童)くらいの言語」だからこそ、Goと共にプログラミングを学ぶ価値はある。</pre>
<h4>＜本文＞</h4>
<p>JRuby/Jythonなどスクリプト言語由来の言語と異なり、Javaと同様の静的コンパイル言語であるScalaは、Javaバーチャルマシンの主流言語の座をめぐり、本家Javaに挑む挑戦者に位置づけられる。</p>
<p>その試みが成就するのは、早くとも数年後であろうが、Javaの袋小路を打ち破る方向性をScalaは示したといえる。</p>
<h3>Javaに対するScalaの利点は、以下の３つであろう。</h3>
<ul>
<li>不変性(val)の上手な導入による容易な並列処理プログラミング　※メモリリーク等を防ぐガベージコレクションの仕組みあり</li>
<li>簡潔な表記と型を含めたカスタマイズを可能とする言語内言語(DSL)構築能力　※タイプセーフなスタイルを採用</li>
<li>スクリプトに近い簡潔な記述(関数型言語の型推論などに由来)</li>
</ul>
<p>-----------</p>
<p>と書いたところで、これらの特性はただいま祭り中のグーグルの新プログラミング言語Goの特性とかぶることに気がつく。</p>
<h3>C言語に対するGo言語の利点(私見)</h3>
<ul>
<li>・goroutine等による容易な並列処理プログラミング　※メモリリーク等を防ぐガベージコレクションの仕組みあり</li>
<li>・interface機能による言語拡張構能力(C++のtemplateに近いもの、か)　※タイプセーフなスタイルを採用</li>
</ul>
<p>一方、ScalaとGoの明らかな相違点</p>
<ul>
<li>・Scalaの言語仕様は巨大。Goの言語仕様は現時点では小さい　=&gt; コンパイル時間についてはGoの圧勝(実行速度は最適化されたJavaVM上のScalaが速い場合もあろう)</li>
</ul>
<p>※JVMかネイティブかはさておく。小飼氏ではないが、ネイティブScalaの可能性だってある。</p>
<p>Goの方の利点は２つだけであるが、これはGoがCに近しい低レベルな言語であることによる。RubyがCで実装されたように、Goの上でGoと親和的なスクリプト言語が出てくるのも遠くないことと思われる。</p>
<p>そうなると、2010年代の新主流言語をめぐる争いの中で、注目株のひとつが、</p>
<h2><span style="color: #ff0000;">Scala v.s. (Go+(新)スクリプト言語)</span></h2>
<p>というものになる可能性がある(あくまで仮説)。</p>
<p>もしかすると、この２言語の争いは、C,Java,C++(かろうじてC#)といった<span style="color: #ff0000;">メジャー言語に割ってはいる最後の新言語をめぐる争いとなるかも</span>しれない</p>
<p>※それ以降(2020年以降？)にくる「新言語」は、もはやアルファベットと記号で表記するプログラミング言語でないのかもしれない。</p>
<p>※個人的には、(新)スクリプト言語の座は、clojureであってほしいと思っているのだが、、実際には、PHPやRuby、あるいはそれらの新種がその位置を占めるのかもしれない。</p>
<p>----------</p>
<p>この仮説はさておき、Goの登場は、本格的な並列処理対応を打ち出した新型の手続き型言語の登場ということで、並列処理対応といえば、関数型言語Erlang,Scala,Clojure・・・という流れを変えるきっかけになるのかもしれない。</p>
<p>これは、かつての総合格闘技をグレーシー一族が関節技・寝技で席巻していた中で、グレーシーを打撃で打ち破った猛者が出たことで、打撃系が一気に見直されたようなもの・・か？(少なくとも、関数型言語には、関節技的なマニアックさがあるのは事実 ^^)</p>
<p>とここで、気がつくのは、数ある関数型言語の中で、唯一Scalaだけが、手続き型プログラミングも普通にかけるハイブリット言語であることを打ち出していることだ。<br />
(実際、codezine記事のパテントビューロ社も手続き型言語の経験者のみが集まり、Scalaで実システムを作り上げている)</p>
<p>すなわち、Goの登場により、新世代の並列処理もやはり手続き型プログラミング・スタイルが主流となったとしても、Scalaは十分生き残っていくポテンシャルがあるのだ。</p>
<p>※言語仕様は巨大だが、現時点でも実行速度は相当速い</p>
<p>再び述べるが、やはり、「現存の言語では最も美少女な Scala」(<a href="http://blog.livedoor.jp/dankogai/archives/51275491.html">小飼弾言</a>を日々Scalaを使っている身から一部修正。<em>現時点のScalaは大人の女性ではなく女子高校生レベルの成長途上にある</em>)なのだ。</p>
<p>Scalaと、センセーショナルにデビューしたGo[golangのMLは１日で1000人近い参加者という押すな押すな状態]との関係、今後が楽しみである。</p>
<p>ということで、私は、昼はScala、夜はGoをいじる毎日でいこうと思う(Goについてはgoroutineはさておいて、斬新と思われるinterfaceを押さえたい)。</p>
<p>さて、元Scaka入門記事に一点だけつっこみ</p>
<p><a href="http://codezine.jp/article/detail/4475?p=6">６ページ目</a>「Arrayは直接にAnyをデータ要素として持つことはできないようです(注４)」</p>
<p>少しミスリーディングな記述である(Genericや型パラメータの解説前なので仕方ないが)。Scalaの利点は静的な型づけにある。故に、入門記事であっても型の話は慎重に書かなければならない。</p>
<p>ので、勝手に補充</p>
<p>例えば、mapをもちいたArrayでは、ANY型を持つことができる(持ってしまう)</p>
<pre class="brush:scala">val anyarr =
   Array.range(1,101).map { n =&gt; n match{
            case _ if (n%15 == 0) =&gt; " FizzBuzz "
            case _ if (n%3 == 0) =&gt;"Fizz "
            case _ if (n%5 == 0) =&gt; "Buzz "
            case _ =&gt;  n
      }
   }</pre>
<p>※この例は、以前書いた<a href="http://wordprogress.org/archives/208">関数型FizzBuzz</a>のArray版<br />
実行してみる :</p>
<pre style="margin-left: 1em; margin-right: 1em; background-color: #f8f8f8; white-space: pre-wrap; word-wrap: break-word; padding: 1ex; border: 1px solid #707b8d;">scala&gt; val anyarr =
Array.range(1,101).map { n =&gt; n match{
            case _ if (n%15 == 0) =&gt; " FizzBuzz "
            case _ if (n%3 == 0) =&gt;"Fizz "
            case _ if (n%5 == 0) =&gt; "Buzz "
            case _ =&gt;  n
      }
}
anyarr: Array[Any] = Array(1, 2, Fizz , 4, Buzz , Fizz , 7, 8, Fizz , Buzz , 11, Fizz , 13, 14,  FizzBuzz , 16, 17, Fizz
 , 19, Buzz , Fizz , 22, 23, Fizz , Buzz , 26, Fizz , 28, 29,  FizzBuzz , 31, 32, Fizz , 34, Buzz , Fizz , 37, 38, Fizz
, Buzz , 41, Fizz , 43, 44,  FizzBuzz , 46, 47, Fizz , 49, Buzz , Fizz , 52, 53, Fizz , Buzz , 56, Fizz , 58, 59,  FizzB
uzz , 61, 62, Fizz , 64, Bu...</pre>
<p>ちなみに、タイプセーフなプログラミングができるScalaではAnyとなったArrayからIntやStringなど任意の型を抜き出すことができる。</p>
<pre style="margin-left: 1em; margin-right: 1em; background-color: #f8f8f8; white-space: pre-wrap; word-wrap: break-word; padding: 1ex; border: 1px solid #707b8d;">scala&gt; anyarr.filter(_.isInstanceOf [Int]).map (_.asInstanceOf[Int]) res51: Array[Int] = Array(1, 2, 4, 7, 8, 11, 13, 14, 16, 17, 19, 22, 23, 26, 28, 29, 31, 32, 34, 37, 38, 41, 43, 44, 46,  47, 49, 52, 53, 56, 58, 59, 61, 62, 64, 67, 68, 71, 73, 74, 76, 77, 79, 82, 83, 86, 88, 89, 91, 92, 94, 97, 98)
scala&gt; anyarr.filter(_.isInstanceOf [String]).map (_.asInstanceOf[String]) res52: Array[String] = Array(Fizz , Buzz , Fizz , Fizz , Buzz , Fizz ,  FizzBuzz , Fizz , Buzz , Fizz , Fizz , Buzz , Fi zz ,  FizzBuzz , Fizz , Buzz , Fizz , Fizz , Buzz , Fizz ,  FizzBuzz , Fizz , Buzz , Fizz , Fizz , Buzz , Fizz ,  FizzBu zz , Fizz , Buzz , Fizz , Fizz , Buzz , Fizz ,  FizzBuzz , Fizz , Buzz , Fizz , Fizz , Buzz , Fizz ,  FizzBuzz , Fizz , Buzz , Fizz , Fizz , Buzz )</pre>
<p>===========================</p>
<p>[追記]　Scala以外の関数型言語が好きな方へ(というか、Scalaは関数型言語でないと思っている方へ)。</p>
<p>何を隠そう私は<span style="text-decoration: line-through;">長門</span>clojure萌えである。実際、Scalaのように全方位外交巨大仕様でなく、小さな言語仕様で手になじむ言語・萌える言語ならば、それで良いではないか。</p>
<p>いつの日か、<span style="text-decoration: line-through;">長門</span>clojureと日がな暮らす日が来ることをひそかに私も願っている。</p>
<p>なぜ、clojureが長門かは<a href="http://wordprogress.org/archives/119">ここ</a>を見てほしい・・・。<span style="color: #ff0000;">ぁ、真面目にclojureを知りたい方は、RubyのMatz氏のエントリにヒントを得た</span><a href="http://wordprogress.org/archives/458">こちら</a><span style="color: #ff0000;">をどうぞ</span>(はてぶ経由でいろいろな方が訪れてくれているっぽいので、あわてて追記)。</p>
]]></content:encoded>
			<wfw:commentRss>http://wordprogress.org/archives/435/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Scalaから見たClojure　その３　Heskellのgroup移植祭り</title>
		<link>http://wordprogress.org/archives/366</link>
		<comments>http://wordprogress.org/archives/366#comments</comments>
		<pubDate>Tue, 10 Nov 2009 14:34:02 +0000</pubDate>
		<dc:creator>アルケー</dc:creator>
				<category><![CDATA[Scala]]></category>
		<category><![CDATA[clojure]]></category>

		<guid isPermaLink="false">http://wordprogress.org/?p=366</guid>
		<description><![CDATA[こんな投稿が、Clojure-MLでちょっとした祭りを起こしている。
Does Clojure have a function like Haskell&#8217;s group?
In Haskell,
Input: group [1,2,2,1,1,1,2,2,2,1]
Output: [[1],[2,2],[1,1,1],[2,2,2],[1]]
Thanks
そのなの、partition-by関数一発だろと、
(use &#8216;clojure.contrib.seq-utils)
(partition-by identity [1 2 2 1 1 1 2 2 2 1])
=&#62; ((1) (2 2) (1 1 1) (2 2 2) (1))
という突込みが入った後、
そんなgroupメソッドくらい、自分で作ろうぜと、皆で、いろいろとラムダラムダ(clojureにlambdaは出てこないが・・)。さすがLispers。。
Scalaなら・・・こうかな。

def group (L:List[Any]) = {
    def g1 (L:List[Any],temp :List[List[Any]]) : List[List[Any]]= {
        [...]]]></description>
			<content:encoded><![CDATA[<p>こんな投稿が、<a href="http://groups.google.com/group/clojure/browse_thread/thread/4e5d2c831bcfc048?hl=en">Clojure-MLでちょっとした祭り</a>を起こしている。</p>
<blockquote><p>Does Clojure have a function like Haskell&#8217;s group?<br />
In Haskell,<br />
Input: group [1,2,2,1,1,1,2,2,2,1]<br />
Output: [[1],[2,2],[1,1,1],[2,2,2],[1]]<br />
Thanks</p></blockquote>
<blockquote><p>そのなの、partition-by関数一発だろと、<br />
(use &#8216;clojure.contrib.seq-utils)<br />
(partition-by identity [1 2 2 1 1 1 2 2 2 1])<br />
=&gt; ((1) (2 2) (1 1 1) (2 2 2) (1))</p></blockquote>
<p>という突込みが入った後、<br />
そんなgroupメソッドくらい、自分で作ろうぜと、皆で、いろいろとラムダラムダ(clojureにlambdaは出てこないが・・)。さすがLispers。。</p>
<p>Scalaなら・・・こうかな。</p>
<pre class="brush:scala">
def group (L:List[Any]) = {
    def g1 (L:List[Any],temp :List[List[Any]]) : List[List[Any]]= {
        if (L isEmpty) temp
        else {
            if (L.head == temp.head.head) g1 (L.tail,(L.head::temp.head) :: temp.tail)
            else  g1(L.tail, (List(L.head)) ::temp)
        }
    }
    g1(L.tail, List[List[Any]](List(L.head)))
}</pre>
<pre style="margin-top: 0px; margin-right: 1em; margin-bottom: 0px; margin-left: 1em; background-color: #f8f8f8; white-space: pre-wrap; word-wrap: break-word; padding: 1ex; border: 1px solid #707b8d;">scala&gt;  group(List(1,2,2,3,3,3,4))
res1: List[List[Any]] = List(List(4), List(3, 3, 3), List(2, 2), List(1))

Anyにしておいたので、こうもできる。

scala> group(List("A","b","b",1,1,2,2,3,"J"))
res16: List[List[Any]] = List(List(J), List(3), List(2, 2), List(1, 1), List(b, b), List(A))
</pre>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
[[ 追記 ]]<br />
kmizushima氏から、foldLeftを使ったgroupをつっこんでもらったので、整形表示: </p>
<pre class="brush:scala">
def group[T](list: List[T]): List[List[T]] = {
    list match {
        case Nil => Nil
        case hd::tl =>
        tl.foldLeft(List(List(hd))){(r, b) =>
            val (a::as) = r
            if(b == a.head) (b::a)::as else List(b)::r
        }.reverse
    }
}
</pre>
<p>Thanks, kmizushimaさん。</p>
]]></content:encoded>
			<wfw:commentRss>http://wordprogress.org/archives/366/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Scalaから見たClojure　その２　congomongo</title>
		<link>http://wordprogress.org/archives/337</link>
		<comments>http://wordprogress.org/archives/337#comments</comments>
		<pubDate>Mon, 09 Nov 2009 13:40:11 +0000</pubDate>
		<dc:creator>アルケー</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[clojure]]></category>
		<category><![CDATA[congomongo]]></category>
		<category><![CDATA[mongodb]]></category>
		<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://wordprogress.org/?p=337</guid>
		<description><![CDATA[Scalaの欠点をあえてあげるとすれば、言語仕様が大きすぎるところ。
Scalaを使っている時、たいていは、便利・快適。なんだけれど、JSONのようにlight-weightなターゲットを扱う時には、「牛刀をもって鶏を割く(古)」・「馬から落ちて落馬した」的な、大げさ感・冗長感を感じることも。
この点、オブジェクト指向言語で「ない」ことを明言しているClojureは、JSONのようなものと相性が良さげ(これは、ClojureがListに限らずさまざまなデータ構造を扱うのを、Scalaに負けないくらい得意であることにもよる）。
ということで、JSON(BSON)ベースの文書指向データベースmongodbのclojure対応の試み、前々から興味深く思っていたんだけれど、githubにプロジェクトを立ててくれたみたい。
昨日立ったばかりのプロジェクトなんだけれど、例がけっこう充実している！
◇１件のデータのインサート 「私はrobbyという名前のロボットです」
１件のデータのインサート 「私はrobbyという名前のロボットです」
(insert! :robots
         {:name "robby"}
◇一括インサート！ 10,000件まとめて・・のはず
(mass-insert!
  :points
  (for [x (range 100) y (range 100)]
    {:x x
     :y y
     :z (* x y)})) 

 =&#62;  nil

(fetch-count :points)
=&#62; 100000

mongodbはScalaからさわったんだけれど、正直clojureからの方が感触よさげ。
]]></description>
			<content:encoded><![CDATA[<p>Scalaの欠点をあえてあげるとすれば、言語仕様が大きすぎるところ。</p>
<p>Scalaを使っている時、たいていは、便利・快適。なんだけれど、JSONのようにlight-weightなターゲットを扱う時には、「<a href="http://www.kokin.rr-livelife.net/koto/koto_ki/koto_ki_4.html">牛刀をもって鶏を割く</a>(古)」・「馬から落ちて落馬した」的な、大げさ感・冗長感を感じることも。</p>
<p>この点、オブジェクト指向言語で「ない」ことを明言しているClojureは、JSONのようなものと相性が良さげ(これは、ClojureがListに限らずさまざまなデータ構造を扱うのを、Scalaに負けないくらい得意であることにもよる）。</p>
<p>ということで、JSON(BSON)ベースの文書指向データベース<a href="http://www.mongodb.org/display/DOCS/Home">mongodb</a>のclojure対応の試み、前々から興味深く思っていたんだけれど、<a href="http://github.com/somnium/congomongo">githubにプロジェクトを立ててくれた</a>みたい。</p>
<p>昨日立ったばかりのプロジェクトなんだけれど、例がけっこう充実している！</p>
<h3>◇１件のデータのインサート 「私はrobbyという名前のロボットです」</h3>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 100px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">１件のデータのインサート 「私はrobbyという名前のロボットです」</div>
<pre style="margin-top: 1em !important; margin-right: 0px !important; margin-bottom: 1em !important; margin-left: 0px !important; font: normal normal normal 115%/normal Monaco, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; line-height: 1.5em !important; font-size: 12px; background-color: #f8f8ff !important; color: #444444 !important; overflow-x: auto !important; overflow-y: auto !important; padding: 0.5em !important; border: 1px !important solid !important #dedede !important;"><code style="font: normal normal normal 115%/normal Monaco, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; line-height: 1.4em; font-size: 12px; background-color: #f8f8ff !important; color: #444444 !important; padding: 0px !important; margin: 0px; border: 1px !important none !important #dedede !important;">(insert! :robots
         {:name "robby"}</code></pre>
<h3><span style="line-height: 16px;">◇一括インサート！ 10,000件まとめて・・のはず</span></h3>
<pre style="margin-top: 1em !important; margin-right: 0px !important; margin-bottom: 1em !important; margin-left: 0px !important; font: normal normal normal 115%/normal Monaco, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; line-height: 1.5em !important; font-size: 12px; background-color: #f8f8ff !important; color: #444444 !important; overflow-x: auto !important; overflow-y: auto !important; padding: 0.5em !important; border: 1px !important solid !important #dedede !important;"><code style="font: normal normal normal 115%/normal Monaco, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; line-height: 1.4em; font-size: 12px; background-color: #f8f8ff !important; color: #444444 !important; padding: 0px !important; margin: 0px; border: 1px !important none !important #dedede !important;">(mass-insert!
  :points
  (for [x (range 100) y (range 100)]
    {:x x
     :y y
     :z (* x y)})) 

 =&gt;  nil

(fetch-count :points)
=&gt; 100000
</code></pre>
<p>mongodbはScalaからさわったんだけれど、正直clojureからの方が感触よさげ。</p>
]]></content:encoded>
			<wfw:commentRss>http://wordprogress.org/archives/337/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clojureから見たScala　その１　メモ化なフィボナッチ数列の紹介</title>
		<link>http://wordprogress.org/archives/314</link>
		<comments>http://wordprogress.org/archives/314#comments</comments>
		<pubDate>Sat, 07 Nov 2009 21:31:34 +0000</pubDate>
		<dc:creator>アルケー</dc:creator>
				<category><![CDATA[Scala]]></category>
		<category><![CDATA[clojure]]></category>
		<category><![CDATA[長門有希]]></category>

		<guid isPermaLink="false">http://wordprogress.org/?p=314</guid>
		<description><![CDATA[clojure-clrの近況を見てClojure萌え再発ついでに。
後発のClojureの側からScalaを見るのが利にかなっていると思ったので、Scalaから見たClojure、改め、今後は 長門有希が観測する涼宮ハルヒClojureから見たScalaでいこうと思い立つ。ということで、ちょっと前にScalaで見たフィボナッチ数列をClojureで。・・・と思ったら、本家にきれいなメモ化の実装が既に本家に置いてありますね。
atomsでフィボナッチ数列@本家clojureサイト

clojureでは、mutableなデータを明示的に扱う。メモ化するデータを、(atom {})にいれていくのがポイント。STMを含め、clojureのmutableなデータの扱いはセンスが良い(clojureのSTMの概要については、InfoQ記事)。
ベンチマークまでつけてくれている。単純な再帰に比べメモ化版の実行速度は10,000倍以上

自分が半分寝ながら書いたScala版メモ化より、ぜんぜんきれい(というか、シンプルな言語系同士の比較ということで、dan氏のJavaScriptでメモ化の実装と見比べるのがいいかも[再び紹介、「フィボナッチ数列にO()を学ぶ」)。もちろん、Scalaだってやればできる子(というか、できすぎる子)なので、ちゃんとしたフィボナッチ実装はいくつも転がっているが。
※ついでに、ScalaでSTM/better Actor実装のプロジェクトも絶賛活動中 =&#62; 並列処理に興味ある人は、Scala界最強のハッカーの一人であろう、jboner氏のakka を心して観察せよ。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://wordprogress.org/archives/312">clojure-clrの近況</a>を見てClojure萌え再発ついでに。</p>
<p>後発のClojureの側からScalaを見るのが利にかなっていると思ったので、Scalaから見たClojure、改め、今後は <span style="text-decoration: line-through;">長門有希が観測する涼宮ハルヒ</span>Clojureから見たScalaでいこうと思い立つ。ということで、<a href="http://wordprogress.org/archives/278">ちょっと前にScalaで見たフィボナッチ数列</a>をClojureで。・・・と思ったら、本家にきれいなメモ化の実装が既に本家に置いてありますね。</p>
<p><a href="http://clojure.org/atoms">atomsでフィボナッチ数列@本家clojureサイト</a></p>
<ul>
<li>clojureでは、mutableなデータを明示的に扱う。メモ化するデータを、(atom {})にいれていくのがポイント。STMを含め、clojureのmutableなデータの扱いはセンスが良い(clojureのSTMの概要については、<a href="http://www.infoq.com/jp/news/2009/02/clojure-interview-halloway">InfoQ記事</a>)。</li>
<li>ベンチマークまでつけてくれている。単純な再帰に比べメモ化版の実行速度は10,000倍以上</li>
</ul>
<p>自分が半分寝ながら書いたScala版メモ化より、ぜんぜんきれい(というか、シンプルな言語系同士の比較ということで、dan氏のJavaScriptでメモ化の実装と見比べるのがいいかも[再び紹介、「<a href="http://blog.livedoor.jp/dankogai/archives/50958771.html">フィボナッチ数列にO()を学ぶ</a>」)。もちろん、Scalaだってやればできる子(というか、できすぎる子)なので、ちゃんとしたフィボナッチ実装はいくつも転がっているが。</p>
<p><em>※ついでに、S<span style="color: #800000;">calaでSTM/better Actor実装のプロジェクトも絶賛活動中</span> =&gt; 並列処理に興味ある人は、Scala界最強のハッカーの一人であろう、jboner氏の</em><em><a href="http://github.com/jboner/akka">akka</a> を</em><em>心して観察せよ。</em></p>
]]></content:encoded>
			<wfw:commentRss>http://wordprogress.org/archives/314/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>clojure-clrの現況</title>
		<link>http://wordprogress.org/archives/312</link>
		<comments>http://wordprogress.org/archives/312#comments</comments>
		<pubDate>Sat, 07 Nov 2009 21:10:01 +0000</pubDate>
		<dc:creator>アルケー</dc:creator>
				<category><![CDATA[Mono]]></category>
		<category><![CDATA[clojure]]></category>

		<guid isPermaLink="false">http://wordprogress.org/?p=312</guid>
		<description><![CDATA[clojure-clr開発wiki(2009.10.31更新版)を見てみた。JVM版clojureの約97%のcore機能を実現・・的な期待できる文言を見つけた。また、mono環境対応の意図も。
.NET/mono環境iPhone開発環境への進出・moonlightへの注力(他方でWPFを捨て去る) などmonoコミュニティの十分賢い振る舞いも加味して考えるに、JVMにもCLRにもちゃんともっていけるような言語系は魅力がある(まぁ、その意味では、既にRubyがありますが 。IronRubyは現時点でも相当完成度が高そう)。
ちなみに、Scalaのclrアセンブリへのコンパイル機能というものもあり、そこそこ動作している。が、とても安心して使える漢字ではない(実装が大きいScalaで、ライブラリまで含めたテストをするのは相当骨だろうし)。対して、clojure-clrの実装は、組織だって動いてくれている感じで期待できる。
とにかく、小さな身体(JVM版では1MB強のjarひとつに収まっている)のclojure、やっぱり今後が楽しみだ。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://wiki.github.com/richhickey/clojure-clr">clojure-clr開発wiki</a>(2009.10.31更新版)を見てみた。JVM版clojureの約97%のcore機能を実現・・的な期待できる文言を見つけた。また、mono環境対応の意図も。</p>
<p>.NET/mono環境iPhone開発環境への進出・moonlightへの注力(他方でWPFを捨て去る) などmonoコミュニティの十分賢い振る舞いも加味して考えるに、JVMにもCLRにもちゃんともっていけるような言語系は魅力がある<em>(まぁ、その意味では、既にRubyがありますが 。IronRubyは現時点でも相当完成度が高そう)</em>。</p>
<p>ちなみに、Scalaのclrアセンブリへのコンパイル機能というものもあり、そこそこ動作している。が、とても安心して使える漢字ではない(実装が大きいScalaで、ライブラリまで含めたテストをするのは相当骨だろうし)。対して、clojure-clrの実装は、組織だって動いてくれている感じで期待できる。</p>
<p>とにかく、小さな身体(JVM版では1MB強のjarひとつに収まっている)のclojure、やっぱり今後が楽しみだ。</p>
]]></content:encoded>
			<wfw:commentRss>http://wordprogress.org/archives/312/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>今更『トランスクリティーク』　その1　過剰生産の病理と啓蒙</title>
		<link>http://wordprogress.org/archives/230</link>
		<comments>http://wordprogress.org/archives/230#comments</comments>
		<pubDate>Thu, 05 Nov 2009 22:35:31 +0000</pubDate>
		<dc:creator>アルケー</dc:creator>
				<category><![CDATA[啓蒙]]></category>
		<category><![CDATA[文藝]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[Capitalism]]></category>
		<category><![CDATA[clojure]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[LISP]]></category>
		<category><![CDATA[Marx]]></category>
		<category><![CDATA[TransCritique]]></category>
		<category><![CDATA[柄谷行人]]></category>
		<category><![CDATA[貨幣]]></category>

		<guid isPermaLink="false">http://wordprogress.org/?p=230</guid>
		<description><![CDATA[
		<script type="text/javascript"><!--
			show_rakuten('#book11233776', 'NotFound');
		// -->
		</script>
		
		<script type="text/javascript"><!--
			show_rakuten('#book13091956', '<!-- cache --><div class="rakuten_image"><a href="http://hb.afl.rakuten.co.jp/hgc/0b16999f.c5b9c54b.0b1699a0.49a76732/?pc=http%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F5920699%2F" target="_blank"><img src="http://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/4780/47800790.jpg?_ex=128x128"><br /><p class="rakuten_logo"><!-- Rakuten Web Services Attribution Snippet FROM HERE --><a href="http://webservice.rakuten.co.jp/" target="_blank"><img src="http://webservice.rakuten.co.jp/img/credit/200709/credit_4936.gif" border="0" alt="楽天ウェブサービスセンター" title="楽天ウェブサービスセンター" width="49" height="36"/></a><!-- Rakuten Web Services Attribution Snippet TO HERE --></p><font class="rakuten_warn"><a href="#" class="tooltip">[ご利用にあたって]<span>このサイトで掲載されている情報は、「Go towards a Word-Progress」の作成者により運営されています。価格、販売可能情報は、変更される場合があります。購入時に楽天市場店舗（www.rakuten.co.jp）に表示されている価格が、その商品の販売に適用されます。</span></a></font></div><div class="rakuten_info"><p class="rakuten_itemname"><a href="http://hb.afl.rakuten.co.jp/hgc/0b16999f.c5b9c54b.0b1699a0.49a76732/?pc=http%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F5920699%2F" target="_blank">2009年資本主義大崩壊！</a></p><p class="rakuten_caption">商品副データいよいよ断末魔の最終章が始まった船井幸雄ダイヤモンド社この著者の新着メールを登録する発行年月：2008年12月登録情報サイズ：単行本ページ数：273pISBN:9784478007907エゴ優先の資本主義が、いよいよ断末魔の苦しみにあえぎ始める！　予測の名人・船井幸雄が経済の先行きを明らかにし、日本人の生き方に確固たる指針を与える。株価暴落、超円高、失業増、企業倒産、食糧危機…「エゴ」優先の資本主義が2009年にいよいよ断末魔の苦しみにあえぎ始め、未曾有の窮地がやって来る！これから経済はどうな……</p><p><em>販売価格：</em> 1575 円 <font class="rakuten_time">(10/07/30 13:58 更新)</font></p><p><em>販売店舗：</em> <a href="http://www.rakuten.co.jp/book/" target="_blank">楽天ブックス</a></p></div><!-- cache -->');
		// -->
		</script>
		
		<script type="text/javascript"><!--
			show_rakuten('#book13106672', '<!-- cache --><div class="rakuten_image"><a href="http://hb.afl.rakuten.co.jp/hgc/0b16999f.c5b9c54b.0b1699a0.49a76732/?pc=http%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F5945456%2F" target="_blank"><img src="http://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9013/90131880.jpg?_ex=128x128"><br /><p class="rakuten_logo"><!-- Rakuten Web Services Attribution Snippet FROM HERE --><a href="http://webservice.rakuten.co.jp/" target="_blank"><img src="http://webservice.rakuten.co.jp/img/credit/200709/credit_4936.gif" border="0" alt="楽天ウェブサービスセンター" title="楽天ウェブサービスセンター" width="49" height="36"/></a><!-- Rakuten Web Services Attribution Snippet TO HERE --></p><font class="rakuten_warn"><a href="#" class="tooltip">[ご利用にあたって]<span>このサイトで掲載されている情報は、「Go towards a Word-Progress」の作成者により運営されています。価格、販売可能情報は、変更される場合があります。購入時に楽天市場店舗（www.rakuten.co.jp）に表示されている価格が、その商品の販売に適用されます。</span></a></font></div><div class="rakuten_info"><p class="rakuten_itemname"><a href="http://hb.afl.rakuten.co.jp/hgc/0b16999f.c5b9c54b.0b1699a0.49a76732/?pc=http%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F5945456%2F" target="_blank">2009年断末魔の資本主義</a></p><p class="rakuten_caption">商品副データ崩壊から黎明へ光は極東の日本からラヴィ・バトラ／ペマ・ギャルポあ・うんこの著者の新着メールを登録する発行年月：2009年01月登録情報サイズ：単行本ページ数：240pISBN:9784901318808【内容情報】（「BOOK」データベースより）「共産主義の崩壊」の次に来るものは、「資本主義の崩壊」であり、「資本主義社会の終焉」なのだ。2009年5つの予測。【目次】（「BOOK」データベースより）プロローグ&amp;nbsp;的中した予測とこれからの世界／第1章&amp;nbsp;アメリカ金融……</p><p><em>販売価格：</em> 1470 円 <font class="rakuten_time">(10/07/30 13:58 更新)</font></p><p><em>販売店舗：</em> <a href="http://www.rakuten.co.jp/book/" target="_blank">楽天ブックス</a></p></div><!-- cache -->');
		// -->
		</script>
		理想の教育・啓蒙用プログラミング言語とは?　ひょっとしたらJavaScript、と私も思い始めた。思い始めた理由を非啓蒙的・大上段から書いて見る。
&#8212;
「理念・理想」は実現しない限り、常に新しい。
というわけで、柄谷行人『トランスクリティーク』(大澤真幸氏のプチ書評)を思いおこして書く。
今回の不況で、世界一を目指してきたトヨタが車を作りすぎて、コケてしまったことが示すように、資本主義には過剰生産の病理(あかん。作りすぎてしまうから、売れへんのや。)がつきもの。
で、どうするのか。20世紀末の柄谷氏は、「アソシエーション」というものに希望を託したわけだが、このアソシエーションは、19世紀のKarl Marxの頃にも、21世紀の今にもないもの(Nowhere)。
「association」は、「連合, 合同, 結合; 提携; 関連; 組合, 協会; 連想; 交際, 親密;」などに訳されるらしいのだが、柄谷氏は、相互啓蒙的なものを「アソシエーション」に込めていたのだと思う。同時に、『トランスクリティーク』では、「貨幣」についても考察がなされている(「事後的」にみると珍説の「LETS (&#8216;ω&#8217;)」はここから誕生)。
今回はただひとつ、「啓蒙」という観点からだけ述べておこう。
「アイデアの時代・知財の時代」などなど、いわゆる人的資本が脚光をあびる昨今では、 たぶん、「世渡り」と結びついた「啓蒙」が資本主義のドライブとして 不可欠になっているのではないかと。「世渡り上手になるよう啓蒙」された人々には、稼ぐ力とともに「商品」への欲望が内在されるようになる。　#単に、「稼げるようになった当初は、あれもこれも欲しくなる」ということ
「時代に即した啓蒙」は、資本主義だろうが民主党政権だろうがアソシエーションの時代だろうが求められるというわけ。ただ、広い意味の啓蒙とは、単に教科書を教え込むことではない。「差異が利潤を生む」のであり、「何らかの意味で新しい」ものを含むことが啓蒙にあっても必要条件であるためだ。
&#8212;-
さて、ここで、理想のプログラミング言語教育の話に入る。
若いプログラマは、最終的には稼がなければならない(稼ぐ手段はプログラミングでなくとも良いが)。資本主義や日本の国際競争力といった大上段から見ると、日本のプログラマが総体として稼がなければならない[チームプレイのプログラミングはそこそこdomesticな産業]。では、生産性が高く今後の世につながるプログラマを、いかに教育・啓蒙すべきか。
現時点での、私の結論は、dankogai氏とほぼ同じで、「JavaScript + Lisp系言語から入る入門コースを作るべき」。小飼氏・岸田氏の議論を見ていてそう思った。
古い人間である私は、BASICを経て、C+アセンブラから入ったので、入門はCからという思いも捨てきれないのだけれども。
(読者想定　中学生～大学教養課程の学生くらい)
 ただ、小飼氏と違うところは、たとえ「よっこらセックス」であるとしても、バーチャルマシン環境は早いうちに教育したほうがいいと思っているので、中学生はJavaScript、高校生になったらclojureみたいな啓蒙書を書きたいなと思う今日この頃。もちろん職業人はHaskellScalaで。
けっこうまじめに考えているので、続く。


※「資本主義がもうだめ」とかの本は、啓蒙のことをどう述べているのだろうか・・・指令 : 資本主義の精神棒を少佐に注入せよ。
Now Loading...
Now Loading...
Now Loading...




]]></description>
			<content:encoded><![CDATA[
		<script type="text/javascript"><!--
			show_rakuten('#book11233776', 'NotFound');
		// -->
		</script>
		
		<script type="text/javascript"><!--
			show_rakuten('#book13091956', '<!-- cache --><div class="rakuten_image"><a href="http://hb.afl.rakuten.co.jp/hgc/0b16999f.c5b9c54b.0b1699a0.49a76732/?pc=http%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F5920699%2F" target="_blank"><img src="http://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/4780/47800790.jpg?_ex=128x128"><br /><p class="rakuten_logo"><!-- Rakuten Web Services Attribution Snippet FROM HERE --><a href="http://webservice.rakuten.co.jp/" target="_blank"><img src="http://webservice.rakuten.co.jp/img/credit/200709/credit_4936.gif" border="0" alt="楽天ウェブサービスセンター" title="楽天ウェブサービスセンター" width="49" height="36"/></a><!-- Rakuten Web Services Attribution Snippet TO HERE --></p><font class="rakuten_warn"><a href="#" class="tooltip">[ご利用にあたって]<span>このサイトで掲載されている情報は、「Go towards a Word-Progress」の作成者により運営されています。価格、販売可能情報は、変更される場合があります。購入時に楽天市場店舗（www.rakuten.co.jp）に表示されている価格が、その商品の販売に適用されます。</span></a></font></div><div class="rakuten_info"><p class="rakuten_itemname"><a href="http://hb.afl.rakuten.co.jp/hgc/0b16999f.c5b9c54b.0b1699a0.49a76732/?pc=http%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F5920699%2F" target="_blank">2009年資本主義大崩壊！</a></p><p class="rakuten_caption">商品副データいよいよ断末魔の最終章が始まった船井幸雄ダイヤモンド社この著者の新着メールを登録する発行年月：2008年12月登録情報サイズ：単行本ページ数：273pISBN:9784478007907エゴ優先の資本主義が、いよいよ断末魔の苦しみにあえぎ始める！　予測の名人・船井幸雄が経済の先行きを明らかにし、日本人の生き方に確固たる指針を与える。株価暴落、超円高、失業増、企業倒産、食糧危機…「エゴ」優先の資本主義が2009年にいよいよ断末魔の苦しみにあえぎ始め、未曾有の窮地がやって来る！これから経済はどうな……</p><p><em>販売価格：</em> 1575 円 <font class="rakuten_time">(10/07/30 13:58 更新)</font></p><p><em>販売店舗：</em> <a href="http://www.rakuten.co.jp/book/" target="_blank">楽天ブックス</a></p></div><!-- cache -->');
		// -->
		</script>
		
		<script type="text/javascript"><!--
			show_rakuten('#book13106672', '<!-- cache --><div class="rakuten_image"><a href="http://hb.afl.rakuten.co.jp/hgc/0b16999f.c5b9c54b.0b1699a0.49a76732/?pc=http%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F5945456%2F" target="_blank"><img src="http://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9013/90131880.jpg?_ex=128x128"><br /><p class="rakuten_logo"><!-- Rakuten Web Services Attribution Snippet FROM HERE --><a href="http://webservice.rakuten.co.jp/" target="_blank"><img src="http://webservice.rakuten.co.jp/img/credit/200709/credit_4936.gif" border="0" alt="楽天ウェブサービスセンター" title="楽天ウェブサービスセンター" width="49" height="36"/></a><!-- Rakuten Web Services Attribution Snippet TO HERE --></p><font class="rakuten_warn"><a href="#" class="tooltip">[ご利用にあたって]<span>このサイトで掲載されている情報は、「Go towards a Word-Progress」の作成者により運営されています。価格、販売可能情報は、変更される場合があります。購入時に楽天市場店舗（www.rakuten.co.jp）に表示されている価格が、その商品の販売に適用されます。</span></a></font></div><div class="rakuten_info"><p class="rakuten_itemname"><a href="http://hb.afl.rakuten.co.jp/hgc/0b16999f.c5b9c54b.0b1699a0.49a76732/?pc=http%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F5945456%2F" target="_blank">2009年断末魔の資本主義</a></p><p class="rakuten_caption">商品副データ崩壊から黎明へ光は極東の日本からラヴィ・バトラ／ペマ・ギャルポあ・うんこの著者の新着メールを登録する発行年月：2009年01月登録情報サイズ：単行本ページ数：240pISBN:9784901318808【内容情報】（「BOOK」データベースより）「共産主義の崩壊」の次に来るものは、「資本主義の崩壊」であり、「資本主義社会の終焉」なのだ。2009年5つの予測。【目次】（「BOOK」データベースより）プロローグ&amp;nbsp;的中した予測とこれからの世界／第1章&amp;nbsp;アメリカ金融……</p><p><em>販売価格：</em> 1470 円 <font class="rakuten_time">(10/07/30 13:58 更新)</font></p><p><em>販売店舗：</em> <a href="http://www.rakuten.co.jp/book/" target="_blank">楽天ブックス</a></p></div><!-- cache -->');
		// -->
		</script>
		<p>理想の教育・啓蒙用プログラミング言語とは?　ひょっとしたらJavaScript、と私も思い始めた。思い始めた理由を非啓蒙的・大上段から書いて見る。</p>
<p>&#8212;</p>
<h4>「理念・理想」は実現しない限り、常に新しい。</h4>
<p>というわけで、柄谷行人『トランスクリティーク』(<a href="http://www.kojinkaratani.com/criticalspace/old/special/osawa/np_011012.html">大澤真幸氏のプチ書評</a>)を思いおこして書く。</p>
<p>今回の不況で、世界一を目指してきたトヨタが車を作りすぎて、コケてしまったことが示すように、資本主義には過剰生産の病理(<span style="color: #ff0000;">あかん。</span><span style="color: #ff0000;">作りすぎてしまうから、売れへんのや。</span>)がつきもの。</p>
<p>で、どうするのか。20世紀末の柄谷氏は、「アソシエーション」というものに希望を託したわけだが、このアソシエーションは、19世紀のKarl Marxの頃にも、21世紀の今にもないもの(Nowhere)。</p>
<p>「association」は、<span style="font-weight: normal; font-size: 13px;">「連合, 合同, 結合; 提携; 関連; 組合, 協会; 連想; 交際, 親密;」などに訳されるらしいのだが、柄谷氏は、相互啓蒙的なものを「アソシエーション」に込めていたのだと思う。同時に、『トランスクリティーク』では、「貨幣」についても考察がなされている(「事後的」にみると珍説の「LETS (&#8216;ω&#8217;)」はここから誕生)。</span></p>
<p><span style="font-weight: normal; font-size: 13px;">今回はただひとつ、「啓蒙」という観点からだけ述べておこう。</span></p>
<p><span style="font-weight: normal; font-size: 13px;">「アイデアの時代・知財の時代」などなど、いわゆる人的資本が脚光をあびる昨今では、 たぶん、「世渡り」と結びついた「啓蒙」が資本主義のドライブとして 不可欠になっているのではないかと。「世渡り上手になるよう啓蒙」された人々には、稼ぐ力とともに「商品」への欲望が内在されるようになる。　<em>#単に、「稼げるようになった当初は、あれもこれも欲しくなる」ということ</em></span></p>
<p><span style="font-weight: normal; font-size: 13px;"><em>「時代に即した啓蒙」は、資本主義だろうが民主党政権だろうがアソシエーションの時代だろうが求められるというわけ。ただ、広い意味の啓蒙とは、単に教科書を教え込むことではない。「<span style="color: #ff0000;">差異が利潤を生む</span></em><em>」のであり、「何らかの意味で新しい」ものを含むことが啓蒙にあっても必要条件であるためだ。</em></span></p>
<p><span style="font-weight: normal; font-size: 13px;"><em>&#8212;-</em></span></p>
<h4>さて、ここで、理想のプログラミング言語教育の話に入る。</h4>
<p><span style="font-weight: normal; font-size: 13px;">若いプログラマは、最終的には稼がなければならない(稼ぐ手段はプログラミングでなくとも良いが)。資本主義や日本の国際競争力といった大上段から見ると、日本のプログラマが総体として稼がなければならない[チームプレイのプログラミングはそこそこdomesticな産業]。では、生産性が高く今後の世につながるプログラマを、いかに教育・啓蒙すべきか。</span></p>
<p><em><span style="font-style: normal;">現時点での、私の結論は、<a href="http://trackback.blogsys.jp/livedoor/dankogai/51005691">dankogai氏とほぼ同じ</a>で、「<span style="color: #ff0000;"><strong>Ja</strong></span><span style="color: #ff0000;"><strong>vaScript + Lisp系言語から入る入門コースを作るべき</strong></span>」。小飼氏・<a href="http://d.hatena.ne.jp/nowokay/20080220#1203457379">岸田氏</a>の議論を見ていてそう思った。<br />
古い人間である私は、BASICを経て、C+アセンブラから入ったので、<a href="http://pfrb.blog114.fc2.com/blog-entry-7.html">入門はCからという思いも捨てきれない</a>のだけれども。<br />
(読者想定　中学生～大学教養課程の学生くらい)</span></em></p>
<p><em><span style="font-style: normal;"> ただ、小飼氏と違うところは、たとえ「よっこらセックス」であるとしても、バーチャルマシン環境は早いうちに教育したほうがいいと思っているので、<span style="color: #ff0000;">中学生はJavaScript、高校生になったらclojure</span>みたいな啓蒙書を書きたいなと思う今日この頃。<span style="color: #800000;">もちろん職業人は</span><span style="text-decoration: line-through;"><span style="color: #800000;">Haskell</span></span><span style="color: #800000;">Scalaで</span>。</span></em></p>
<p><em><span style="font-style: normal;">けっこうまじめに考えているので、続く。</span></em></p>
<p><em><span style="font-style: normal;"><br />
</span></em></p>
<p><em><span style="font-style: normal;">※「資本主義がもうだめ」とかの本は、啓蒙のことをどう述べているのだろうか・・・指令 : 資本主義の精神棒を少佐に注入せよ。<br />
<em><div id="book11233776" class="rakuten_details">Now Loading...</div></em></span></em></p>
<p><em><span style="font-style: normal;"><div id="book13091956" class="rakuten_details">Now Loading...</div></span></em></p>
<p><em><span style="font-style: normal;"><div id="book13106672" class="rakuten_details">Now Loading...</div></span></em></p>
<p><em><br />
</em></p>
<p><span style="font-weight: normal; font-size: 13px;"><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://wordprogress.org/archives/230/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scalaから見たClojure その1:しばらくはネタ的に</title>
		<link>http://wordprogress.org/archives/187</link>
		<comments>http://wordprogress.org/archives/187#comments</comments>
		<pubDate>Wed, 04 Nov 2009 16:49:45 +0000</pubDate>
		<dc:creator>アルケー</dc:creator>
				<category><![CDATA[Scala]]></category>
		<category><![CDATA[clojure]]></category>
		<category><![CDATA[長門有希]]></category>

		<guid isPermaLink="false">http://wordprogress.org/?p=187</guid>
		<description><![CDATA[
		<script type="text/javascript"><!--
			show_rakuten('#answer1127668', '');
		// -->
		</script>
		
		<script type="text/javascript"><!--
			show_rakuten('#bossleaf10003036', 'NotFound');
		// -->
		</script>
		JVM上の新興言語のツートップ。というか、個人的には、ハルヒと長門な、ScalaとClojure。
Scalaの方は仕事で使っている一方で、長門なClojureは完全に私の片思いで、仕事で使うことは当面なさそう。なので、しばらくは小ネタ集として両言語を比較したい。
Scalaについては日本語ブログだけで既に相当な情報を収集できるようになっている。が、Clojureについては、なかなか日本語情報に乏しい。しかし、そんな中、『逆引きClojure』は、実に期待できそうな存在・・に思えるのだが、更新が滞っている・・・
 ※　ということで今回は、『逆引きClojure』から適宜引用させてもらっています。
◇Clojureでリスト
Clojureのみならず、Lispでは、プログラムのリストとデータのリストを意識的に区別しなければならない(プログラム自体がリストであるという特性から・・)。なので、Listは以下のようにquoteして生成する :
(quote (1 2 3))
もしくは quoteの略称である「`」バッククオート を使う
'(1 2 3)
リストの長さは、count 関数で調べる :
(count '(1 2 3)) ; 結果は3

◇Scalaでリスト
実にシンプル:
List (1 2 3)
あるいは、演算子「::」を使ってリストを生成する
 1 :: 2 :: 3 :: Nil
scala&#62; 1 :: 2 :: 3 :: Nil
res42: List[Int] = List(1, 2, 3)
試しておこう。
scala&#62; 1 :: 2 :: 3 :: Nil
res42: List[Int] = List(1, 2, 3)
リストの長さは、length 関数で調べる :
scala&#62; (1 :: 2 :: [...]]]></description>
			<content:encoded><![CDATA[
		<script type="text/javascript"><!--
			show_rakuten('#answer1127668', 'NotFound');
		// -->
		</script>
		
		<script type="text/javascript"><!--
			show_rakuten('#bossleaf10003036', 'NotFound');
		// -->
		</script>
		<h3>JVM上の新興言語のツートップ。というか、個人的には、ハルヒと長門な、ScalaとClojure。</h3>
<p>Scalaの方は仕事で使っている一方で、長門なClojureは完全に私の片思いで、仕事で使うことは当面なさそう。なので、しばらくは小ネタ集として両言語を比較したい。<br />
Scalaについては日本語ブログだけで既に相当な情報を収集できるようになっている。が、Clojureについては、なかなか日本語情報に乏しい。しかし、そんな中、『<a href="http://tips.lisp-users.org/clojure/">逆引きClojure</a>』は、実に期待できそうな存在・・に思えるのだが、更新が滞っている・・・</p>
<p><em> ※　ということで今回は、『</em><a href="http://tips.lisp-users.org/clojure/"><em>逆引きClojure</em></a><em>』から適宜引用させてもらっています。</em></p>
<h4>◇Clojureでリスト</h4>
<p>Clojureのみならず、Lispでは、プログラムのリストとデータのリストを意識的に区別しなければならない(プログラム自体がリストであるという特性から・・)。なので、Listは以下のようにquoteして生成する :</p>
<pre style="margin-left: 1em; margin-right: 1em; background-color: #f8f8f8; white-space: pre-wrap; word-wrap: break-word; padding: 1ex; border: 1px solid #707b8d;">(quote (1 2 3))</pre>
<p style="margin-left: 0.5em;">もしくは quoteの略称である「<span style="color: #800000;"><strong>`</strong></span>」バッククオート を使う</p>
<pre style="margin-left: 1em; margin-right: 1em; background-color: #f8f8f8; white-space: pre-wrap; word-wrap: break-word; padding: 1ex; border: 1px solid #707b8d;">'(1 2 3)</pre>
<p>リストの長さは、count 関数で調べる :</p>
<pre style="margin-left: 1em; margin-right: 1em; background-color: #f8f8f8; white-space: pre-wrap; word-wrap: break-word; padding: 1ex; border: 1px solid #707b8d;">(count '(1 2 3)) ; 結果は3</pre>
<hr />
<h4>◇Scalaでリスト</h4>
<p>実にシンプル:</p>
<pre style="margin-left: 1em; margin-right: 1em; background-color: #f8f8f8; white-space: pre-wrap; word-wrap: break-word; padding: 1ex; border: 1px solid #707b8d;">List (1 2 3)</pre>
<p style="margin-left: 0.5em;">あるいは、演算子「<span style="color: #800000;"><strong>::</strong></span>」を使ってリストを生成する</p>
<pre style="margin-left: 1em; margin-right: 1em; background-color: #f8f8f8; white-space: pre-wrap; word-wrap: break-word; padding: 1ex; border: 1px solid #707b8d;"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; line-height: 19px; white-space: normal; font-size: 13px;"> 1 :: 2 :: 3 :: Nil</span></pre>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 553px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">scala&gt; 1 :: 2 :: 3 :: Nil</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 553px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">res42: List[Int] = List(1, 2, 3)</div>
<p><span style="color: #999999;">試しておこう。</span></p>
<p><span style="color: #999999;">scala&gt; 1 :: 2 :: 3 :: Nil<br />
res42: List[Int] = List(1, 2, 3)</span></p>
<p>リストの長さは、length 関数で調べる :</p>
<pre style="margin-left: 1em; margin-right: 1em; background-color: #f8f8f8; white-space: pre-wrap; word-wrap: break-word; padding: 1ex; border: 1px solid #707b8d;"><span style="white-space: pre-wrap;">scala&gt; (1 :: 2 :: 3 :: Nil).length
res44: Int = 3</span></pre>
<p>・・・この程度なら、clojureである必要はないなぁ。まずは、Lispの標準のひとつであるScheme実装とScalaを先に比較しよう。</p>
<p><div id="answer1127668" class="rakuten_details">Now Loading...</div><br />
<div id="bossleaf10003036" class="rakuten_details">Now Loading...</div></p>
]]></content:encoded>
			<wfw:commentRss>http://wordprogress.org/archives/187/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[ネタ]　SOS Dan on JVM</title>
		<link>http://wordprogress.org/archives/119</link>
		<comments>http://wordprogress.org/archives/119#comments</comments>
		<pubDate>Tue, 03 Nov 2009 13:39:17 +0000</pubDate>
		<dc:creator>kyon</dc:creator>
				<category><![CDATA[JVM]]></category>
		<category><![CDATA[clojure]]></category>
		<category><![CDATA[Scala]]></category>
		<category><![CDATA[涼宮ハルヒの消失]]></category>
		<category><![CDATA[長門有希]]></category>

		<guid isPermaLink="false">http://wordprogress.org/?p=119</guid>
		<description><![CDATA[
		<script type="text/javascript"><!--
			show_rakuten('#jigsawclub10012174', '<!-- cache --><div class="rakuten_image"><a href="http://hb.afl.rakuten.co.jp/hgc/0b16999f.c5b9c54b.0b1699a0.49a76732/?pc=http%3A%2F%2Fitem.rakuten.co.jp%2Fjigsawclub%2Fc03-013%2F" target="_blank"><img src="http://thumbnail.image.rakuten.co.jp/@0_mall/jigsawclub/cabinet/shohin_0009/c03-013.jpg?_ex=128x128"><br /><p class="rakuten_logo"><!-- Rakuten Web Services Attribution Snippet FROM HERE --><a href="http://webservice.rakuten.co.jp/" target="_blank"><img src="http://webservice.rakuten.co.jp/img/credit/200709/credit_4936.gif" border="0" alt="楽天ウェブサービスセンター" title="楽天ウェブサービスセンター" width="49" height="36"/></a><!-- Rakuten Web Services Attribution Snippet TO HERE --></p><font class="rakuten_warn"><a href="#" class="tooltip">[ご利用にあたって]<span>このサイトで掲載されている情報は、「Go towards a Word-Progress」の作成者により運営されています。価格、販売可能情報は、変更される場合があります。購入時に楽天市場店舗（www.rakuten.co.jp）に表示されている価格が、その商品の販売に適用されます。</span></a></font></div><div class="rakuten_info"><p class="rakuten_itemname"><a href="http://hb.afl.rakuten.co.jp/hgc/0b16999f.c5b9c54b.0b1699a0.49a76732/?pc=http%3A%2F%2Fitem.rakuten.co.jp%2Fjigsawclub%2Fc03-013%2F" target="_blank">　【30％OFF】ジグソーパズル：108ピース キャラクター／涼宮ハルヒの憂鬱「涼宮ハルヒの憂鬱〜長門有希」【楽ギフ_包装】【楽ギフ_のし】</a></p><p class="rakuten_caption">★無料ギフト対応&amp;nbsp;●108ピース　●18.2×25.7cm●この商品にあうパネルを見る涼宮ハルヒの憂鬱(c) 2006　谷川流・いとうのいぢ/SOS団［ジグソーパズル／キャラクター／涼宮ハルヒの憂鬱／涼宮ハルヒの憂鬱〜長門有希］涼宮ハルヒの憂鬱〜長門有希……</p><p><em>販売価格：</em> 882 円 <font class="rakuten_time">(10/07/30 20:14 更新)</font></p><p><em>販売店舗：</em> <a href="http://www.rakuten.co.jp/jigsawclub/" target="_blank">ジグソークラブ楽天市場店</a></p></div><!-- cache -->');
		// -->
		</script>
		
		<script type="text/javascript"><!--
			show_rakuten('#jigsawclub10012174', '<!-- cache --><div class="rakuten_image"><a href="http://hb.afl.rakuten.co.jp/hgc/0b16999f.c5b9c54b.0b1699a0.49a76732/?pc=http%3A%2F%2Fitem.rakuten.co.jp%2Fjigsawclub%2Fc03-013%2F" target="_blank"><img src="http://thumbnail.image.rakuten.co.jp/@0_mall/jigsawclub/cabinet/shohin_0009/c03-013.jpg?_ex=128x128"><br /><p class="rakuten_logo"><!-- Rakuten Web Services Attribution Snippet FROM HERE --><a href="http://webservice.rakuten.co.jp/" target="_blank"><img src="http://webservice.rakuten.co.jp/img/credit/200709/credit_4936.gif" border="0" alt="楽天ウェブサービスセンター" title="楽天ウェブサービスセンター" width="49" height="36"/></a><!-- Rakuten Web Services Attribution Snippet TO HERE --></p><font class="rakuten_warn"><a href="#" class="tooltip">[ご利用にあたって]<span>このサイトで掲載されている情報は、「Go towards a Word-Progress」の作成者により運営されています。価格、販売可能情報は、変更される場合があります。購入時に楽天市場店舗（www.rakuten.co.jp）に表示されている価格が、その商品の販売に適用されます。</span></a></font></div><div class="rakuten_info"><p class="rakuten_itemname"><a href="http://hb.afl.rakuten.co.jp/hgc/0b16999f.c5b9c54b.0b1699a0.49a76732/?pc=http%3A%2F%2Fitem.rakuten.co.jp%2Fjigsawclub%2Fc03-013%2F" target="_blank">　【30％OFF】ジグソーパズル：108ピース キャラクター／涼宮ハルヒの憂鬱「涼宮ハルヒの憂鬱〜長門有希」【楽ギフ_包装】【楽ギフ_のし】</a></p><p class="rakuten_caption">★無料ギフト対応&amp;nbsp;●108ピース　●18.2×25.7cm●この商品にあうパネルを見る涼宮ハルヒの憂鬱(c) 2006　谷川流・いとうのいぢ/SOS団［ジグソーパズル／キャラクター／涼宮ハルヒの憂鬱／涼宮ハルヒの憂鬱〜長門有希］涼宮ハルヒの憂鬱〜長門有希……</p><p><em>販売価格：</em> 882 円 <font class="rakuten_time">(10/07/30 20:14 更新)</font></p><p><em>販売店舗：</em> <a href="http://www.rakuten.co.jp/jigsawclub/" target="_blank">ジグソークラブ楽天市場店</a></p></div><!-- cache -->');
		// -->
		</script>
		 [追記]

以下、Lisperな方への小ネタ(小さなエール??)のつもりで書いたもの。近時、Go言語エントリから、こちらに流れてくる方が急増している。Clojureをご存じてない方も多いと思われる。Clojureをご存じてない方・ClojureとClosureって間違い探し？とか思う方とは、まずはこちらの新規投稿にてClojureの良さを知っていただきたい。 あと、ややこしいが、Googleの新JavaScriptフレームワークClosureの方は、Go言語とも大きく関わるであろうProtocolBufferについてちょっと書いたので、こちらをどうぞ。

※楽天が日ハムとのクライマックス・シリーズ第一戦であんなことになって日本シリーズを応援しそびれ、ついカッとなって、長門Clojureへの応援メッセージを書きなぐった。後悔はしていない(久々にこの言葉を使った)。こうして書いてしまったものは書いてしまったものなので、その後もClojureのいい点をひっそりと書き続けるつもりでいた。 まぁ、Clojureが良いLispであることに変わりはないので、間違ってきてしまった方々の人生の時間をさほど無駄にしていないと思う。DnaKogai氏の言うとおり、真の男ならばプログラマならば、一度はLispを実装してみるくらいが良いのだから。
－－－－－
「プログラム言語オタク≒文弱」のオチに、文学はエンターテイメントとしてのみうんぬんを書いたついでに、
「Scala は振り向かずにいるにはあまりに美人だ」とKogaiDan氏が書く前から思っていた小ネタ(?)を。
※以下、あくまでプログラミング・ネタ。
京アニ・ファンかつ非プログラマな方が間違ってきてしまった場合には、
長門ファン限定で情報の伝達に齟齬が発生しない楽しめる可能性があると思われます。
涼宮ハルヒのJVM、もとい、SOS Dan on JVMについての小論。
[perl / cruby/ lua ・・・その他はすべて他に譲る]
JVM上では、Scalaは涼宮ハルヒだ。
なぜならば、長門有希がclojureだから。
若干改良されたS式をしゃべるclojureは、プログラミングが誕生すると間もなく生じた情報統合思念体=LISPの分身。
生み出されてから３年間、ずっと注目されずにすごしてきたclojureだが、Scalaとの対比で世に現れる。
InfoQの「2009年の展望」において、“2009年はScalaよりもClojureの年になるだろう”と予言されながらも、Scalaにばかり全校生徒世間の注目が集まるやや幸薄きclojure。
でも、来年2010年こそはclojureにとって大きなチャンスなのだ。何しろ、
春には涼宮ハルヒが北高から消失するclojure本の日本語訳がGaucheのshiroさん訳で出るのだから。
劇場版『涼宮ハルヒの消失』の観客動員数と同じくらい、日本語Clojure本の部数が出てほしいものだ。長門がつぶやく呪文が実はS式なのだと、映画館を訪れた長門ファンが気がつけば、そんなこともあるかもしれない。 
Now Loading...
とにかく、英語版を見る限り、clojure本は秀逸だ[STMをはじめ、scalaに取り込まれているアイデアもある]。
・・・でも、2010年にもキョンは、こう心でつぶやくのだろうか「俺はハルヒに会いたかった」。
 2010年も、やっぱりツンとデレのハイブリット団長Scalaが来るのかもしれない。


以下、駄文。
残りのSOS Danメンバーon JVM

Java≒小泉。そつなく全校女子生徒職業プログラマの支持を集めそう。
jruby≒朝比奈さん。なんといってもその容姿が愛ら(以下、略)
まだ見果てぬ異世界人≒Ioke。個人的にはもしかしてclojureよりおすすめかも。

せっかくなので佐々木チーム on Monoも

C#≒佐々木　。Scalaほど美人でないにせよ(以下、略)
Boo≒橘 京子　。たぶん、付き合ってみても良い言語。Python似の癖にScalaと同じく静的型付け。
VB≒藤原。根拠なし。
周防 九曜≒IronLisp上に実装し直されたFactor、だろうか、、情報統合思念体Lispに対抗できそなのはForth系の言語と思うから。
IronScheme上ではないうえに、ググってもとても存在感のないFactorこそが周防 九曜的(適当)。

最後に、ここまでネタに付き合ってくれた方に限定した問いかけを : 
そう、最大の謎はあなたキョン　ハルヒがScalaで長門がClojureなら、キョンは一体何なのだろうか？

「2009年の展
望」「2009年の展望」「2009年の展望」「2009年の展望」「2009年の展望」
Now Loading...
]]></description>
			<content:encoded><![CDATA[
		<script type="text/javascript"><!--
			show_rakuten('#jigsawclub10012174', '<!-- cache --><div class="rakuten_image"><a href="http://hb.afl.rakuten.co.jp/hgc/0b16999f.c5b9c54b.0b1699a0.49a76732/?pc=http%3A%2F%2Fitem.rakuten.co.jp%2Fjigsawclub%2Fc03-013%2F" target="_blank"><img src="http://thumbnail.image.rakuten.co.jp/@0_mall/jigsawclub/cabinet/shohin_0009/c03-013.jpg?_ex=128x128"><br /><p class="rakuten_logo"><!-- Rakuten Web Services Attribution Snippet FROM HERE --><a href="http://webservice.rakuten.co.jp/" target="_blank"><img src="http://webservice.rakuten.co.jp/img/credit/200709/credit_4936.gif" border="0" alt="楽天ウェブサービスセンター" title="楽天ウェブサービスセンター" width="49" height="36"/></a><!-- Rakuten Web Services Attribution Snippet TO HERE --></p><font class="rakuten_warn"><a href="#" class="tooltip">[ご利用にあたって]<span>このサイトで掲載されている情報は、「Go towards a Word-Progress」の作成者により運営されています。価格、販売可能情報は、変更される場合があります。購入時に楽天市場店舗（www.rakuten.co.jp）に表示されている価格が、その商品の販売に適用されます。</span></a></font></div><div class="rakuten_info"><p class="rakuten_itemname"><a href="http://hb.afl.rakuten.co.jp/hgc/0b16999f.c5b9c54b.0b1699a0.49a76732/?pc=http%3A%2F%2Fitem.rakuten.co.jp%2Fjigsawclub%2Fc03-013%2F" target="_blank">　【30％OFF】ジグソーパズル：108ピース キャラクター／涼宮ハルヒの憂鬱「涼宮ハルヒの憂鬱〜長門有希」【楽ギフ_包装】【楽ギフ_のし】</a></p><p class="rakuten_caption">★無料ギフト対応&amp;nbsp;●108ピース　●18.2×25.7cm●この商品にあうパネルを見る涼宮ハルヒの憂鬱(c) 2006　谷川流・いとうのいぢ/SOS団［ジグソーパズル／キャラクター／涼宮ハルヒの憂鬱／涼宮ハルヒの憂鬱〜長門有希］涼宮ハルヒの憂鬱〜長門有希……</p><p><em>販売価格：</em> 882 円 <font class="rakuten_time">(10/07/30 20:14 更新)</font></p><p><em>販売店舗：</em> <a href="http://www.rakuten.co.jp/jigsawclub/" target="_blank">ジグソークラブ楽天市場店</a></p></div><!-- cache -->');
		// -->
		</script>
		
		<script type="text/javascript"><!--
			show_rakuten('#jigsawclub10012174', '<!-- cache --><div class="rakuten_image"><a href="http://hb.afl.rakuten.co.jp/hgc/0b16999f.c5b9c54b.0b1699a0.49a76732/?pc=http%3A%2F%2Fitem.rakuten.co.jp%2Fjigsawclub%2Fc03-013%2F" target="_blank"><img src="http://thumbnail.image.rakuten.co.jp/@0_mall/jigsawclub/cabinet/shohin_0009/c03-013.jpg?_ex=128x128"><br /><p class="rakuten_logo"><!-- Rakuten Web Services Attribution Snippet FROM HERE --><a href="http://webservice.rakuten.co.jp/" target="_blank"><img src="http://webservice.rakuten.co.jp/img/credit/200709/credit_4936.gif" border="0" alt="楽天ウェブサービスセンター" title="楽天ウェブサービスセンター" width="49" height="36"/></a><!-- Rakuten Web Services Attribution Snippet TO HERE --></p><font class="rakuten_warn"><a href="#" class="tooltip">[ご利用にあたって]<span>このサイトで掲載されている情報は、「Go towards a Word-Progress」の作成者により運営されています。価格、販売可能情報は、変更される場合があります。購入時に楽天市場店舗（www.rakuten.co.jp）に表示されている価格が、その商品の販売に適用されます。</span></a></font></div><div class="rakuten_info"><p class="rakuten_itemname"><a href="http://hb.afl.rakuten.co.jp/hgc/0b16999f.c5b9c54b.0b1699a0.49a76732/?pc=http%3A%2F%2Fitem.rakuten.co.jp%2Fjigsawclub%2Fc03-013%2F" target="_blank">　【30％OFF】ジグソーパズル：108ピース キャラクター／涼宮ハルヒの憂鬱「涼宮ハルヒの憂鬱〜長門有希」【楽ギフ_包装】【楽ギフ_のし】</a></p><p class="rakuten_caption">★無料ギフト対応&amp;nbsp;●108ピース　●18.2×25.7cm●この商品にあうパネルを見る涼宮ハルヒの憂鬱(c) 2006　谷川流・いとうのいぢ/SOS団［ジグソーパズル／キャラクター／涼宮ハルヒの憂鬱／涼宮ハルヒの憂鬱〜長門有希］涼宮ハルヒの憂鬱〜長門有希……</p><p><em>販売価格：</em> 882 円 <font class="rakuten_time">(10/07/30 20:14 更新)</font></p><p><em>販売店舗：</em> <a href="http://www.rakuten.co.jp/jigsawclub/" target="_blank">ジグソークラブ楽天市場店</a></p></div><!-- cache -->');
		// -->
		</script>
		<pre style="margin-top: 0px; margin-right: 1em; margin-bottom: 0px; margin-left: 1em; background-color: #c8c8f8; white-space: pre-wrap; word-wrap: break-word; padding: 1ex; border: 1px solid #707b8d;"> [追記]

以下、Lisperな方への小ネタ(小さなエール??)のつもりで書いたもの。近時、Go言語エントリから、こちらに流れてくる方が急増している。Clojureをご存じてない方も多いと思われる。Clojureをご存じてない方・<span style="color: #000000;">ClojureとClosureって間違い探し</span>？とか思う方とは、まずは<a href="http://wordprogress.org/archives/458">こちらの新規投稿</a>にてClojureの良さを知っていただきたい。 あと、ややこしいが、Googleの新JavaScriptフレームワークClosureの方は、Go言語とも大きく関わるであろうProtocolBufferについてちょっと書いたので、<a href="http://wordprogress.org/archives/373">こちら</a>をどうぞ。

※楽天が日ハムとのクライマックス・シリーズ第一戦であんなことになって日本シリーズを応援しそびれ、<strong>ついカッとなって</strong>、<span style="text-decoration: line-through;">長門</span>Clojureへの応援メッセージを書きなぐった。後悔はしていない(久々にこの言葉を使った)。こうして書いてしまったものは書いてしまったものなので、その後もClojureのいい点をひっそりと書き続けるつもりでいた。 まぁ、Clojureが良いLispであることに変わりはないので、間違ってきてしまった方々の人生の時間をさほど無駄にしていないと思う。DnaKogai氏の言うとおり、<span style="text-decoration: line-through;">真の男ならば</span>プログラマならば、一度はLispを実装してみるくらいが良いのだから。</pre>
<p>－－－－－</p>
<p>「プログラム言語オタク≒文弱」のオチに、文学はエンターテイメントとしてのみうんぬんを書いたついでに、<br />
「<a href="http://blog.livedoor.jp/dankogai/archives/51275491.html">Scala は振り向かずにいるにはあまりに美人だ</a>」とKogaiDan氏が書く前から思っていた小ネタ(?)を。</p>
<p><span style="color: #ff0000;"><em>※以下、あくまでプログラミング・ネタ。<br />
京アニ・ファンかつ非プログラマな方が間違ってきてしまった場合には、<br />
長門ファン限定で<span style="text-decoration: line-through;">情報の伝達に齟齬が発生しない</span>楽しめる可能性があると思われます。</em></span></p>
<p>涼宮ハルヒのJVM、もとい、SOS Dan on JVMについての小論。<br />
[perl / cruby/ lua ・・・その他はすべて他に譲る]</p>
<h2>JVM上では、Scalaは涼宮ハルヒだ。<br />
なぜならば、<span style="color: #ff0000;">長門有希がclojure</span>だから。</h2>
<p>若干改良されたS式をしゃべるclojureは、プログラミングが誕生すると間もなく生じた情報統合思念体=LISPの分身。</p>
<p>生み出されてから３年間、ずっと注目されずにすごしてきたclojureだが、Scalaとの対比で世に現れる。</p>
<p>InfoQの「2009年の展望」において、<span style="font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', sans-serif;">“<a href="http://www.infoq.com/jp/news/2009/01/pl-predictions-2009">2009年はScalaよりもClojureの年になるだろう</a>”と予言されながらも、Scalaにばかり<span style="text-decoration: line-through;">全校生徒</span>世間の注目が集まるやや幸薄きclojure。</span></p>
<p><span style="font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', sans-serif;">でも、来年2010年こそはclojureにとって大きなチャンスなのだ。何しろ、<br />
<span style="text-decoration: line-through;">春には涼宮ハルヒが北高から消失する</span>clojure本の日本語訳がGaucheのshiroさん訳で出るのだから。</span></p>
<p><span style="color: #800000;">劇場版『涼宮ハルヒの消失』の観客動員数と同じくらい、日本語Clojure本の部数が出てほしい</span><span style="font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', sans-serif;">ものだ。<span style="color: #ff0000;">長門がつぶやく呪文が実はS式</span>なのだと、映画館を訪れた長門ファンが気がつけば、そんなこともあるかもしれない。 </span></p>
<p><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; line-height: 11px; font-size: 11px; color: #333333;"><em><div id="jigsawclub10012174" class="rakuten_details">Now Loading...</div></em></span></p>
<p><span style="font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', sans-serif;">とにかく、英語版を見る限り、clojure本は秀逸だ[STMをはじめ、scalaに取り込まれているアイデアもある]。</span></p>
<p><span style="font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', sans-serif;">・・・でも、2010年にもキョンは、こう心でつぶやくのだろうか「俺はハルヒに会いたかった」。<br />
<span style="color: #ff0000;"> 2010年も、やっぱり</span><span style="text-decoration: line-through;"><span style="color: #ff0000;">ツンとデレ</span></span><span style="color: #ff0000;">のハイブリット団長Scala</span>が来るのかもしれない。</span></p>
<p><span style="font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', sans-serif;"><br />
</span></p>
<p><span style="font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', sans-serif;"><span id="more-119"></span>以下、駄文。<br />
残りのSOS Danメンバーon JVM</span></p>
<ul>
<li><span style="font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', sans-serif;">Java≒小泉。そつなく<span style="text-decoration: line-through;">全校女子生徒</span>職業プログラマの支持を集めそう。</span></li>
<li><span style="font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', sans-serif;">jruby≒朝比奈さん。なんといってもその容姿が愛ら(以下、略)</span></li>
<li><span style="font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', sans-serif;">まだ見果てぬ異世界人≒Ioke。個人的にはもしかしてclojureよりおすすめかも。</span></li>
</ul>
<p><span style="font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', sans-serif;">せっかくなので佐々木チーム on Monoも</span></p>
<ul>
<li><span style="font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', sans-serif;">C#≒佐々木　。Scalaほど美人でないにせよ(以下、略)</span></li>
<li><span style="font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', sans-serif;">Boo≒橘 京子　。たぶん、付き合ってみても良い言語。Python似の癖にScalaと同じく静的型付け。</span></li>
<li><span style="font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', sans-serif;">VB≒藤原。根拠なし。</span></li>
<li><span style="font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', sans-serif;">周防 九曜≒IronLisp上に実装し直された<a href="http://ja.wikipedia.org/wiki/Factor">Factor</a>、だろうか、、<span style="text-decoration: line-through;">情報統合思念体</span>Lispに対抗できそなのはForth系の言語と思うから。<br />
IronScheme上ではないうえに、ググってもとても存在感のないFactorこそが周防 九曜的(適当)。</span></li>
</ul>
<p><span style="font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', sans-serif;"><!--more--></span><span style="font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', sans-serif;">最後に、ここまでネタに付き合ってくれた方に限定した問いかけを : </span></p>
<p><span style="font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', sans-serif;">そう、最大の謎は<span style="text-decoration: line-through;">あなた</span>キョン　ハルヒがScalaで長門がClojureなら、キョンは一体何なのだろうか？</span></p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 131px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">
<p>「2009年の展</p>
<p>望」「2009年の展望」「2009年の展望」「2009年の展望」「2009年の展望」</p></div>
<p><div id="jigsawclub10012174" class="rakuten_details">Now Loading...</div></p>
]]></content:encoded>
			<wfw:commentRss>http://wordprogress.org/archives/119/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
