先週はIVSのため札幌からそのまま東京にもどって、その日の夜に仙台までクルマで移動、そのまま朝からみっちり10時間、9leap Programming Campをやって(これも人数は少ないながらも随分盛り上がりました。詳細は週アスPLUSのレポートをご覧下さい)。
それから被災地を少し回って、深夜に東京に戻ったらなんか熱がある。
朝起きたら疑惑は確信に変わり、朝から寝込んでしまった。季節の変わり目は僕はほぼ100%風邪を引いてしまうのだけど、気をつけたい。もうトシだし。
さて、そしてなんだかベンチャーナウというベンチャー媒体があるんだけど、そこに書いてある僕の発言とされる台詞があまりに間違っているので、訂正をお願いしたところ、なぜか拒否されてしまった。
なにかまずい記事というわけではない。
しかし、よりによってこの僕が「JavaとJavaScript」を混同している、ともとられかねないミスだったので、非常に丁寧にお願いしたのだが、「一度出してしまった記事は訂正できません」と頑に突っぱねられてしまった。
しかし、取材の電話をいきなりかけてきたのは向こうで、記事の確認すらさせてくれず、掲載してしまったあとで「訂正できません」はひどい。
訂正するとなにか損でもするのか?
あまりにアタマに来たので、そのままTogetterに顛末をまとめた。
そのまままた泥のように眠ったが、夕方目が覚めてみると、携帯メールになにか入っていた。
「清水さん!なんでTwitterであんなに怒ってるの?ってかJavaって何?JavaScriptって???いまIT系の会社受けようとしてるんですけどワカンナいとヤバいッスか?教えて下さい!ブログで!」
来週某IT企業の三次面接に行く、という大学生からだった。
たしかに、彼女はお世辞にもITに詳しいとは言えない。
けど、ケータイは好きだし、ニコ動はかなり好き、らしい。
むしろ今IT企業が必要としているのは、そういう「ちょっとフツーの感覚を持った女の子」じゃないかなあ、と思ったりもするのだ。
じゃあなぜうちの会社で雇わないのかって?
それはたぶん彼女はうちの会社の入社試験にパスしないから。
また、僕はたとえアルバイトであっても正社員として新卒登用するときには、他の大手企業の内定をとってくることを条件にしている。他でいらないような新卒は僕たちもいらないのだ。
試験の基準は厳格にしておかないと組織は内側から崩壊してしまうしね。
さて、とはいえ、なるほど。これからIT業界に来ようと言う人が、JavaとJavaScriptの区別もついていないんじゃしょうがない。
いや、業界の内部に居ても、なんだかその区別がついていないような人が脳裏に数人浮かんでは消えた。ぶるるっ
少なくともこれを知らないと言うのはIT業界人として恥ずかしいことである、ということくらいは解ってほしいので風邪で寝込んでいる病床からちょびっとだけ解説したいと思う(早く寝ろ、という声もあるが)。
まず簡単なところから。
Java(ジャバ)とは、サン・マイクロシステムズ(SUN、いまはOracleが買収)が開発したプログラミング言語で、その利用目的は幅広い。
そしてJavaScriptは、ネットスケープ社(Firefoxのモジラ財団の全身)が開発したWebブラウザ専用のプログラミング言語で、その利用範囲は非常に狭い。いや、狭かった。
両者は偶然、かなり似た名前だが、作った会社も作った人も、作られた目的も利用方法も全く異なるので、JavaとJavaScriptを混同するというのは、蛯原友里と伊勢海老、中秋の名月と萩の月、女子部と女装部を混同するくらい間違ったことなのだ。
Javaは汎用的な言語として、ネットワークサーバの実装からケータイのアプリまで幅広い範囲を受け持つ。その言語構造は厳格にして冗長。プログラムがまるで親の仇のように長くなるかわりに、これ以上無いほど堅牢なプログラムを書くことを可能にする。
対して、JavaScriptは、もともとWebブラウザ用に作られただけあって、あまり厳格なプログラムを書くのには向いていない。
そのかわり、手早くかつ高速なプログラム実行をモットーとしている。
JavaはJavaVMと呼ばれる環境がないと動かないことが多いので、実行環境をかなり選ぶ。
たとえばフィーチャーホンのiアプリなどは総てJavaだ。
しかし、JavaScriptは、ブラウザが最新のものならばまず動く。
そしてHTML5という最新のWeb規格では、JavaScriptこそが主役であって、Javaの出番は全くないのだ。
また、最近ではnode.jsというサーバ側でもJavaScriptで記述する技術が登場したり、Unityという、高度なゲームプログラミングをJavaScriptベースで実現するゲームエンジンが登場したりしてJavaScriptも次第に汎用性を増して来た。
もっと突っ込んだ話をすると、JavaとJavaScriptはそもそも祖先からして違う。
Javaの祖先はC言語、そのまた祖先のFORTRANという、極めて厳格性の高い言語であるのに対し、JavaScriptの祖先はLispという、ハッカーが好んで使う変態言語をもとにしている。
コンピュータ言語はFORTRANとLISPによって二派に別れたということになり、これはスターウォーズでいえばジェダイの騎士とシスの暗黒卿くらい違う。
・・・と、ここまで書いたものをとりあえず彼女にメールしてみたら返事が来た。
「長過ぎます(涙)・・・そしてシスのなんとかってのがわかりません。シスアド?のことですか?」
うん。違うよ。
仕方が無いので電話をかけた。
「シスの暗黒卿っていうのはね・・・」
「いや、それはどうでもいいんですけど、結局JavaScriptとJavaの違いって、一言で言うとなんなんですか?」
「血筋の違いかな」
「それってワンピースだったらルフィとエースみたいなものですか?」
「んー?・・・・まあたしかに義兄弟みたいなものと言えなくもない」
とするとFlashは、サボか・・・・い、いや・・・・
「ワンピースは血筋が入り組み過ぎていて説明が難しいね」
「んー、なんだったらわかるんだろう」
「AKB48とモーニング娘。。くらいの違い」
「それ、どっちがいいっていう意味で言ってるんですか?」
そりゃもちろん・・・・、いや、そういう問題ではない
「秋本康とつんく♂くらいの違いかな」
「ふーん・・・わからないけど、イメージはついた。要は違う違うって言ってるけど、アイドルが好きな似たようなオッサン二人ってことね」
「え、え?・・・そういう結論になっちゃうの?」
「だってわかんないし。AKBとモー娘。とか。ま、いいや。あれでしょ。モーオタと同じで、ハマってる人はぜんぜん違うって主張するから、そこらへん、傷つけないように気を使ってあげればOKってことね。サンキュー」
面接落ちろ。
と、思った。
Post a Comment