タグ

fowlerに関するbakockのブックマーク (7)

  • Martin Fowler's Bliki in Japanese - 優れたほうが安い説

    http://martinfowler.com/bliki/CheaperTalentHypothesis.html 2008/2/8 ソフトウェア業界では、才能あるプログラマのほうが生産性が高いとよく言われる。 生産性は計測不能なので証明はできないのだけど、おそらくそれは正しいだろう。 人間の活動のほとんど全てにおいて、他人よりも優れた人がいるのである。 そしてその違いは、著しいことがしばしばだ。 ソフトウェア業界においては、プログラマ自身がその違いに気づくことが多い。 ただ、その場合も常に自分を「才能ある方」に入れているみたいだけど。 当然ながら、優れたプログラマは、フルタイムで雇うにせよ契約するにせよ、その単価は高い。しかし、たとえ単価が高いとしても、高価なプログラマのほうが実際には安価なのではないだろうか? バカげた質問に聞こえるかもしれない。 何をどうしたら高価な人材が安価になる

    bakock
    bakock 2008/02/11
    「優れたプログラマ/チームの方が単価は高いけど安くつく」全体的には同意だけど、何かもやっと感が残る
  • bliki: Prefer Design Skills

    Imagine a hiring situation. There's two candidates both with a few years of experience. In the blue corner we have someone with good broad design skills in the style of design that you favor (in my case that would be things like DRY, judicious use of patterns, TDD, communicative code etc, but the actual list isn't important - just that it's what you favor). However she knows nothing of the particu

    bliki: Prefer Design Skills
    bakock
    bakock 2008/01/17
    幅広いスキルを持っていると、特定のプラットフォームやドメインの知識もすばやく吸収できる
  • Martin Fowler's Bliki in Japanese - ひとつの言語

    http://martinfowler.com/bliki/OneLanguage.html 開発努力において言語は1つだけにすべきか? エンタープライズ・ソフトウェア界の流行はここ10年の間ずっと、ソフトウェア開発努力のための1つの標準言語に集中することだった。 多くの開発組織が、すべての作業をJava(とかC#/VB)でこなそうとしている。 これの理論的根拠は、開発者が1つより多くの言語に熟練するのは困難だということだ。単一の言語にこだわり続ければ学習の負荷は下がる。とりわけ新人を採用するときに効果がある。 まあ真実もちょっとはあるけど、大抵は大外しだ。プログラミング環境ってのは一部は言語だけれど、でも複数の言語やフレームワークについてでもある。大規模フレームワーク、HibernateやStrutsやADOなんかは、単一のホスト言語でプログラミングしていたとしたって、今や1つの言語を学

    bakock
    bakock 2007/08/10
    ライブラリやフレームワークを習得することを考えたら、一つの言語で構築することにこだわるより適材適所で併用したほうがいい
  • Martin Fowler's Bliki in Japanese - インタフェースと実装のペア

    http://martinfowler.com/bliki/InterfaceImplementationPair.html すべてのクラスをインタフェースとペアにする手法である。 たとえば、ICustomerとCustomer、CustomerとCustomerImpl?のようなペアができる。 この場合、インタフェースと実装の型が分かれてしまうが、 これは、各クラスにヘッダファイルを付けるというC/C++の慣習を踏襲しているためである。 この手法のメリットは、 インタフェースの実装を別のものにすることで、 いつでも丸ごと入れ替えることができる点である。 ただ、私はこの手法があまり好きではない。 複数の実装がないのにインタフェースを使ってしまうと、インタフェースと実装とを同時に変更しなければならない分、手間がかかるからだ(IDEが補完してくれるが、やはり面倒だ)。 また、これだと裏に複数の

    bakock
    bakock 2007/03/02
    すべてのクラスをインタフェースとペアにする手法 キライ。僕もキライ。
  • Organizing Presentation Logic

    There are several ways to split up the logic of the presentation. 11 July 2006 This is part of the Further Enterprise Application Architecture development writing that I was doing in the mid 2000’s. Sadly too many other things have claimed my attention since, so I haven’t had time to work on them further, nor do I see much time in the foreseeable future. As such this material is very much in draft

    Organizing Presentation Logic
  • Using the Rake Build Language

    Rake is a build language, similar in purpose to make and ant. Like make and ant it's a Domain Specific Language, unlike those two it's an internal DSL programmed in the Ruby language. In this article I introduce rake and describe some interesting things that came out of my use of rake to build this web site: dependency models, synthesized tasks, custom build routines and debugging the build script

    Using the Rake Build Language
  • Collection Pipeline

    Collection pipelines are a programming pattern where you organize some computation as a sequence of operations which compose by taking a collection as output of one operation and feeding it into the next. (Common operations are filter, map, and reduce.) This pattern is common in functional programming, and also in object-oriented languages which have lambdas. This article describes the pattern wit

    Collection Pipeline
  • 1