[Previous entry: "PgUp, PgDn"] [Next entry: "incredible? unbelievable?"]
02/18/2004: "言語擬人化作戦"
スピッツのスターゲイザーだっけ? あれのAメロの「♪こま~る~、こま~る~」のとこがコンビニに入った瞬間に聞こえてきてしまい、笑いが止まらない。この曲おかしいぞ。
で、ですね。「○好きな人って△△だよね」という会話はよくなされる訳ですので、「ある言語の信奉者は、その言語独特の傾向がにじみ出る」という勝手な妄想をしてもいいと気づきまして、さっそくやってみることとしました。のだけど、どうせだから主要なプログラミング言語を、言語特性を踏まえて擬人化もしてみます。言語特性は使われ方の実情も加わってますが、もちろん主観バリバリです。
C
言語特性:
シンプルなロジック。ローレイヤのプログラミング向け。歴史があってポータビリティが高い。gcc ならいろんなCPU向けにクロスコンパイルできる。が、一人でやってると、ドキュメントもなくて再利用性の低い「俺ライブラリ」が積もっていって、ある意味他人にとっては使い勝手が悪くなる。最適化オプションを与えまくると挙動がおかしくなる。
擬人化:
思考が単純。基礎体力が高いがゆえに、独自のトレーニングを積みがちだが、よいコンパイラ(コーチ)に出会えば、どんな種目でもこなせる体育会系みたいな感じ。教育に失敗すると、基礎体力の高さをもてあまし、不良化することもある。連続耐久外回り営業などが得意。
C++
言語特性:
構造は超綺麗だがまわりくどい。ちょっとしたことをやるのにもごっそりコードを書かなくてはならない。
擬人化:
何事も綺麗な構造であることを優先し、時間やコストの概念がない。何か一言を言うために前置きをずーっとする癖がある。理想追求の孤高の人。
COBOL
言語特性:
メインフレーム時代(今もだが)に一世を風靡した。定型なデータに対しては恐ろしい処理能力を発揮するが、ちょっと一般性の高いプログラミングには不向き。
擬人化:
レジ打ち、事務処理など、定型の労働と定時上がりが得意&大好き。ちょっと一般性の高いテーマを与えられると機嫌が悪くなる。老人ウケがよい。
FORTRAN
言語特性:
行列演算、数値演算は超速い。使いこなせる場所と人がいると科学計算に能力を発揮する。構造化プログラミングには不向き。数値演算ライブラリが恐ろしく充実している。
擬人化:
廊下や路上などで意味なく普段から走ってる。白衣が似合う。普段から数式をつぶやいている。ストイックで質実剛健なので、外観がボロボロな車に乗ってたりする。
Delphi (Pascal)
言語特性:
ある時代においては、VB並にちょこざいなことがすぐできて、C並に速い、可読性も高いという利点を備えていたが、今や方言のようになってしまった。しかし昔の MacOS がPascalでできていたことに誇りを感じてもいる。OOPができる。
擬人化:
エスペラント使い。
VB
言語特性:
最大公約数的、似たり寄ったりなインタフェースを使った、小手先のツールを作成するのに使われる。周りの強力なツール(Officeなど)にフロントエンドの機能を加えることに向いている。Basicなので使いやすくはある。
擬人化:
文系だと、クリエイターの表で媒体に対して頑張る代理店のような感じ。確信犯的に最大公約数への効果を狙ってるか、天然で最大公約数かのどちらか。
VC++(C#)
まだよくわからない。
Java
言語特性:
Write Once, Run Anywhere な理念は崇高だが、行き着くところ携帯電話の中と企業用web系システムの内部にのみ居場所がある。C++ がベースだが、C++ で面倒だったところは廃している。強力なメモリ管理や開発フレームワークのご加護により、素人でもそこそこ開発に参加できる。バーチャルマシン上で動作するため、マシンの真のパフォーマンスを出しているとは言い難い。若い子が最初に覚える言語になりつつある。
擬人化:
大きめの会社で仕事をしてるが、視野が狭く、車輪の再発明に喜んだりしがち。
Perl
言語特性:
湯水のようにインフラのリソースを使うことで、ちょこざいなことを楽勝でこなすタイプ。「一つのことを行うアプローチはいっぱいある」スタイル。暗黙のうちにいろいろ都合のいいようにやってくれる癖がある。
擬人化:
株価の高いIT系ベンチャーで、ポロシャツの首にケータイを下げている。暗黙のうちにいろいろやってもらうことに(都合のいいうちは)抵抗はない。何事についても、ビルドの高速化が大事であり、実行の高速化は関心がない。
Ruby
言語特性:
日本製。オブジェクト指向ののきれいな構造に則っているのにミニマルな書式で書ける。Perl が嫌い。
擬人化:
ドメスティックブランドを大事にするタイプ。日本のコミックが無批判に大好き。中小ソフトハウスに所属し、ウハウハなITベンチャーに対してルサンチマンを溜めている。Ruby 好きが「Ruby いいだろ光線」を発するところは、マカーの集団にも似ている。
Python
言語特性:
Perl並のことは全部できる。構文がわかりやすい。「一つのことを行う方法は一つだけ」スタイル。Perl が嫌い。
擬人化:
Ruby が日本コミック好きなら、こっちは純血アメコミ大好き。Perlが嫌いなところは一緒。ただし特にルサンチマンはない。
さて、俺はどれだろう。Rubyかも。