Paul Grahamのプログラミング言語観シリーズの発端

by tanabe on April 30, 2005

今さら感は非常に強くなってしまうのだけど、一応、「Paul Grahamのプログラミング言語観」シリーズは以前にTBを頂いた「とりとめもなく日記的雑記」さんの「非ハッカーが読むPaul Graham」への返答から始まった話だったりする。

Paul Grahamのプログラミング言語観・その1

Paul Grahamのプログラミング言語観・その2

Paul Grahamのプログラミング言語観・その3

Paul Grahamのプログラミング言語観・その4

Paul Grahamのプログラミング言語観・その5

Paul Grahamのプログラミング言語観・その6

基本的には「Paul Grahamのプログラミング言語観・その6」が一番関係の深い話なのだけど、これだけ書いてしまうとさっぱり意味がわからなくなってしまいそうだったので長々と書いてしまったわけで。

そして、「なぜPaul Grahamの文章に価値を感じるのか。」での予告からいくと、どうやらまだ「創造者・Paul Grahamについて」のエントリを起こすらしい。(えー

こっちは短くまとまるといいなぁ。

  

Paul Grahamのプログラミング言語観・その6

by tanabe on April 30, 2005

その6まで続いたPaul Grahamの言語観の話も、ようやく今回でおしまい。

私の考えるプログラミング言語の未来

ということで、延々書いたものの言語自体はあんまり変わらないんじゃない?ってのが結論だ。(残念なような、ほっとするような)

そして言語がどうせ大して変化していかないなら、フレームワークやライブラリがどんどん強力になることで、案外Javaが末永く生き残ったりする可能性も捨て切れない。制限がきつく安全で、企業に好かれる言語であるというのは、現時点では完成度が一番高い状態にあるということでもあるからだ。たとえ言語としての未来が途絶えていても、周辺環境を含めた総体としては延命を続けていく余地はある。短い開発サイクルへ対応できるのかという点も、フレームワーク次第である程度カバーできそうだという実証もされていたりする。

私は、特に日本に限定すればJavaの生き残る余地は意外に大きいと思っている。Webに特化しWebを活かしきろうという企業はまだ少なく、一方でエンタープライズシステムの需要は巨大だ。日本でプログラマを商売とする分にはおそらくJavaの寿命はまだまだ長い。雇われて金儲けをするならJavaのエンジニアでいるべきだろう。

しかし、この現在は少ない「Webに特化しWebを活かしきろうとする企業」を目指すのであればJavaをあっさりと捨てて、より適した言語で最大の効果を狙う方がいい。なぜなら、Dynamic LanguageはWeb時代の開発パターンには最も適した言語だからだ。書いた端からどんどん実行して試すことができ、言語自体が強力で開発効率も良い。少人数での開発になるから、必要以上に制限されている必要もない。

Web時代の開発パターンでは、まず簡単に作ってベータ版として公開する。公開したものへのフィードバックを受けながら、Dailyなどの短いスパンでどんどん修正し、機能追加を繰り返す。

これはオープンソースの開発手法の最大のメリットを取り込んだやり方だ。オープンソース式の最大の成果は、誰もがプロジェクトに参加してプログラムを開発してくれることではなく、誰もが公開されたものを見てフィードバックを返してくれることだからだ。ユーザーがソフトウェアの開発プロセスに参加することで、ニーズを反映させて良いサービスを実現する近道になる。(バグの報告も頻繁に挙がることになる。しかも重要なやつはすぐに分かる。)

ちなみに私はRubyで行きます。Mix-inの良さや、言語の核から計画的に練られたポリモルフィズムの強力さを知ると、やはりJavaは冗長に感じる。オブジェクト指向言語Rubyの名前は伊達じゃない。Javaも割と好きだったはずなのに不思議なもんだ。

オマケ)
Web時代の開発パターンについては、Paul Grahamの「もうひとつの未来への道」に詳しい。以前も紹介した文章だけど、Grahamのエッセイの中でも特に濃い文章の一つなのでぜひ読んでみてください。

  

Paul Grahamのプログラミング言語観・その5

by tanabe on April 29, 2005

ハッカー Grahamの見る言語の未来」の項の続き。

ライブラリについて

これは、「Paul Grahamのプログラミング言語観・その2」でも書いている。今後のプログラミング言語の隆盛には、言語自体とは別にそれを支援するライブラリのような存在が重要となる、とGrahamは予測をしている。引用箇所も同様となるが、繰り返しておく。

この先50年のプログラミング言語の進化は、ライブラリ関数に関するものになるだろうと思う。未来のプログラミング言語は、言語のコアと同じくらい慎重に設計されたライブラリを備えているだろう。

from "人気の言語を作るには --- Being Popular ---"

  続きを読む

Paul Grahamのプログラミング言語観・その4

by tanabe on April 27, 2005

ハッカー Grahamの見る言語の未来

最後に、ハッカーとしてのGrahamが見る言語の未来をまとめて、言語観についての話を終わりとしたい。

Paul Grahamのプログラミングへの考察はその多くが「こうあるべきだ」という姿を描いている。「こうなるだろう」という予測を述べたものは意外なほどに少なかった。Paul Grahamのプログラミング言語観の最後として、少ない中からGrahamの予測するプログラミング言語の未来をまとめておく。

Javaについて

現在、Javaがエンタープライズ系のシステムで使われる主要言語の一つであることに異論がある人はいないだろう。日本でも確実に使用事例が増え、Javaプログラマの求人は絶えない。企業の新人研修でもJavaを学ばせるところが増加しており、まさにオブジェクト指向時代のエース格といった扱いである。

しかし、GrahamのJavaへの印象は少し毛色が違う。Javaはたしかに普及はしている。だが、言語としてのJavaにはこれ以上の進化の可能性は少ないというのがGrahamの見方だ。

  続きを読む

Grahamモノを別カテゴリーにしてみる。

by tanabe on April 17, 2005

Paul Grahamの著作に関するエントリが増えてきて、検索が面倒になってきたので、別カテゴリーとして切り出してみた。

右の方にあるArchives - CategoryからPaul Grahamを選べば関連エントリへ跳べます。

  

Paul Grahamのプログラミング言語観・その3

by tanabe on April 12, 2005

Paul Grahamのプログラミング言語観・その1」と「Paul Grahamのプログラミング言語観・その2」の続き。

昨夜書き終えてストックしていたネタなのだが、うちにしてはめずらしく気の利いたタイミングでのエントリとなった。

プログラミング言語はデザインをするものを妨げるべからず

これは、やりたいことだけに集中できるということだ。プログラミングは創造的作業だ。プログラマが本来やるべきは、ソフトウェアをデザインすることで、そのために力を注ぐべきである。

プログラムというものは、証明のように、もともと様々な間違いの枝がそこいらじゅうに生えていた木の枝をきれいに刈り込んだものだ。だから言語の良さを測るには、完成したプログラムがどれだけ綺麗かを見るだけじゃだめで、プログラムが完成へと至った道筋がどれだけ綺麗だったかをみなければいけない。

from "デザインとリサーチ ---Design and Research---"

プログラムをハックする過程で、ハッカーがストレスを感じるか否かが重要なのだ。本当に創りたいものに集中していられるとき、ハッカーはストレスを感じないものだ。ストレスを感じるとしたら、そこには何か余分な機械的作業が発生している可能性がある。

  続きを読む

Paul Grahamのプログラミング言語観・その2

by tanabe on April 06, 2005

Paul Grahamのプログラミング言語観・その1」の続き。

プログラミング言語は簡潔であるべし

これは、やりたいことが手間少なくできるということだ。簡単な記述でやりたいことが実現できればハッカーは本来やるべきことにより集中することができる。ハッカーの役割はコードを書くことではない。ハッカーが本来力をそそぐべきはソフトウェアをデザインすることだ。

その意味で、プログラミング言語の簡潔さは、プログラミング言語の強力さに通じる。簡潔さを備えたプログラミング言語は、ハッカーの創造性をよりリアルタイムにソフトウェアへと反映させるのだ。

  続きを読む

Paul Grahamのプログラミング言語観・その1

by tanabe on April 05, 2005

3/21のエントリで予告していた「Paul Grahamのプログラミング観」について。

Paul Grahamの言語への要求は明快だ。Grahamのプログラミング言語に関する著述は多いが、その内容から特に重要なものを抽出すると次の三つへと集約できると思う。

  • プログラミング言語は強力であるべし
  • プログラミング言語は簡潔であるべし
  • プログラミング言語はデザインをするものを妨げるべからず

プログラミング言語は強力であるべし

これはすなわち、やりたいことがやれるということだ。プログラミング言語は、ハッカーのやりたいことを阻害する要因であってはならない。ハッカーがやりたいことがあれば、それはできるかぎり実現できる強力さを備えているべきだ。

  続きを読む

「ハッカーと画家」の新刊書評

by tanabe on March 30, 2005

PRESIDENT誌に 「ハッカーと画家」の新刊書評が載っていた。コンピュータ雑誌に載るならともかく こんな一般のビジネス誌に 掲載されるなんて意外だなと思い、とりあえず読んでみた。

まぁ、どうせ当り障りない内容なんだろうなと思って読んでみると、意外なことに訳 者の河合氏のことや 翻訳文書がWWW上で公開されていたことなども書いてあり、内容も思いの他的を得て いる。

三段目あたりで書評自体よりも誰が書いているのか気になってしまい、レビュアーの 名前を探すことに。ページの 右下辺りを見て一発で納得。

梅田望夫氏でした。
そりゃ、ピントも合うわ。

  

なぜPaul Grahamの文章に価値を感じるのか。

by tanabe on March 21, 2005

Paul Grahamの 「ハッカーと画家 コンピュータ時代の創造者たち」を読んでから、川合史朗氏のサイトにある翻訳も読んでみた。数を重ねるにつれ、Grahamの文章の何に自分が価値を感じているのかが非常に明確になってきた。そこで、これまでのようなGrahamのストーリーに沿って引用をするスタイルをやめ、色々な文章からGrahamの考えを再構築してみたいと思う。

まず、Paul Grahamの文章の素晴らしさについて。「Paul Graham - Pythonのパラドックス」のエントリでも書いたが、私はGrahamが好きではあるが、何もかも肯定しているわけではない。ではその中で本一冊と川合氏サイトの翻訳文書を読み続けたのはなぜなのか。

  続きを読む

なぜフリーソフトウェア・プロジェクトへの参加を訊ねるのか。

by tanabe on March 19, 2005

Matzにっき」 さん→「NDO::Weblog」さんと読んでいたら、同じネタを扱っていた。

なぜフリーソフトウェア・プロジェクトへ参加しないのかという質問とその理由が話題となっています。この質問へ興味を示しているのが、そもそもそういった分野で活躍している人だけなのが、なかなか面白いです。こんなすごい面子で考えていても結論出ないだろう!っていうくらい。

  続きを読む

Paul Graham - Pythonのパラドックス

by tanabe on March 15, 2005

昨日に続き、Paul Graham。今日は川合史朗氏のサイトにある翻訳から。「Pythonのパラドックス ---The Python Paradox

「私が最近行った講演は、たくさんの人を怒らせてしまったようだ。JavaのプロジェクトよりもPythonのプロジェクトの方が賢いプログラマを集められる、という部分だ。」

という、興味を惹く出だしのこの短文は非常に面白い指摘をしている。

  続きを読む

Paul Graham 「ハッカーと画家」−ものつくりのセンス

by tanabe on March 13, 2005

Paul Graham 「ハッカーと画家」の「ものつくりのセンス ---Taste for Makers」から。

「ものをデザインする我々のような立場にとって、これは単なる理論的な問題じゃない。美というものが存在するなら、我々はそれをきっちり認識できなくちゃならない。良いものを作るには、良いセンス、美を見分ける力が必要なんだ。美を実体のない抽象概念として扱って、それについてたわごとを並べたり逆にそれについて議論することを避けて通ったりするのではなく、現実的な問題として考えてみようじゃないか。「どうやったら良いものが作れる?」 」

  続きを読む

Paul Graham 「ハッカーと画家」−富の創りかた

by tanabe on March 07, 2005

Paul Graham氏の「ハッカーと画家」についてのエントリ。なんだかんだで3回目。1回限りのつもりだったのに、あまりに内容に記しておきたいことが多くてどんどん増えてしまった。

第6章 富の創りかた - How to Make Wealth - も素晴らしい。しかもこの文章は川合史朗氏のサイトにも翻訳されていないし、Paul Graham氏のサイトにも見当たらない。

まずはここでいう富の定義から始まる。

「富はもっと根本的なものだ。富とは、私たちが欲しがるもの、食物、衣服、住居、車、道具、観光地への旅行、そういったものだ。」

  続きを読む

好きなことを仕事にするということ

by tanabe on March 05, 2005

先日の自分のエントリで、行きたいライブをひたすら並べた。

それを眺めていて、ふと思いついた。こんな用途に特化したソーシャルブックマークってのも面白そうだ。自分が音楽とプログラミングをこよなく愛するためにどうしてもこの二つを結びつけて考えてしまう。

  続きを読む

Paul Graham 「ハッカーと画家」−もうひとつの未来への道

by tanabe on March 03, 2005

昨日に続き、「ハッカーと画家」から。第5章 「もうひとつの未来への道」も示唆に富む。同じ文章がこちらでも読める。「もうひとつの未来への道 ---The Other Road Ahead

  続きを読む

Paul Graham 「ハッカーと画家」から。

by tanabe on March 02, 2005

DB Magazine 2005APRとWEB+DB PRESS vol.25を買いに行ったついでに「ハッカーと画家」を購入。

先日、「知っておきたかったこと --- What You'll Wish You'd Known」を紹介したPaul Grahamの著だ。

ハッカーと画家 コンピュータ時代の創造者たち

まだ途中までしか読んでいないのだけど、気になる文章がそこかしこにあるので、一部をご紹介。

  続きを読む

知っておきたかったこと --- What You'll Wish You'd Known

by tanabe on January 25, 2005

Matzにっき 」さんから。

知っておきたかったこと --- What You'll Wish You'd Known

活字中毒者には大変ありがたい。