諸事情により暫定的に公開停止中です。申し訳ございません。
ソフトウェア設計とは何か? (原文: What Is Software Design?) by Jack W. Reeves (c)C++ Journal - 1992 訳者まえがき この文書は,Jack W. Reeves 氏が1992年に C++ Journal に寄稿した記事の邦訳です。 本記事では,オブジェクト指向プログラミング言語の代表として C++ を挙げていますが,これは本記事が執筆された当時,一般的に利用可能なオブジェクト指向言語は C++ だけであったという事情があるためです。 今では C++ に加えて Java,Delphi,C# といったオブジェクト指向言語が利用可能となっていますが,そんな今でさえこの記事は古さを感じないものとなっており,ソフトウェア開発の本質,現状を鋭くえぐるものとなっています。 邦訳の公開を許諾していただいた Jack W.
ウェブ人間論 梅田 望夫 / 平野 啓一郎 梅田望夫と平野啓一郎の対談集である「ウェブ人間論」を読了した。基本的な感想は、この書籍の元になった新潮に対談が掲載されたときに「新潮6月号の梅田望夫×平野啓一郎の対談を読んで」にもすでに書いたし、ここやここでは平野啓一郎本人が登場するというハプニングがあったことも記憶に新しいところだ。その後に平野はほんとうに公式ブログを開設したりもした。これら一連のできごとは、とても楽しいものだった。 だけど、いやだからこそ、この件を引っ張る形でこれ以上書評を続けると知人友人ばかり持ち上げる内輪やらせブロガー的なダークサイドに堕ちてしまう気がするので、この機会に大きく踏み外してみようと思う。 ぼくが今の今まで注意深く避けてきた、グーグルの技術論について、この機会にとうとう語ってしまおうと思う。 ■「過去7年におけるグーグル成功の最大の要素は『運』だった」(Se
ポール・グレアムのエッセイと和訳一覧 (originally maintained by naoya_t) Paul Grahamのエッセイ(原文)と、公開されている日本語訳のリストです。 見つけたら or 訳したら、自由に追加して下さい。複数の訳が存在する場合は全て追加してください。 How to Get New Ideas 新しいアイデアを得る方法 (lionfan) The Need to Read 読む必要性 (Shiro) Is There Such a Thing as Good Taste? 良いセンスはあるか? (lionfan) Beyond Smart 知能を超えて (lionfan) Weird Language ヘンな言語 (Shiro) How to Work Hard 全力で働く方法 (lionfan) A Project of One's Own 自分の仕事
このエントリは デスマーチについて考える前にデスマーチの経験を書く の続きです。(2007/2/16追記) 私はテスタとして、必ず バグの修正を「お願いします」と言う。 バグ修正確認時は、必ず直してないところも最低1箇所は触ってみる。(でよく落ちる) バグ修正が確認できたら、できるかぎり早く「確認できました。ありがとうございました」と言う。 を実践してゆきました。 ある日、一人のプログラマさんから相談を受けました 「今度の機能なんですが、納期が近いから単体テストせずにkshさんにテスト依頼しろってSEさんから言われたんですが、そんなことしたくないんです」 以下、全文はこちら
Black Hatのようなカンファレンスのすばらしい点の1つは、新しい友人ができることである。とりわけ、才能に恵まれた相手に着ていたLinux Tシャツを褒められたような場合はそうだ。こうしてお近づきになったのがTerri GilbertとBecky Baceの両女史、これまでに出会ったギークやセキュリティ専門家の中でも最も注目すべき2人だ。年齢を推測するような野暮な真似をするつもりはないが、多分「お婆さんハッカー」と呼んでも彼女たちは気を悪くしないだろう。 カリフォルニア州出身の奇才Terriは、もう50年もコンピュータに関わっている。一方、アラバマ州出身のBeckyは自他共に認める実績を持ち、16年間、国家安全保障局(NSA)にいた彼女は、1980年代にNSAで開発されていた最初の侵入検知システムのプロジェクトマネージャを務めた。 現在、TerriとBeckyはInfidel, Inc
コンピュータサイエンス分野を専攻する女性が何故少ないのか? この問題を扱うACM-WというワーキンググループがACM内にあるそうです。 たしかに、情報工学系の学部には女性が非常に少ない気がします。 色々調べていたら、この問題に関してまとめてある論文(2002年)を発見したので何と無く読んでみました。 今回読んだ論文は「An ACM-W Literature Review on Women in Computing, Denise Gurer, Tracy Camp, SIGCSE Bulletin, Vol.34, No.2, 2002」です。 結構納得させられる内容でした。 コンピュータに興味を持つ女性の割合は、年齢が上昇するほど減少するそうです。 この論文では、問題点や取り組みを12種類に分類していました。 early in the pipeline (幼少期) attitudes (
「自分を変えられるのは自分しかいない」。2006年9月5日,ソフトウエア開発プロセスの一つ,eXtreme Programming(XP)を提唱しているKent Beck氏を囲んで記者懇談会が開催された。自分が変われば,必ずまわりは変わる。そんな信念が感じられた懇談会だった。 Beck氏の著書である「XPエクストリーム・プログラミング入門 第2版」は「XP is about social change.」という文章で始まっている。日本語版では「XPとは社会改革のことである」と訳されているが,ソーシャルのニュアンスが少し違うという意見もある。そこでまず「XPでいうソーシャルとはどういう意味か」と質問した。 Beck氏はソーシャルの例として「14歳になる私の娘は,ある友人と1時間くらい話をし,別の友人と同じ話をまた1時間くらいする。彼女はソーシャルな子供だ」と語った。つまり「社交的」「コミュニ
今回は(アレグザンダーのパターン)シリーズ最終巻「まちづくりの新しい理論」に目を通してみよう。われわれの(アレグザンダーの、ではなく)キーワードは「滑らか」、あるいは滑らかなアーキテクチャ」だ。 「まちづくりの新しい理論」は、「成長する全体」をいかにして作り出すかという理論とその実験の書である。「成長する全体」を作り出すための「最優先のルール」と「7つの中間的ルール」を定め、それをサンフランシスコの5年間、約90のプロジェクトからなるウォータフロント開発計画でシミュレートした過程が述べられている。 われわれは、この最優先のルールと、7つの中間的ルールをわれわれソフトウェアの言葉に翻訳しながら、具体的なソフトウェア開発プロジェクトに対してシミュレートする。 まず、「成長する全体」とは何か。もちろんアレグザンダーはあるべき「まち」を念頭に置いている(それに対して近代的な都市計画にはこれらの性質
最近はてなの社内では新しい技術を勉強したり、フレームワークや言語を移し変えようかという話も出ていたりして活気が出てきています。技術者も10人を超えて、色々な考え方をする人同士が刺激を与え合いながら切磋琢磨していて素晴らしいなあと思います。そういう中で、僕が技術について思う事を少しまとめてみました。 アウトプットを出す 新しい技術を習得したり、時間を掛けて作り上げた結果は、何かのアウトプットとして出さなければほとんど意味がありません。知識や結果を自分の中に残すだけで終わるのは、それを活かしてサービスを作りたくさんの人が使えるようにする事に比べると驚くほどちっぽけな仕事です。 また、3日間で作り上げた素晴らしい仕組みをそのまま1週間寝かせてしまうのは、4日目に他の人が使えるようにしてから1週間を過ごすことに比べると随分見劣りしてしまいます。 当たり前ですが、どれだけ素晴らしい仕組みを作っても、
ハイライトピックアップ Web2.0を引き起こしているのと同じ時代の潮流が、エンジニアの地位の低下を引き起し、エンジニアがUIデザインをしたがる動機を創り出している。 Googleは、「エンジニアの会社」という皮をかぶった「企画・マーケティング・デザイン」の会社である。 エンジニアよりデザイン能力の低いダメデザイナーがうじゃうじゃでてくる構造。 優秀な人ならデザインスキルがなくてもいいデザインができるのは幻想。現実には、デザインスキルの差は容易には超えられない壁。 デザイナーに必要な技術的知識とエンジニアの技術的知識は別物なので、エンジニアの技術力はデザインをする上でそれほど強みにならない。したがって、技術力とデザイン力を兼ね備えた優秀なデザイナーはエンジニアとデザイナーのハイブリッドではない。 一人の人間がUIのデザインと実装を両方やると二兎を追うものになってUIの質が低下する。二兎を追
ソースコードの一行一行は、経営判断そのものだ。 どの部分を汎用的につくり、どの部分をやっつけで作るか、そして、どの部分をパフォーマンス優先でつくり、どの部分を可読性優先でつくるかは、そのソフトウェアステムを使って今後どのようなビジネス展開をするか、ということと一体不可分だ。プログラマーは、絶え間なく改変されていく部分と、財産として今後も使われつづけそうな部分を意識しながらコーディングする。そして、ここでいう財産とは、プログラマが財産とみなすものであるだけでなく、同時に経営的・財務的な意味においても財産であり、会社のバランスシートの「資産」の項目に登場するような性質のものだということは、多くのエンジニアが漠然としかいしきしていないように見える。 「このルーチンは、時間がかかっても、汎用的なライブラリやフレームワークにしておこう」、とエンジニアが「なんとなく」決めたとき、実は、そのエンジニアは
ぼくはIT業界の中で技術者からマーケティングに移った人間で、最初こそ張り切ってコトラーとか読んだけど、外資系企業で日本法人にいて3Cとか分析しても4Pのどれも殆ど触れないことに気づいて、これじゃマーケティング戦略の勉強にはならないなぁと感じて途中から技術渉外っぽい仕事に路線変更した。*1技術渉外というのも一風変わった仕事で、似たような仕事があるといっても非常に限られているだろうし、日本企業のそういった部署で中途は採ることは少ないだろうから、日々潰しが利かなくなっているのではないかという不安はある。けれどもまぁ、英語とか段取りとか、自分の苦手なところを鍛えつつ、少し突き放して業界の仕組みを眺める居場所としては面白い。 どこかでいざとなったら技術者に戻れるという気持ちもあって、Virtual PCでLinuxとかの環境はつくっているし、手元の環境には一通りのコンパイラは入れているし、研究所でつ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く