- Perl6と.NET
Perl6はCで作ったオブジェクトにシームレスにアクセスできるようになるらし
い。また、C、JavaとC#のコードを生成することができるとも、コンパイル時に
Parserを選択することによってPythonのsyntaxを使えるとも言われている。この
話、何かマイクロソフトの.NETの構想と似ている。
.NETフレームワークの共通言語ランタイム(Common Language Runtime、以下
CLR)は「周辺デバイスを含むコンピュータ資源すべてを抽象化した仮想マシン」
であり、Windowsプラットフォーム以外にも移植される可能性があると言われて
いる (後藤英雄、視点「.NETフレーワークの意義を問う」、日経バイト、
2001.3、 No.214、236ページ)。Perl6のCustomer Relationsの責任者は
ActiveStateのCEOであるDick Hardtだ。ActiveStateは既に.NETフレームワーク
のサポートを表明している[1]。.NETのページにはPerl.NET、Python.NETの項目
があり、.NET対応のPythonは既にダウンロード可能である[2]。Perl6の開発過程
でCLRのようなものがUnix上に構築されるのかどうか今後の焦点になるだろう。
実際のところ、CLRそのものをPerlコミュニティがUnixに移植するわけないし、
Perl6そのものがあらゆる言語のプラットフォームになるということだろう。低
レベルのプログラミングのサポートやガベージコレクション、例外処理の見直し
が行われ(日経バイト1月号のLWへのインタビュー)他の言語を取り扱うための基
盤を拡張しようとしている。真の意味で汎用の言語として生まれ変わろうとして
いる。それにも関わらず、Perlであり続けることがLWの目標だ。
Windows環境のPerl6はどうなるのだろう。結局CLR用のPerlはActiveState製に
なるだろうけど、Perl6の構想とは相容れない感じがする。Python.NETが既に出
ているのにPerl.NETが出ていないのは意味深かもしれない・・・Perl6は CLRに
並立する可能性があるだろう。それには現在と同様にCygwinが絡んでくる可能性
が高いような気がする。
この展開からは目が離せないですね。楽しみです(^^)
CLRの基盤となる技術に関係があると思われるものの一つにメルボルン大学の
宣言型論理プログラミング言語であるMercuryのプロジェクト[3]がある。
Mercuryは WindowsNT(Cygwin版)だけでなく、 LinuxやSolaris等のUnixファミリ
ーで動作している[4]。その他の様様な言語をMicrosoftは研究して、CLRを作り
上げてきたようだ[5]。CLRがUnixに移植されれば今後 MS OfficeがUnix上で稼動
するようになる等、様様な展開が予想される。スクリプタにとっては、自分の得
意な言語によってすべてができるようになるだろうし、他の言語を学ぶ必要もな
くなる (^^;)かも・・・
[3/18/2001]
- Larry WallとFree Software
もう既にOld Newsですが。Perl Newsを久々に覗いてみると、「Larry Wall
Interview with Paula Gordon」がある。 Zero24-7 Web RadioのDisc Jockey、
Paula Gordonの50分程度のインタピュー。Larry Wallが10月アトランタで開催さ
れた4th Annual Linux Showcase & Conferenceに出席したときのもの。すべて
RealAudioで聴けるので是非聴いてみよう。おもしろかったのは、Perlの意味を
Paulaが何度も聞くのだが、なかなかLarryが説明しないところ。コンピュータの
素人に理解できるような背景をまず説明してからと思ったのだろうが、結局、
Practical Extraction & Report Languageに続いて、有名なPathologically
Eclectic Rubbish Listerを持ち出すと笑いが出たのである程度の理解は得られ
たのだろう。言葉がおもしろかっただけかもしれないけど(^^;)Larry Wallの面
目躍如たるところは、「a danger in the Linux culture overpowering other
incipient cultures」の下り。アメリカパイオニア精神の最良の部分がここにあ
る。思わずPaulaがincipientと聞き返した。incipientとは「初期の」という意
味である。
[12/17/2000]
- プログラミングの意味
なぜプログラミングは人を引き付けるのか。人はなぜ様様なプログラミング言
語に興味を持つのか。自分のやりたいことを自動化することになぜ人はそれほど
執着するのか。便利だから?いや、それだけではないような気がする。
月刊アスキーの表紙の雰囲気は何度も変わっているが、最近はクールな色調に
なってこれはどうしたことかと思って12月号を眺めているとA MONTHLY
MAGAZINE OF HOME & OFFICE COMPUTER SCIENCEとある。おー、なるほどSCIENCE
の本になったのだ。この中に「生命は計算できるか?」という新連載がある。ア
スキー伝統の哲学的話題であるが、コンピュータサイエンスの創始者である「ア
ラン・チューリングへの旅」と副題が付いている。Computerは計算手(計算する
人)であり、Turing Machineは「心の機械」なのだそうだ。並列スーパーコンピ
ュータPACSで知られる筑波大学の星野力さんのこの新連載は期待がもてる。
心の機械という言葉から私がふと連想したのは、プログラミングというのは精
神あるいは知性の自己複製願望なのではということだ。生殖が種の自己保存願望
であるように、精神も自己保存を目指している。プログラミングは一種の記録の
高度な形態なのだと思う。芸術や創作の一種なのだろう。止むに止まれぬこのプ
ログラミングへの渇望は自己複製への欲望かもしれない。
[12/9/2000]
- コンピューティングの可能性
現在のPCの性能は10年前と比べて驚くほど向上している。最初、Perlを動かし
たのは80286の16MHzマシンだった。メモリも640KBしか搭載されていなかった。
今やCPUのクロック周波数は1GHzを越え、メモリ128MB搭載も珍しくなくなってき
た。1.5年でCPUの性能は倍になるというMooreの法則は生きており、ハードウェ
ア性能の向上はまだしばらく続きそうだ。それも価格は低下し続けているので、
個人が極めて高性能なPCを容易に所有することが可能になりつつある。フリーで
高性能なソフトウェアの入手も容易になってきたことは特筆すべきだろう。誰も
がフリーの本格的なプログラミング言語を使ってソフトウェアの開発ができるよ
うになってきているのだ。 Internetの登場でパーソナル・プログラミングの領
域も大きく広がったが、これはまだ序の口でこれからが本番、えーっこんな使い
方があるのっていうような例がそのうちごろごろ出てくるのではと期待している。
そこのあなたもおもしろいことをやっているなら教えて欲しいね。
[11/28/2000]
- Mindpixel Digital Mind Modeling Project
MIT Media Lab's Open Mind Commonsense
人工的な意識(人工知能)をInternetを使って学ばせようというプロジェクト。
Mindpixel.comに登録してGAC(Generic Artificial Consciousness)に三つばかし
mindpixelを入力してみたが、まだその意識と対話するというところまでいかな
い。高々現状の25万程度のmindpixelでは意識を構築することは不可能だろう。
入力するたびに20のTRUE/FALSEの質問に答えなければならないのは疲れる(統計
的に知識のTRUE/FALSEを判断する仕組みらしい)。ただ、英語の勉強をしたい人
にはうってつけかも(^^;)
私が入力した(^^;)mindpixel。
Perl is one of scripting languages.
がTrueになっても、
Do you know a scripting language?
のような疑問文はFalseになる。当然ながら対話はできないのだ。日本語も一応
入力できる。「日本語は日本の言葉です。」がTRUEになった。
入力ばかりだと、
you become a part owner of computer science history!
という動機付けだけでは継続が難しい。どのように利用するのかという実用的な
仕組みを考え出す必要があるだろう。世界規模のコミュニティから学ぶというコ
ンセプトは良いが、どのようにしてコミュニティに還元するかだ。
そういう点ではWikiWikiは自分で知識を書き込むことになるので直接的な
フィードバックがあり、相互作用的な知識の形成をリアルタイムで見ることがで
きる。本格的なデータベースとしては問題があるだろうが、コミュニティを形成
する方法としては優れている。
上記の二つのプロジェクトはjointするとのこと、興味深いプロジェクトなの
で今後の展開を注視していきたい。[10/7/2000]