エンジニアのソフトウェア的愛情

または私は如何にして心配するのを止めてプログラムを・愛する・ようになったか

ソフトウェア設計

ボクの家にはよくできたMacがいる

世間の片隅で三文小説を書いて暮らしている そんなボクの家にはよくできた女中さんがいる アサミ・マート「木造迷宮」 Macを新調しました。わたしにとって三機目のMacで初めてのIntel Macです。今まで使っていたiBook G4はPowerPCプロセッサなのでOS XはLeop…

補遺(「すごいことを見る者にすごいと意識させないということ」についての)

そういえば。 よいプログラムほど簡単に見える、という逆説というか経験則というかを今日になって思い出した。 よくできたプログラムは読んでも理解しやすいので簡単なことしかやっていなように見えるというもの。逆に、難解なプログラムは難しいことをやっ…

すごいことを見る者にすごいと意識させないということ

昨日、舞台版「千年女優」を観てきました。素晴らしかった…。 …と、その感想はひとまずおいといて。 会場で販売されていたパンフレットと2009年の初演時の舞台をおさめたDVDとサウンドトラックCDを購入。そのパンフレットを読んでいて思い出したことがあった…

DCIについて引き続き悩む

「Lean Architecture for Agile Software Development」のドラフトのAPPENDIX AのScalaのコードを意訳してみる。 本文中にC++のコードがあるんですが、まとまった形のコードになっていなかったので、他言語での例から逆にC++に翻訳してみました。 ここではma…

Roleについて考える

今朝の書き込みのあと、半日ほど経過して、頭の中が整理されてきて、あらためてコードを書き直してみた。 コードを書き直して気がついたのが、以前書いたByte Reader、Byte WriterってRoleに該当するのかもしれない、ということ。手前味噌で恐縮ですけど…そ…

DCIの翻訳の翻訳、あるいは写経の写経

形から入る主義です。 id:yojikさんが書かれたコードをさらに写経。 DCI on Java について考えました - yojikのlog 一部、言語の制約とかで手を加えていますが、ほとんど直訳です。 中身はあとでもう一度考察する。 DCIアーキテクチャは、まだ読んでる途中。…

安易に面倒なことを選択する

わたしの好きな言葉に「楽をするためには労を厭わず」というのがあります。この場合の「楽」というのは手抜きとか横着とかそういうのでなくて、うまく賢く苦労をせずにといった、そんな感じの意味です。ソフトウェア開発は複雑さとの戦いですから、いかに複…

オブジェクト指向へ跳躍

C++を使ってソフトウェアの開発をしているわけですが。「オブジェクト指向っぽくないな」という設計に出会います。 オブジェクト指向は普通の技術者が普通に使う普通の技術だと、今では思っているのですが、それとて学ばずにその技術が身に付くわけもなく、…

一回に一つだけ

「もしもウサギにコーチがいたら」という本の中にでてくる言葉です。 書籍名のとおりコーチングの本なんですが、この一節を読んでリファクタリングのことを連想しみたり。 一緒に「何でも簡単に取り入れると、システムが混乱したり、壊れてしまうからです」…

期待する動作

「『要求仕様』というから、わかりにくいのかもしれない」などと考えてみました。「期待する動作」という言葉でしたら、わかりやすいような気がします。気がするだけかもしれませんが。言っていることは、同じですが、印象が違って感じます。「期待する」部…

ダメな設計は…

ダメな設計は、その設計を変更できない頃になって、ようやくダメとわかる再び引用風ですが、引用ではなくて、わたしの今日の心象です。以前から、作りがよくないと思われていた、社内のライブラリ。そのライブラリが、さまざまな状況で利用されるようになる…

「設計する」こと

わたしの職場に限った話なのかもしれませんが。 技術者が、自身の分担する部分のソフトウェアの設計もしています。でも、どうも「設計する」の意味を「設計書を書く」ことと勘違いされている部分があるような気がします。 設計することと、設計書を書くこと…