『エンジニアマインド』創刊号の巻頭を飾った座談会。場所を居酒屋に移動して行われた座談会の続編、第4回です。語るは、伊藤直也氏、吉岡弘隆氏、ひがやすを氏、登大遊氏、木下拓哉氏という開発現場の最先端に陣取る5名、司会進行はリナックスアカデミーの濱野賢一朗氏という豪華キャストでお届けしています。
編集部:濱野さんは、PHPのコミュニティに参加されていたと思うのですが、最近のPHPはどうですか?
濱野:PHPの世界も今フレームワークが盛り上がっていて、Railsっぽい世界に進んでいます。
ひが:ZendがZend Frameworkを作っているじゃないですか。
濱野:いま過渡期で、Ethnaとかsymfonyとかいろいろなフレームワークが出てきてPHPのフレームワークの戦国時代にみたいになっていて、おもしろくて、でも最後はZendがもっていくのか・・・みたいなことが話題になったりしています。実際には、Zend Frameworkって単独でポジションを取るようなものではないのですが。
ひが:Zendは見えないところがありますよね。でもJavaOneで聞いたんですが、Zendはシリコンバレーの評価がめちゃくちゃ高いみたいです。びっくりしました。なんでそこまで高いんだろうっていうくらい評価されていて、Zendは超優秀なベンチャーだと現地の人は思っています。Zendに対する評価が高い。日本がどうのこうのではなく、シリコンバレーの人はそう思っているみたいで、びっくりしました。
編集部:木下さんは言語に対する思い入れはありますか?
木下:C++だったりしたので、それに対してとくに思い入れは、フレームワークとか…もともと組み込み機器向けのOSから入ったので、まったくOSなしの環境とか、もともと提供されているサードバーティだったりして、あんまり深いところに入っていけないっていうのがあって。
編集部:言語っていろいろできたほうがいいんですか?プログラマとしては。
ひが:それについてはいろいろな意見があると思いますが、エンジニアとしての私の感覚だと、ある言語は極めたほうがよくて、それ以外はそこそこ知っていれば、大丈夫。全部知ることは、そういう人がいればすてきだけど、まあ無理。見てて一番腹立つというか気持ち悪いのは、中途半端に知っててなんでも適当に話している人。中途半端だなって。
濱野:中途半端じゃないんだけど、言語に対する適応性が異様に高い人っていますよね。
ひが:適応性が高いのは別にいいと思うんですよ。その言語を評価できるんだから、評価できるのはいいと思うんですが、その評価の基準ていうかそのへんが適当というか。
編集部:教育だとやっぱりJavaなんですか?
濱野:教育だとJavaですね。PHPとかのLLも人気がありますが。最近は、Cも見直されてきていますが。
伊藤:オブジェクト指向の考え方を勉強するのはJavaが一番わかりやすくて、硬い言語だから、結果として、インタフェースとかクラスの考え方がすごい明確になっているから、それを中心にプログラムを考えるとすごいきれいにプログラムが書けるようになる。それからスクリプト言語とか柔らかい言語を勉強したほうが設計力が身につきますよ。Javaのいいところはやっぱり硬い言語っていうところで、そのデザインパターンっていうのは、Javaが硬いがゆえに編み出された手法のような側面があります。硬い設計でいかに作るかという。
編集部:設計力って言葉が出てきましたが、今ってITアーキテクトっていう言葉について、ある方にそういうアーキテクトっていう職種があるって言ったら、ソフトウェアはすべて設計であるって。
伊藤:それは違うと思う。ソフトウェア開発でも、プログラマを200人かかえてコードを書かせているようなところでは 設計がすべてなのかもしれないけど、僕らは2、3人で創造性を使いながらソースコードを書いている。ソースコードを書かないと次がわからない。書きながら次を考えている。書かないと次になにをすればいいかわからない。そうやって決めていく。設計ありきの人と、コードを先に書かなきゃいけないって人と対立するんだけど、実はこの2つって医者と弁護士みたいな感じで、そもそも似てるようで違うことをやってるから比べても意味がない。2人とも頭を使っているが、使うところが違うっていうか。大学の先生が設計ありきっていったのは、ソフトウェア工学ありきの人で、多分ハッカーな人じゃないんですよ。
吉岡:日本の大学の弱いところは、知らない人が多いんだよね。教育の機能がまっとうされていない。ソフトウェアを作るっていうのがどういうことなのか、次の世代に十分伝えきれているかというと、伝えきれていないんですよ。だから、それがジレンマで、拡大再生産しないかぎり、ソフトウェアの開発力は日本では伸びないじゃないですか。ある意味、10人で作るより、100人で作る、1万人で作る、ってその中で、ある種の確率ですごいものが出てくるっていうのは、定数なわけなんですよ。量が増えないかぎり、登さんみたいなハッカーは出てこない。
ひが:よりコミッタを増やそうとしている。その理由は、参加してくれる人がいいっていう理由と、確率的にコミッタが増えて、参加したいって人が増えると、優れた人が入ってくる確率が高いという仮説を我々は持っていると、それを実践しようとしている。
吉岡:そうですよ。いいですよね。そういう努力しないと、シュリンクしちゃいますよね。本来ならば、若い人たちを育てるのは教育機関なわけですよ、本来ならね。濱野さんに期待することは大なんだけれども。とはいうものの、大学を出て、社会人になって、給料をもらってという、そっちのほうが大学の4年間より長いわけだから、自分が戦えるようなしくみをコミュニティにビルトインしないといけない。
ひが:コミュニティが成功してないと。
吉岡:従来は、それは会社というしくみだった。それがコミッティといっていいかどうかわからないが、そういうファジーなものがあって。会社に入ると30年くらいは同じところにいると。最初の5年、次の5年はこういうことしたというエンジニアなりのキャリアパスがあって、その時期に学ばなければいけないところは、会社の中で学んできて、自分の枠を大きくしていくというのが丸抱えの古典的なモデルだった。だけどいまは、ビジネスモデル的にも社会制度的にも成り立たないから、それを会社でできないとしたら、社会にまかせて、そういうようなものとしてのコミッティの役割がまさにあって、大学の教育機関かもしれないし、専門学校かもしれないし。OSSで言うところの狭い意味でのコミッティ、または会社であってもいいし、そういう意味でエンジニアを成長させていくような環境を作らなければいけない。それができれば、日本にはエンジニアがいっぱいいるから有機的に結合して、その人たちを教育して、ジュニアを作る。会社は関係ないし、かつOSSの分野も関係ないし、エンジニアとしての成長のパスとしての社会全体がワークするようなことができると美しいなあと。
ひが:勉強会とか世間にはあるわけで、そういうのを通じて、いろいろなコミュニケーションができるのは自分でもうれしい。実際に自分でもやっていて。
吉岡:そういうのが10年前はなかった。会社の壁がすごい厚かった。他社の人と会って話す機会というのは団体とか会合とか、会社対会社だとあったかもしれないが、不特定多数の人と会う機会はほとんどなかった。唯一、学会とかそういう古典的なものしかなかった。たとえば、大学のクラスの連中というのはあったかもしれないが、普遍的な意味ではなかった。ところが、インターネットとか、はてなとかmixiのおかげで、われわれは1つのテーブルで出会えるんですよ。本当に。
ひが:Seasar2の1つに、コミュニケーションの1つとしてはてなのダイアリーをすごい利用しているんですよ。それはみんなに言っていて、はてなのキーワードはみんな利用しているんですよ。みんな見るっていう習慣を植え付けているんですよ。そういうところはおもしろいなあと思うんですよ。
吉岡:それはね、まさにインターネットの力なんですよ。
ひが:やっぱり不特定多数の人の意見を吸い上げる仕組みをちゃんと提供した企業のしくみに乗っかっているんですね。それがすごいなあというのが俺の考えです。
吉岡:あえてまとめれば、それがはてなやmixiといった、Web 2.0の力なんですよ。
ひが:mixiについては、あんまりそうは思っていない。
吉岡:とはいうもののね、コミッティを立ち上げたとするじゃない。ぜんぜん知らない人ががんがんコミッティに入ってくる。カーネルにすごい興味がある人が、会ったことも見たこともない人が入ってくるわけですよ。読書会をするというと、自分は一生会うようなことがなかった人とメディアのおかげで会うことができる。インターネットっていうのはとおりすがりだったり、おもしろいぞっていう人もいて、これはすごいことですよ。10年前は私は間違いなく孤独だった。日本でソフトウェアを作りたかったが、泣く泣く出稼ぎでシリコンバレーに行っているという感じだった。もちろん行きたくていっているんだけど。だけど日本にデータベースを語れるコミュニティがあって、カーネルについて朝から晩まで夜通し語れるコミュニティがあって、尊敬する20歳くらい上のおやじがいたとしたら、間違いなく東京にいましたよ。10年前はそういうコミュニティがなく、あったとしてもアクセスできなかった。だけど、今日の東京でそれを発見しようと思えば発見できるんです。発見しようと思わない人はずっと昼寝してていい。でもプログラムが好きだからしたいと思っていて、この人生ってどうかなと疑問に思ったときに、インターネットで探せば、ひょっとしたら伊藤直也さんの日記にたどりつくかもしれないし、ひがさんや私の日記にたどりつくかもしれない。その日記がいつ書かれた日記かっていうと10年前に書かれたものかもしれない。ちゃんとインターネットに残っていればね。その人に伝わらないといけない。私のメッセージを聞きたいと思っている人が世界に1人いれば。いまそういうテクノロジがあるわけだから。
濱野:メッセージ性っていう。
吉岡:そうそうそう。猛烈ですよ。それは。だからインターネットに関して金儲けの手段ていうのももちろんあるが、人を救う、癒すメディアでもある一方で、中傷されるとかもあるけど、それ以上に人を励ますとか癒すとか、君のことを聞いている人が世界中で1人はいるよっていうメッセージだと思う。自分の人生で見てみると、私もインターネットやネットワークでずっと住んできて嫌なこともいっぱいあるが、インターネットにギブしてテイクしたものでいうと、テイクしたもののほうがぜんぜん大きい気がする。それが私の実感。良い悪いではなく、私はそう思いますよ。
ひが:俺は別にどっちでもいいんですよ。つねにギブしなくちゃいけないとかテイクは良くないとかはなく、業界そのものが意見の交換でよくて、ギブ&テイクを考えても難しいんじゃないかというのが。
吉岡:だからね、伊藤さんの作っているメディアっていうのはすごいんですよ。それによって社会的な影響っていうのはすごいあると思いますよ。本当の意味でのハッカー、自分の意思をプログラムというコードにして社会を変えちゃうってところでいうとハッカーですよね。
ひが:俺の考えはちょっと違っていて、はてなの技術力っていうのは気にしてなくて、すぐ提供できるサービスっていうのを考えていて、それがおもしろくて、というか人にちゃんと納得できる形で認められているから今のはてながあると思っているんですけどね。
吉岡:今までのソフトウェア産業は、売れる売れないというのがあったじゃないですか。でもWebの世界ではサービスを提供した瞬間に価値がそのままダイレクトにきまる。そこでのやりとりは本当にいままでのパッケージ型よりも速いですよね。影響力もあるし。良い影響もあるが悪い影響もたぶんありますが。そこはすごいものを作っているなっていうのはある。
ひが:サービス企業っていうのは、気合だと思うけど、Web 2.0系の企業っていうのは、技術力どうのこうのよりも、サービスや価値で判断されるっていうか、すごく良い価値を与えていれば、技術は関係なしに世間的に評価される、そういうものと思うんですよ。
吉岡:そのとおりなんだけど、価値を提供するためにはベースとしたテクノロジがあるじゃないですか。それがどんどん上がってきているわけですよ。1人に対してWebのサービスをするのと、10人、100人、100万人にやるのとではぜんぜん違うんですよ。同じ企業でも。そこのスケーラビリティが間違いなくギアチェンジがあるから。
ひが:人数で変わる?
伊藤:ぜんぜん違いますよ。たとえば、データベースを考えると、MySQLの InnoDBテーブルでは誰か1 人が読み書き込みをしているときにそのテーブル全体がロックされる。人が増えればそれだけロックの頻度が増えるし、データの量も増えてボトルネックがあちこちに移動する。
コンピュータは直接的なところはわかりやすく見えるけど、見えにくいところは全然わからないから。ある程度増えるととたんに難しくなりますよね。それは表に見えにくい難しさですね。サーバを増やせばいいとか言われるんですが、それができなくてみんな苦労してるんだよ、みたいな。
ひが:そんな単純なことを言う人がいるんだ。
伊藤:いますよ。経験がない人ほどそう言がちだと思う。リソースが足りないというのをマシンが足りないと考えていて、お金をかけてサーバを買えば対応できると思っている。
吉岡:結局、そのリアルな問題を、東京の現場で日々解決しているわけですよ。その問題をみんなで解こうよっていうのが私の提案なんですよ。それが小さい企業たちのコラボレーションとして、シリコンバレーじゃなくて東京でやろうということになるとおもしろいかなあと。たとえば、Googleはそういう人材を入れ替えして、全部集めて社内でやっているんです。