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の見方だ。

  続きを読む

Lisp信者がまた一人。

by tanabe on April 26, 2005

石黒氏もLisp真理教の信者だったことが発覚

いかに Lisp が素晴らしい言語であるかが、何度も繰返し述べられていて、Lisp 真理教の一員である私としても、慶賀に耐えない。今後とも、彼にはますます布教活動にはげんでいただきたいものである。

これは、いよいよLispかじってみるしかないか?

オブジェクト指向好きとしては、Rubyが最高に使いやすい道具なんで、離れる気はないんだけど、これだけ気になるハッカーが誉めているとその理由だけでも体験したくなってきた。

  

DOING PANDA "High Fidelity"

by tanabe on April 26, 2005

DOPING PANDAのHigh Fidelityを購入。

最高ー!

気分をひたすらアッパーにしてくれるこの曲調は手放せないっす。
パーティーっぽいというか、とにかく明るく耀くキラキラ感とキュキュッとしまるリズム。ライブで踊りたくなって仕方ない。

前作、We in Musicが傑作すぎで、思わずレコード屋に並んでいるのを全部購入してしまっていたり。

YAYAはもうお約束のDOPING PANDAノリなんだけど、やっぱり求めているのはこれなんだよね。踊らされているのが分かっていながら踊っちゃう。

英語がヘタめなのはご愛嬌っつーことで。

We in Music

High Fidelity

  

トレンドマイクロの不具合に学ぶ

by tanabe on April 24, 2005

トレンドマイクロの不具合の件は気になっていたんだけど、原因もけっこう致命的な模様

しかし一番の問題は、テスト工程に不備があったことだ。通常、パターンファイルを公開する前には製品とOSの組み合わせを確認するため複数のOS上で動作確認を行う。しかし今回はWindows XP Service Pack 2環境におけるテストが人為的ミスにより行われなかった。

 また、同社のウイルス対策ソフトには現在7.5.0または7.5.1と呼ばれる検索エンジンが搭載されているが、テストでは7.5.0以前の検索エンジンを利用した。このため、Ultra Protectの圧縮、解凍に関する部分のテストが行われなかった。

自社の競争力に対して致命的な部分のリスクは、回避するために最大限の注意を払わなきゃダメだなと実感。わかっていてもやらかしちゃうのが人間だからねぇ。

出社したら、自分の仕事の中でクリティカルなのはどれになるのかチェックしなおそう。

  

Snippets

by tanabe on April 24, 2005

snippetsをご紹介。

snippets

Post snippets of code. Sort by tags, people, people and tags, etc..

ソーシャルオープンソースというか、なんというか。ブログ形式で公開するソースコードにタグ付して管理をしている。まだ規模も小さいし、投稿を見るとコードだけがお気楽に参加できるオープンソースってなかんじ。

オープンソース&タギングで新しい効果が生まれると楽しいな。

ちなみにpowered by Ruby On Railsらしい。

  

浮気度チェック。

by tanabe on April 23, 2005

あなたの浮気度チェック」をやってみた。

  続きを読む

Macromediaの買収とツールへ依存するリスク

by tanabe on April 22, 2005

AdobeによるMacromedia買収の件で、一番興味深かったエントリを二足遅れでご紹介。

fladdict.net/blog」さんのAdobeとMMとGoogleとか色々雑感

今回の一件で、自分達flash使いが、いかにマクロメディアに依存した生き物なのかっていうのが、一瞬だけど物凄くリアルに感じられた。AdobeやMacromediaの株主の意向がちょっと変わっただけで、多くのflasherが時代の流れについてけずにフェードアウトってことも十分ありえる、って思ったらゾっする。

そういう意味では、JavaやVisual Studio系使いもMSやSun Microsystemsへ依存しているのだけど、Flash使いは少し毛色が違うから依存の度合いが強いのかも。

  

コンピュータのためのデザインから人のためのデザインへ

by tanabe on April 21, 2005

これもCheap Revolutionの一つの発現の形だろう。

まだ開発途中のWindowsの次期バージョン「Longhorn」と、そしてまもなくリリースされるMac OS Xの新バージョン「Tiger」では、ユーザーはファイルの保存場所を覚えておく必要がなくなる。どちらのOSにも検索ウインドウが用意され、ファイルの作成者、ファイル名、文書内の語句など、覚えていることをそこに入力するだけでよい。そして、ユーザーが1文字入力すると結果が瞬時に表示され始め、入力した文字が増えるにつれて検索結果が絞り込まれていく。

 Jupiter ResearchアナリストのMichael Gartenbergは、「情報量が多いと、20年前からある昔ながらのデスクトップメタファーでは対応しきれない。両社がこの点を理解しているのは明らかだ」と語っている。

from 「TigerとLonghorn--これほど似通っているのはなぜ

安価に高度な演算能力を得ることができるようになったため、コンピュータにとって扱いやすかったrootから始まるファイル管理のシステムが必要なくなった。コンピュータにとって都合のいい形から、人間にとって都合のいい形へとインタフェースが進化したわけだ。

コンピュータに合わせざるを得なかったインタフェースを、人間に適したより理想的なインタフェースへとシフトさせるという視点は重要になる。余剰しがちな演算能力の使い道として、しばらく重視されると思う。「次の10年」とまでは言わないけれど。

  

「次の10年」を考える。考える続ける。

by tanabe on April 21, 2005

実は、「次の10年」モノで色々と考えている。「次の10年はどういう時代か?」と「「次の10年」とグーグルの弱点を考える」を読んで以来ずっとだ。本当は、すぐにリアクションを起こしてエントリに起こそうと思っていた。それが、いつの間にやらずいぶんと時間が経ってしまっている。

私は興味のある内容を見つけると、延々とあーでもない、こーでもないと頭の中でこねくり回すので、アウトプットが遅い。インターネット時代向きではないなとつくづく思うが、性分なので仕方がない。なんとか折り合いをつけてブログで形にしていきたい。

ということで、とりあえず考えている中で出てきたことの一端をCNET Japanの記事に絡めてエントリしてみる。

  

オープンソースソフトウェアに何を求めるのか?

by tanabe on April 21, 2005

プロプライエタリ・ソフトウェアに学ぶ新規ユーザー獲得法」を読んだ。大分違和感を感じた。細かくツッコミたいところも多かったのだが、アゲアシをとっても仕方ない。一番主張したかったであろうことへ切り込んで、それだけに止めようと思う。

  続きを読む

まさか、The La's が復活するとは。

by tanabe on April 19, 2005

最近音楽情報にすっかり乗り遅れてるんですが、The La'sが復活しているんですね。

  続きを読む

吉井和哉

by tanabe on April 18, 2005

YOSHII LOVINSONのCOLUMNより。

読みながらぞくぞくした。

こういうときの吉井はきっと何かを起こしてくれる。

彼は勘違いと妄想と現実の狭間で揺れるロックンローラーだから。

  続きを読む

SIFRで自分のサイトが綺麗なフォントに。

by tanabe on April 17, 2005

fladdict.net/blogさんの「ブログで好きなフォントを使う、SIFR」を読んで知ったのですが、sIFRという技術で、自分のサイトのフォントをアンチエイリアス処理されたなめらかなフォントで表示させることができるそうです。

sIFR (or Scalable Inman Flash Replacement) is a technology that allows you to replace text elements on screen with Flash equivalents. Currently we're at version 2.0 RC4.

FlashとJavaScriptにより実現しているようなのですが、詳細は未読。このブログでも実現できそうなら、ぜひやってみたいのでdoc読んでみます。

効果はExamplesの各サイトを見れば一目瞭然。

Examplesにはありませんが、sIFRのサイトは特に効きがはっきりしているので、ここをJavaScriptの実行を許可したページと禁止したページで読み込んで比較するとその違いがよくわかるはず。

一応、サンプル画像を置いておきます。

sample_sifr_on sample_sirf_off

気になった人は、"Introducing sIFR: The Healthy Alternative to Browser Text"も読むといいかも。まださらっと流し読んだだけですが、詳しく経緯が載っているようです。

Ajaxもそうですが、Webの見せ方への関心が高まっているようですね。新しいアプローチがどんどん出てくるのは単純に楽しいです。

  続きを読む

Firefoxの拡張機能は何が人気?

by tanabe on April 17, 2005

2chの「Firefoxの拡張機能皆さんなにつかってますか?」スレをまとめたサイト。サイトのデザインがシンプルで素敵です。

Webとの連携がメインで使用しているので、あまりクライアント側の機能強化は考えていなかったのですが、まとめサイトを参考にいくつか試してみます。

  続きを読む

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

by tanabe on April 17, 2005

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

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

  

Google Maps は思い出を映すMemory Maps.

by tanabe on April 16, 2005

Google Mapsを人に紹介するついでに、昔住んでいたことのある地域を散策して遊んでいたら、とてもぴったりなエントリをブログで見つけたので、ご紹介。

michael buffingtonの"Bring on the New Web"というエントリから。どうやらGoogle Mapsは'Memory Maps'と呼ばれることがあるらしい。

I just spent some time playing with Google's satellite maps and ended up dredging up a bunch of nostalgia. I can see why people are using it to create what are being called memory maps. When you see the images of where you've been, even from a thousand feet up, it all comes flooding back.

Google MapsのSatelliteはその新規性で各所で話題となっているが、こんな楽しみ方をしている人たちもいるらしい。

たしかにGoogle MapsのSatelliteモードは、家々が一軒一軒判別できるくらいまでZOOMをすることができる。過去の自分の思い出の地を見て回る人が出てくるのも自然なことだろう。

とくにおもしろいなぁと感じたのは、この現象は「郷愁」というアナクロな感性から生まれているものだということ。Google Mapsという旬の技術を使って、こんな生かし方があったんだなぁと妙に感心してしまった。

  

なにやら

by tanabe on April 14, 2005

アクセス解析を見ていたら、なぜかmixiからのアクセスがトップになっていた。何がどんな風に取り上げられていたのだろう?気になる。

ご存知の方は、ぜひコメントやメールで教えてください。

  

「本の値段は高い」のか?

by tanabe on April 13, 2005

へー、本の値段って高いのか。

私は、定期購読を含め月に数万単位で書籍を購入しているのだけれど、内容との相対的な価格としてはあまり高いと感じたことはなかったなぁ。

というか、買う本の9割がビジネス書なので、価格以上のリターンが得られないと判断したら買わないし。働き始めてからこれまでに購入した本と、給料の上昇の相関を考えると、私にとっては価値ある本はタダより安い。

小説を買うときなんかも、その本から得られる(であろう)価値と価格の関係を判断しながら買うので、自分の判断にミスがあったと感じる(ハズレを引いたとき)ことはあっても、価格が高いと直接感じたことはなかった。むしろ「安かった。ありがとう。」と思うことの方が多いな。

ということで、気持ちとしては「くだらない本は買わないように注意しよう」の一言に尽きるのだけれど、それではあんまりなので、ちょっと話を続けてみる。

  続きを読む

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

by tanabe on April 12, 2005

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

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

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

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

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

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

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

  続きを読む

浅田祐介ライブ!

by tanabe on April 11, 2005

ひさしぶりに音楽ネタ。

祐介のライブです。

下北沢440-four fortyにて。

"夕方Rallentando IV"

U.SKE ASADA+Friends/16bit(from沖縄)/ASH/ZOOCO/他

OPEN18:30/START19:00 前売\1500/当日\2000(2order別)

最近、三連続で仕事の都合でライブを逃しているので、明後日の無戒秀徳&曽我部恵一と祐介、そして5月のZAZENは逃さず行っておきたいところ。というか、行く。

  

私の感想がとてもエラソウな件について

by tanabe on April 11, 2005

梅田望夫氏のMy Life Between Silicon Valley and Japanちょこっとこのブログの話を取り上げていただいている

ちなみに、うちからの引用文は

内容も思いの他的を得ている。

の一言。

うわー、オマエはどれだけ偉いんだ・・・

偉そうすぎるよ、自分。

いや、これは抜粋されたところがたまたま偉そうだっただけさ、と気を取り直して昨日の羽生氏の本への感想とか見てみる。

SQL書き方ドリルは良さが伝わりにくい本ですね。

うん、ほんとに文章の書き方を考え直した方が良いな、自分。

# 梅田氏も羽生氏もトップ10に入る尊敬する人のはずなんだけど、おかしいなぁ。。

  

SQL書き方ドリルを買ってみた。

by tanabe on April 11, 2005

羽生章洋氏のDB設計の話は本当にためになる。

ブログからチェックしまくり、WEB+DB PRESSの特別総集編を購入して羽生氏の名前を検索して過去記事を読み漁り、SQL書き方ドリルまで買ってしまった。

SQL書き方ドリルは良さが伝わりにくい本ですね。本当は深いところでDBチューニング(というか、パフォーマンス上の問題を起こしにくいSQLの書き方)に関する部分もサポートしているのですが、その辺りが理解できる人はこの本の装丁と非常に初心者向けに書かれた構成では手に取らなさそうです。初心者向けという意味で言えば、この本でSQLの学習を始めるという人は幸運だという言い方もできますが。とりあえず、中級者以上の人も見た目に騙されず、とりあえずザーッとでも読んでみることをお勧めします。本屋でパッと見ただけだったり、目次を見るだけだとまず見過ごしますが良書です。

Web+DB press (特別総集編) SQL書き方ドリル―すらすらと手が動くようになる

  

iPod ShuffleでLinux(KNOPPIX)が起動!

by tanabe on April 10, 2005

iPod ShuffleでKNOPPIXが起動できるという話。

これで、iPod Shuffleを購入する言い訳が増えましたね。

夫 「いざという時のために、One CD LinuxをUSBメモリに入れて持ち歩きたいんだよ。仕事で必要なんだ。」

妻 「(よくわからないし)いいわよ。」

夫 (無事にiPod Shuffleゲット)

みたいな。

  

[Ruby] Railsな考え方

by tanabe on April 08, 2005

冗談はさておき、高橋メソッド騒動で一番うれしかったのは、実は「Railsな考え方」のプレゼン資料が公開されたことだったりします。

OpenSource Conference 2005での高橋征義氏の発表資料であり、貴重な日本語でのRailsについての紹介です。

  

高橋メソッド

by tanabe on April 07, 2005

各所で話題沸騰中のあの高橋メソッドがなんとオープンソースに!

blog.bulknews.netさんやネタフルさんでも取り上げられていたあの高橋メソッドですが、実はRubyコミュニティではすでに一足早くオープンソース化が図られていました。

4月1日に発表されていた高橋征義編集長の「魔法言語ルビま! 200504号」から。

今明かされる、高橋メソッドの真実!

高橋メソッド

Rubyist の間で人気沸騰中の『高橋メソッド』。その高橋メソッドがオープンソースとして公開されました。ルビま!では今回、そのソース全文を掲載します。

個人的にはこの高橋メソッドの方が衝撃を受けました。ある意味、高橋メソッドの核心をついた良い実装だと思います。

  

b-mobile hoursを使ってみた。

by tanabe on April 06, 2005

無事に出張終わったので、出張中にb-mobile hoursを使ってみた結果報告。基本的に、これまで使っていた@FreeDとの比較。

bモバイル・アワーズ 自由につかえる150時間パッケージ

  • たしかに速い。

    Webアクセラレーター(デフォルト設定)の効果がどの程度あるかはわからないが、非常に快適。64kのドーマント方式だった@FreeDよりも明らかに速かった。体感速度100kbps超も大げさではないかんじ。
  • よくつながる。

    東京での電車内、滞在先、出張中の喫茶店などで接続をしてみたが、どこでもよくつながった。特に電車にのっていてもそれなりに使えたのは驚き。不安定なものの、駅へ近づきスピードが落ちるとページの読み込みが継続されたりして、けっこう普通に使えてしまった。
  • 使い勝手もよい。

    アプリケーションの使い勝手も良い。一度設定をしてしまえば、接続のボタンしか使わないので、あのUIは正解だと思う。キビキビ動くのでストレスもなかった。

ということで、全体に非常に好印象。@FreeDの料金で言うと6ヶ月分相当程の値段だが、常時携帯するわけではないのでOK。きっと1年半くらいは持つと思うので、結局割安になりそう。

アクセス解析見てたら、b-mobileのレビューを見に来る人がちらほら居るようなので、追加報告してみました。

  

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

by tanabe on April 06, 2005

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

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

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

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

  続きを読む