---
type: article
title: Javaの本質ってば
timestamp: 2007-09-26T00:00:00Z
profile: sorane-okf/0.1
noFontEmbedding: true
---

# Javaの本質ってば

<p>うわ何か僕のいいそうな台詞だな。初めて触った言語はN-60 BASICで、三十路に入ったばかりで40代、50代じゃないけどさ。<a class="keyword" href="http://d.hatena.ne.jp/keyword/Java">Java</a>を初めて触ったのはHotJava Alpha 2の頃だけど、歴史的を振り返るにCに阿った<a class="keyword" href="http://d.hatena.ne.jp/keyword/Scheme">Scheme</a>じゃないのかな。だから<a class="keyword" href="http://d.hatena.ne.jp/keyword/Microsoft">Microsoft</a>がMSJVMでSunを追うときにはDavid Moonを雇った。Anders Hejlsbergが<a class="keyword" href="http://d.hatena.ne.jp/keyword/Pascal">Pascal</a>をhackしても誰も怒らなかったけど、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Java">Java</a>をhackしたら訴えられたので<a class="keyword" href="http://d.hatena.ne.jp/keyword/C%23">C#</a>をつくったが、こちらは<a class="keyword" href="http://d.hatena.ne.jp/keyword/scheme">scheme</a>より<a class="keyword" href="http://d.hatena.ne.jp/keyword/Common%20LISP">Common LISP</a>っぽい。あと<a class="keyword" href="http://d.hatena.ne.jp/keyword/Java">Java</a>以上に<a class="keyword" href="http://d.hatena.ne.jp/keyword/C%2B%2B">C++</a>っぽくしたり。<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B4%D7%CF%C3%B5%D9%C2%EA">閑話休題</a>。</p>
<blockquote cite="http://d.hatena.ne.jp/gothedistance/20070925/1190735976" title="GoTheDistance - 技術的老化というSIerの持病"><p>確かに本質的なことが分かっていれば最新のことはあくまでその延長線上にあるんだから評価できるよね、って言う人はすごく多くいる。大抵40代?50代の方。だけど、じゃあ<a class="keyword" href="http://d.hatena.ne.jp/keyword/Java">Java</a>の本質ってなんでしたっけって説明できる人はいない。やったことがないものについては、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C0%E4%C2%D0%C9%BE%B2%C1">絶対評価</a>できないんだから。</p>
</blockquote>

<p>いや本質とは何ぞや、というのが分からないんで外しているかも。データベース的消費ってかIT業界ってばア<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%C7%A5%A2">イデア</a>は素晴らしかったけど<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AD%A5%E3%A5%BA%A5%E0">キャズム</a>を超えられなかった技術で死屍累々としていて、手を換え品を換え世に問う地道な人々がいる訳で。新しい組み合わせは多いけど全面的に新しい技術ってない。探せばあるのかも知れないけど、まず流行らない。<br />
だから技術史を押さえておくと、それが本質かはさておき新しい技術に対して飲み込みは早いよ。<a class="keyword" href="http://d.hatena.ne.jp/keyword/Java">Java</a>をすぐに飲み込めたのも<a class="keyword" href="http://d.hatena.ne.jp/keyword/Smalltalk">Smalltalk</a>や<a class="keyword" href="http://d.hatena.ne.jp/keyword/LISP">LISP</a>な人々だったり。<a class="keyword" href="http://d.hatena.ne.jp/keyword/Perl">Perl</a>と<a class="keyword" href="http://d.hatena.ne.jp/keyword/Java">Java</a>を触っていれば、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>の飲み込みも早かったんじゃない？個人的には<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B4%D8%BF%F4%B7%BF%B8%C0%B8%EC">関数型言語</a>を誰が<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BE%DD%B2%E7%A4%CE%C5%E3">象牙の塔</a>から引きずり出すかとかに興味がある。いまの<a class="keyword" href="http://d.hatena.ne.jp/keyword/Haskell">Haskell</a>や<a class="keyword" href="http://d.hatena.ne.jp/keyword/Erlang">Erlang</a>が爆発的に流行るとは思えないけど、そのうち誰かが素敵な糖衣を被せてくれるでそ、みたいな。<br />
まぁ組み合わせを新しくして新しい用途に使えば、新しくいろいろなことが起こるし、そういう新しい世界で新しいコーディング文化とかも興るのだろうし、触ってみなきゃ分からないことは山ほどある。あと、ひとは失敗から学ぶんで、組み合わせたときに既知の欠点に対して解決なり回避していることもある。<br />
そういう意味じゃ触ってない人が技術的判断をするのはまずいよね。ただ、年を食ったら新しい技術を触れないなんてことは断じてない。触らず知ったかぶりをする奴は若い頃からそうだし、年食っても仕事で書くかは別として好きな奴なら評論する前にコードを触る。そんだけ。</p>
