2008年08月04日 03:30 [Edit]

言語オタが非オタの彼女に言語世界を軽く紹介するための10言語

まあ、どのくらいの数の言語オタがそういう彼女をゲットできるかは別にして、 「オタではまったくないんだが、しかし自分のオタ趣味を肯定的に黙認してくれて、 その上で全く知らない言語の世界とはなんなのか、ちょっとだけ好奇心持ってる」 ような、ヲタの都合のいい妄想の中に出てきそうな彼女に、言語のことを紹介するために 見せるべき10言語を選んでみたいのだけれど。

(要は「脱オタクファッションガイド」の正反対版だな。彼女に言語を布教するのではなく 相互のコミュニケーションの入口として)

あくまで「入口」なので、時間的に過大な負担を伴う300ページ、400ページの仕様書は避けたい。 できればmanページ一つ、長くても200ページにとどめたい。

あと、いくら言語的に基礎といっても古びを感じすぎるものは避けたい。 言語好きが『Brainf.ck』は外せないと言っても、それはちょっとさすがになあ、と思う。 そういう感じ。

彼女の設定は

言語知識はいわゆる「Hello World」的なものを除けば、FizzBuzz程度は見ている
サブカル度も低いが、頭はけっこう良い

という条件で。

まずは俺的に。出した順番は実質的には意味がない。

Perl (Larry Wall監督)

まあ、いきなりここかよとも思うけれど、「P言語以前」を濃縮しきっていて、「P言語以後」を決定づけたという点では外せないんだよなあ。スクリプトの長さもたいてい1行だし。

ただ、ここでuse strict;全開にしてしまうと、彼女との関係が崩れるかも。

この情報過多な作品について、どれだけさらりと、嫌味にならず濃すぎず、それでいて必要最小限の情報を彼女に伝えられるかということは、オタ側の「真のコミュニケーション能力」の試験としてはいいタスクだろうと思う。

S言語(John Chambers/Rick Becker/Allan Wilks監督)、R言語(Ross Ihaka/Robert Gentleman監督)

アレって典型的な「オタクが考える一般人に受け入れられそうな言語(そうオタクが思い込んでいるだけ。実際は全然受け入れられない)」そのもの

という意見には半分賛成・半分反対なのだけれど、それを彼女にぶつけて確かめてみるには 一番よさそうな素材なんじゃないのかな。

「言語オタとしてはこの二つは“DSL”としていいと思うんだけど、率直に言ってどう?」って。

Scheme(Guy Steele Jr./Gerald Jay Sussman監督)

ある種の計算機科学オタが持ってるマクロへの憧憬と、MIT監修のオタ的な考証へのこだわりを 彼女に紹介するという意味ではいいなと思うのと、それに加えていかにもSussmanな

「童貞的なださカッコよさ」を体現するS式

「童貞的に好みな女」を体現する再帰

の二つをはじめとして、オタ好きのする特徴を世界にちりばめているのが、紹介してみたい理由。

PHP(Rasmus Lerdorf監督)

たぶんこれを見た彼女は「Perl 3.0だよね」と言ってくれるかもしれないが、そこが狙いといえば狙い。 この系譜の作品がその後続いていないこと、これがWebでは大人気になったこと、 Webなら汎用言語になって、それが他言語に輸入されてもおかしくはなさそうなのに、 他言語でこういうのがつくられないこと、なんかを非オタ彼女と話してみたいかな、という妄想的願望。

Squeak(Alan Kay監督)

「やっぱり言語は子供のためのものだよね」という話になったときに、そこで選ぶのは「Logo」 でもいいのだけれど、そこでこっちを選んだのは、この作品にかけるKayの思いが好きだから。

断腸の思いで削りに削ってそれでもeToys、っていう尺が、どうしても俺の心をつかんでしまうのは、その「捨てる」ということへの諦めきれなさがいかにもオタ的だなあと思えてしまうから。

GUI環境を俺自身は冗長とは思わないし、もう削れないだろうとは思うけれど、一方でこれが LarryやGuidoだったらきっちりテキストオンリーにしてしまうだろうとも思う。

なのに、各所に頭下げて迷惑かけてGUI環境を作ってしまう、というあたり、どうしても 「自分の物語を形作ってきたものが捨てられないオタク」としては、たとえKayがそういうキャラでなかったとしても、親近感を禁じ得ない。作品自体の高評価と合わせて、そんなことを彼女に話してみたい。

COBOL(Grace Hopper監督)

今の若年層でCOBOL見たことのある人はそんなにいないと思うのだけれど、だから紹介してみたい。

FORTRANよりも前の段階で、言語の哲学とかコンパイル技法とかはこの作品で頂点に達していたとも言えて、こういうクオリティの作品が電脳言語でこの時代にかかっていたんだよ、というのは、別に俺自身がなんらそこに貢献してなくとも、なんとなく言語好きとしては不思議に誇らしいし、いわゆるLightweight Languageでしか言語を知らない彼女には見せてあげたいなと思う。

C++0x(Bjarne Stroustrup監督)

オブジェクトの「指向」あるいは「テンプレート」をオタとして教えたい、というお節介焼きから見せる、ということではなくて。

「終わらない仕様追加を毎日生きる」的な感覚がオタには共通してあるのかなということを感じていて、だからこそVisual版『Stu☆dio』最終言語はC++以外ではあり得なかったとも思う。

「祝祭化した言語で書く」というオタの感覚が今日さらに強まっているとするなら、その「オタクの気分」の源はC++にあったんじゃないか、という、そんな理屈はかけらも口にせずに、単純に楽しんでもらえるかどうかを見てみたい。

Haskell(David Turner監督)

これは地雷だよなあ。地雷が火を噴くか否か、そこのスリルを味わってみたいなあ。

こういう遅延評価風味の型推論をこういうかたちで言語化して、それが非オタに受け入れられるか 気持ち悪さを誘発するか、というのを見てみたい。

Ruby(まつもとゆきひろ監督)

9本まではあっさり決まったんだけど10本目は空白でもいいかな、などと思いつつ、便宜的にRubyを選んだ。

Perlから始まってRubyで終わるのもそれなりに収まりはいいだろうし、Rails以降のフレームワーク時代の先駆けとなった作品でもあるし、紹介する価値はあるのだろうけど、もっと他にいい作品がありそうな気もする。

というわけで、俺のこういう意図にそって、もっといい10本目はこんなのどうよ、というのがあったら 教えてください。

「駄目だこのコーダーは。俺がちゃんとしたリストを作ってやる」というのは大歓迎。

こういう試みそのものに関する意見も聞けたら嬉しい。

Dan the Computer Language Otaku

追記:tnkさんのコメントより

ありました

見逃してました><


この記事へのトラックバックURL

この記事へのトラックバック
元ネタ アニオタが非オタの彼女にアニメ世界を軽く紹介するための10本 *1 コンピューダ言語編(増田ver.) プログラミング言語オタが非プログラマーの彼女に言語世界を軽く紹介するための10言語 コンピュータ言語編(弾氏ver.) 404 Blog Not Found:言語オタが非オタの彼女
アルゴリズムオタが非オタの彼女にアルゴリズム世界を軽く紹介するための10本【Eternalic 出張版】at 2008年08月10日 05:57
まあ、どのくらいの数の水樹奈々オタがそういう彼女をゲットできるかは別にして、 「オタではまったくないんだが、しかし自分のオタ趣味を肯定的に黙認してくれて、 その上で全く知...
水樹奈々オタが非オタの彼女に水樹奈々世界を軽く紹介するための10曲【Tokyo O life - ずばぴたテック】at 2008年08月05日 06:49
最近「○○オタが非オタの彼女に○○を軽く紹介するための10本」が一部で流行っている。 発端→アニオタが非オタの彼女にアニメ世界を軽く紹介するための10本 404 Blog Not Found:言語オタが非オタの彼女に言語世界を軽く紹介するための10言語 小飼さんの「言語オタ」バージ...
言語オタが非文系の彼女に世界の言語を軽く紹介するための10言語【絵文録ことのは】at 2008年08月05日 01:54
最近「○○オタが非オタの彼女に○○を軽く紹介するための10本」が一部で流行っている。 発端→アニオタが非オタの彼女にアニメ世界を軽く紹介するための10本 404 Blog Not Found:言語オタが非オタの彼女に言語世界を軽く紹介するための10言語 小飼さんの「言語オタ」バージ...
言語オタが非文系の彼女に世界の言語を軽く紹介するための10言語【絵文録ことのは】at 2008年08月05日 01:54
言語オタが非オタの彼女に言語世界を軽く紹介するための10言語 おお、期待して良いのか? 彼女の設定は 言語知識はいわゆる「Hello World」的なものを除けば、FizzBuzz程度は見ている サブカ...
話にならんな【日々mnagaku】at 2008年08月04日 12:40
この記事へのコメント
非言語ヲタなメスですが、名前だけ知ってるのが
Perl、PHP、Ruby だけ。後は何ですか?って感じ。
寧ろ一般的非言語ヲタなメスは、軽く説明されても
興味ナッシングなので、上の空で終わるか、
退かれて終わるんでねが?
Posted by たたら at 2008年08月14日 17:12
Eiffelだよお。おフランスでオシャレだし。
Posted by じょりちょこ at 2008年08月07日 17:02
彼女に紹介するなら、そこでぜひ「ひまわり」を。
Posted by 通りすがり at 2008年08月05日 18:48
コンピュータ言語「ゆとりちゃん」

その言語にはやりたいことがぜんぶはじめから
関数で用意されているという。
ただし円周率は3で数学の関数を呼ぶと「キモイ」が帰ってくる。





Posted by コンパイルされたい(意味不明) at 2008年08月05日 17:42
言語というから自然言語かと思ったのに・・・。
タガログ語とか、シンハラ語とか・・・。
Posted by 〜 at 2008年08月05日 00:03
いきなりPerlってオタ丸出しじゃねえかw
use strict; の時点でマゾだよw

$とか@とか%とかどんだけ変態なんだよ
Posted by ~ at 2008年08月04日 23:00
ozが無いのがほんと残念な感じ
Posted by e at 2008年08月04日 19:39
もしかしたら「ネタにマジレスするところまでがネタ」なのか、
考え始めると頭が痛くなってきました…
Posted by nanashi at 2008年08月04日 17:49
うわー 同性でも言語の楽しさを伝えるのは至難の技だぜ、旦那。
彼女がP言語で my $hoge とかやりだすような 論理構築のできるやつだとはとても思えない。
いっそのことVBとかでぐいぐいっとしたほうがいいかもしれない。

まずはLEDピカピカが電子工作でだいじなように
GUIのぺこぺこするボタンって重要だと思うのな。
Posted by nil at 2008年08月04日 16:25

だれかスイーツって言語つくらないかな。
C言語やRUBYとほとんどおなじなんだけど
関数の名前とかがいちいちオシャレなの。




Posted by デップリゲンガー at 2008年08月04日 13:24
言語ヲタが非言語ヲタ的彼女に教える云々以前に、興味を持つどころか、避けられそうな気がする・・・。ある種ディープな鉄道ヲタやアニメヲタなどと同等の匂いがするから。デザインやってますの方がミーハーな日本女子には受けそうだし(^_^;)。音的にはRubyが有利そうですね。
Posted by taka.BRK at 2008年08月04日 11:34
>まだこれがないとは。
ありますよ。
http://anond.hatelabo.jp/20080724041903
Posted by tnk at 2008年08月04日 10:57
Prologがないとは!
Posted by おごちゃん at 2008年08月04日 09:55
これ、俺が紹介されてみたいと(ry
Posted by apto at 2008年08月04日 09:43
ここは一つHyperTalk。
Posted by Q at 2008年08月04日 08:49
10本目はJavascriptでしょうかね?
Posted by t at 2008年08月04日 08:29
先生、javaはだめでしょうか
Posted by ton at 2008年08月04日 05:16
Little Perl Parlor 世代さん、
thanks, patch applied.
Dan the Typo Generator
Posted by at 2008年08月04日 04:17
$title =~ s/彼女の/彼女に/;
Posted by Little Perl Parlor 世代 at 2008年08月04日 04:12