ブックマーク / www.aoky.net (12)

  • 頭の中にプログラムを入れる

    Paul Graham / 青木靖 訳 2007年8月 いいプログラマは、自分のコードに集中しているとき、それを頭の中に保持しておくことができる。数学者が取り組んでいる問題を頭の中に入れているのといっしょだ。数学者は学校で子供たちが習っているように、紙の上で問題の解いているわけではない。彼らは多くの部分を頭の中でやっているのだ。問題の領域をよく把握しようと努めることで、普通の人が記憶にある育った家の中を歩き回れるように、数学者は頭の中で問題空間を歩き回ることができる。最高の状態で行われるプログラミングもそうだ。プログラムの全体を頭の中に入れたなら、それを思い通りに操れるようになる。 これはプロジェクトのはじめにおいては特に価値がある。それはプログラムを作り始めるときに最も重要なことが、やっていることを変えられるということだからだ。単に問題の解き方を変えるという ことではなく、解いている問題

    kkmym
    kkmym 2007/08/26
    「さらに劇的なことを言うなら、典型的なオフィスで働く普通のプログラマが、自分の解いている問題を本当に理解することは決してない。」
  • どうしてプログラマに・・・プログラムが書けないのか?

    Jeff Atwood / 青木靖 訳 2007年2月26日 レジナルド・ブレイスウェイトが書いていることを読んだとき、私はそんなわけないだろうと思っていた。 私と同様、この著者は、プログラミングの仕事への応募者200人中199人はコードがまったく書けないということで苦労している。繰り返すが、彼らはどんなコードも書けないのだ。 彼が引用している著者というのはイムランのことで、彼は単純なプログラムも書けないプログラマをたくさん追い払っているということだ。 かなりの試行錯誤の末に、コードを書こうともがいている人たちというのは、単に大きな問題に対して苦労しているのではないことがわかった。やや小さな問題(連結リストを実装するというような)に対して苦労するということでさえない。彼らはまったくちっぽけな問題に苦労しているのだ。 それで、そういった類の開発者を見分けるための質問を作り始め、私が「Fizz

  • バベル案内

    Steve Yegge / 青木靖 訳 2004年9月 これは駆け足の言語案内だ — Amazon Developers Journalのために今月書いていたのだが、どうもこれを見苦しくないようにする方法を見つけられなかった・・・。 ひとつには、私はどうも粗野で口汚くなりがちで、オフィシャルな趣のあるAmazonの出版物に載せるのは不適切に思えた。それでかわりに誰も読まない自分のブログに押し込めてしまうことにした。読んでるのはあなたくらいのものだよ。どうも! もうひとつ言うと、これは当に書きかけのものであり、そこかしこの断片を集めたものでしかない。全然磨き上げられていない。これもブログエントリにする理由になっている。ブログなら別に良質である必要も完全である必要もない。単に私が今日考えたことというだけのものだ。ではお楽しみを! この駆け足の案内では、C、C++、Lisp、JavaPerl

    kkmym
    kkmym 2007/05/05
    言語比較「この駆け足の案内では、C、C++、Lisp、Java、Perlをカバーしている(私たちがAmazonで使っている言語全部だ†)。」
  • プログラミングの6大10項目リスト

    Jeff Atwood / 青木靖 訳 2007年3月22日 以下に私の選ぶプログラミングの6大10項目リストを挙げておく。取り上げた順序には特に意味はない。このエントリを簡潔なものにしておきたいので、それぞれの項目は短い要約を引用するに留める。興味を引くものがあれば、ぜひリンクをたどってオリジナルの作者の考えについてもっと詳しく読むことをお勧めする。 [ 訳注: 要約だけで意味が取りにくいものに簡単な説明をつけた。] ジェラルド・ワインバーグの「エゴレスプログラミングの十戒」 自分が誤りを犯すということを理解し、受け入れること 。 自分と自分のコードは別物である。 どんなに「空手」を学ぼうと、いつでもあなたよりもっと詳しい人間がいる。 相談せずにコードの書き直 しをしない。 自分より無知な人に対しても尊敬と敬意と忍耐を持って接すること。 世界で唯一変わらないのは変わるということだけ。 唯

  • プログラマの権利宣言

    Jeff Atwood / 青木靖 訳 2006年8月24日 企業は開発者に給与として60-100kドル支払いながら、ひどい作業環境と汚い使い古しのハードウェアによって彼らを損なっている。信じられない話だ。そんなのはビジネス的に理屈に合わない。ところがそういうのをどこでも目にする。ソフトウェア開発者が成功するために不可欠なものを与えていな い企業がいかに多いかは驚くばかりだ。 そこでプログラマの権利宣言を採択し、成功に不可欠な基的なことを否定する企業からプログラマの権利を守ることを提案する。 すべてのプログラマは2つのモニタを持つ権利を有する 下落する液晶ディスプレイの価格と、遍く存在するデュアル出力ビデオカードのことを考えるなら、開発者を1つのディスプレイに制限するのはばかげた話だ。ディスプレイを2つにすることによって得られる生産性の利益については、今では十分に説明されている。開発者の

    kkmym
    kkmym 2007/04/14
  • ソフトウェア開発者のための推薦図書

    Code Complete 2 [ Code Complete第2版―完全なプログラミングを目指して (上・下) ] スティーブ・マコネルのCode Completeはソフトウェア開発者のための「楽しい料理だ。このを読むということは、自分の仕事を楽しんでいるということであり、自分のすることに真剣であるということであり、もっと向上したいと思っているということなのだ。Code Completeの中で、スティーブは平均的なプログラマが読む 技術書は年に1冊に満たないと指摘している。このを読んでいるという時点で、あなたはおそらく周りにいる開発者たちの90%と違う行動を取っていることになる。それもいい方向にだ。 私はこのがすごく好きで、ここから自分のWebサイトの名前(Coding Horror)を取ったくらいだ。このではやるべきでない悪い例には"coding horror"アイコンで印

  • あなたの知っていることはすべて5年以内に陳腐化する

    Jeff Atwood / 青木靖 訳 2006年3月20日 ソフトウェア開発で奇妙なことが何かというと、知識が陳腐化するのがいかに早いかということだ。ダニエル・アップルマンはこれをルイス・キャロルの「鏡の国のアリス」の一場面に喩えたが、この状況がすごくよく表されている。 「さあさあ」女王が叫んだ。「もっと速く、もっと速く!」 2人はあまりに速く走ったので、そのうち空中をかすめ飛んで足がほとんど地面に触れないくらいになった。アリスは不意にすっかり疲れ切って立ち止まると、息切れとめまいを起こして地面に座り込んでしまった。 女王はアリスを木にもたせかけて立たせると、優しく言った。「少し休むといい」 アリスは周りを見回して驚いた。「あら、ずっとこの木の下にいたみたい! みんな元のままだわ!」 「もちろん元のままだとも」と女王が言った。「どうなると思ったの?」 「だって、私たちの国では」アリスはま

    kkmym
    kkmym 2007/03/23
    戒めとして。
  • Googleのようにコンピュータを組み立てる

    Jeff Atwood / 青木靖 訳 2007年3月12日 シリコンバレーに行くことがあれば、コンピュータ歴史博物館を覗いてみることを強くお勧めする。現存で唯一動作するPDP-1があって、それを使ってオリジナルのSpacewarゲームができるような場所が、他にあるだろうか? 私は行ってみたが、すごかった。ゾクゾクした。は退屈しきっていたが、それでもずっと付き合ってくれたことに感謝している。 この博物館は特設展よりも常設展示の方に当に面白いものがある。それが建物の大部分を占めていて、かつて耳にしたことのあるあらゆるコンピュータが置かれている。見ることのできる所蔵品の中に、1999年のGoogleの 初期のサーバがある。 Googleの最初の量産サーバ 1999年 Google, Inc. アメリカ 限られた資金で、Googleの創業者ラリー・ペイジとサーゲイ・ブリンはこの安価な相互接続

  • 顧客の機能要求に折れないこと!

    Kathy Sierra /青木靖 訳 2006年5月10日 製品やサービスが成功するほど、ユーザの要望を受け入れるようにというプレッシャーは強くなる。ユーザが多くなるほど、要望の範囲は広がっていく。あるユーザにとっての 「それがないんだったら買わない」機能が、別のユーザには取引をぶちこわすものになる。そしてあなたの製品やサービスが人気になるほど、そういった要望は、要求と最後通牒へと変わっていき、ついには痛烈な批判になる。 私たちになしえる最悪のことは、それに折れるということだ。しかし要望/要求や批判が強く、怒りを帯びたものになるほど、誘惑に抵抗するのは難しくなる——「この1個だけ付け加えれば・・・きっとあの連中もおとなしくなってくれる」 しかしあらゆる色を1つに混ぜ合わせて泥色のしみを作るなら、誰も私たちのすることを嫌わなくなるが、同時に誰も喜びも、興奮も、魅了もされなくなる。そうして私

    顧客の機能要求に折れないこと!
    kkmym
    kkmym 2007/03/13
  • 天才になるのに遅すぎるということはない

    Kathy Sierra / 青木靖 訳 2006年9月27日 Webやテクノロジーの世界では(その他の多くの分野でも)、大きなアイデアというのは若い人から生まれるようだ。弱冠27歳にして、Ruby on Railsフレームワークの作者デビッド・ハイネマイヤ・ハンソンは世界を変え、Rubyに存在 意義を与えた。それにFlickrを作ったカタリナとスチュワートがいる。そして言うまでもなく、私がこの記事を書いているブログサービスの 生みの親、Six Apartのベンとミナがいる。 ラリーとサーゲイ、Googleの裏にいる「男の子」たち。ジェフ・ベゾスがAmazonを設立したのは、ちょうど30歳のときだった。O'Reillyの最初のFoo Campで、バート†をゲームで苦しめていた相手の若い子がBitTorrentの作者であるブラム・コーエンだったことを後で知った(彼はTime誌の最も影響力のあ

    kkmym
    kkmym 2007/02/20
    Macに乗り換えるか。
  • デモではものができあがっているように見せない

    Kathy Sierra / 青木靖 訳 2006年12月27日 (アルファ版のような)開発中のものを私たちが世間や、クライアントや、ボスに見せるときには・・・彼らの期待のレベルを設定することになる。これは3通りの方法でやることができる。磨き上げられたモックアップで幻惑するか、プロジェクトの現状に合ったものを見せるか、ほとんどできていないものを見せながら順調に進んでいるから「信用しろ」と言っていら立たせるかだ。 結論を言うなら: どれくらい「できている」ように見えるかは、実際どれくらい「できている」かに合わせるべきだ。 ソフトウェア開発者はみんなそのキャリアにおいてこのことを何度も思い知ることになる。しかしテクニカルライターもまた、デスクトップパブリッシングツールによって同様の問題に直面する——フォントやレイアウトが完璧に仕上げられたドラフトを誰かに見せるなら、その人はあなたが考えるよりも

    kkmym
    kkmym 2007/01/01
    いまのやり方って、ミスリーディングしてる可能性もあるな。。。
  • スタートアップを殺す18の誤り

    Paul Graham / 青木靖 訳 2006年10月 最近やった講演の後のQ&Aで、スタートアップを失敗させるのは何かという質問をした人がいた。その場に立ったまま何秒か呆然としていた後、それが一種のひっかけ問題なことに気付いた。これはスタートアップを成功させるのは何かという質問と等価なのだ——失敗の原因となることをすべて避けるようにすれば、成功することができる——そしてこれはその場で答えるにはあまりに大きな問だった。 後になって、私はこの問題をそういう方向から見るのも有効かもしれないと思うようになった。すべきでないことをすべて並べたリストがあれば、それをただ逆にするだけで成功へのレシピに変えることができる。そしてこの形のリストの方が、実践する上で使いやすいかもしれない。やらなければならないことをいつも頭に入れておくよりは、何かやってはいけないことをしているときにそれと気付くというほうが

  • 1