スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

性格

プログラマに向いている性格とは、どのようなものなのでしょうか?
 プログラミングにおいて必要とされる性格上の特徴のうちでも、もっともたやすく見わけがつくのは、多少ともきれい好きだ、とうことである。

 プログラミングにとって不可欠なもう一つの性格要因は、せめて少しばかりの謙虚さを持ち合わせていることである。

ジェラルド・M・ワインバーグ(木村 泉)『プログラミングの心理学-または、ハイテクノロジーの人間学25周年記念版』毎日コミュニケーションズ、2005年、第8章

きれい好き
これはソースコードのきれいさに結び付くものだと思います。
雑であるのは致命的です。

謙虚さ
プログラミングの世界は日々新しい技術がうまれ、技術進歩の速い分野です。
その技術を一人で全てマスターするのは不可能でしょう。
謙虚な気持ちで教わる素直な気持ちが大切だと思います。
スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

ものつくりのセンス

 同じ物を違うプログラマに作らせたら、ほぼ100%ソースコードは違ってくる。
何故なのでしょうか?

 それはソースコードが芸術作品であるからだと、私は思っています。

 絵画を例にしてみると、上手い人もいれば、下手な人もいる。
下手な人同士でも違う絵を書くし、上手い人同士もそうです。

 『ハッカーと画家』で良いデザインについて次のように語られています。
良いデザインは単純である。
良いデザインは永遠である。
良いデザインは正しい問題を解決する。
良いデザインは想像力を喚起する。
良いデザインはしばしばちょっと滑稽だ。
良いデザインをするのは難しい。
良いデザインは簡単に見える。
良いデザインは対称性を使う。
良いデザインは自然に似る。
良いデザインは再デザインだ。
良いデザインは模倣する。
良いデザインはしばしば奇妙だ。
良いデザインは集団で生起する。
良いデザインはしばしば大胆だ。

Paul Graham(川合 史郎)『ハッカーと画家 コンピュータ時代の創造者たち』オーム社、2005年、第9章


 コーディングも芸術作品を作っていると意識すると、また違ったものになるのではないでしょうか。

テーマ : プログラミング
ジャンル : コンピュータ

言葉の魔力

 前回の記事でリファクタリングについて話しました。
不吉な兆候の一つで「重複したコード」という項目があり、
プログラマであれば、誰もが「」だと思っているはずです。

 この「悪」に対して使える言葉があります。
DRY [Don't Repeat Yourself] 繰り返しを避けること
レビューしているときに「それってドライ!」というような使い方をします。

 DRY原則を破るということは、同じ知識を2ヶ所以上に記述することです。
この場合、片方を変更するのであれば、もう片方も変更しなければならないのです。
さもなければ異星人のコンピュータのようにプログラムは矛盾につまづくことになるのです。
これはあなたが憶えていられるかどうかという問題なのではありません。
これはあなたが忘れてしまった時の問題なのです。
...
我々はこれが達人プログラマーの道具箱の中にある道具のうちで最も重要なものの一つであると考えています。

アンドリュー・ハント(村上 雅章)『達人プログラマー-システム開発の職人から名匠への道-』ピアソン・エデュケーション、2000年、第2章


 言葉が使い慣れてくると、実際にコーディングしながらも、「これってドライかな?」などと独り言が始まります。
「重複したコード」ではなしえないスキルアップです。

テーマ : プログラミング
ジャンル : コンピュータ

匂うコード

 デジタルデータであるソースコードが異臭を発するわけはないですが、
リファクタリングの「きっかけ」を匂いの比喩で表す言葉です。

リファクタリングとは
ソフトウェアの外部的振る舞いを保ったままで、内部の構造を改善していく作業

マーチン・ファウラー(児玉 公信)『リファクタリング プログラムの体質改善テクニック』ピアソン・エデュケーション、2000年

 上記の書籍では、この匂うコードの不吉な兆候について次のものだとしています。
・重複したコード
・長すぎるメソッド
・巨大なクラス
・多すぎる引数
・変更の発散
・変更の分散
・属性、操作の横恋慕
・データの群れ
・基本データ型への執着
・スイッチ文
・パラレル継承
・怠け者クラス
・疑わしき一般化
・一時的属性
・メッセージの連鎖
・仲介人
・不適切な関係
・クラスのインタフェース不一致
・未熟なクラスライブラリ
・データクラス
・相続拒否
・コメント

 既に存在する匂うコードをいつリファクタリングすればよいのでしょうか?
臭いものに蓋をする」という言葉もありますが、何の解決にもならず状況は悪化するでしょう。
割れ窓の原理」というのがあって、窓ガラスが1枚割れて放置していると、
どんどん割れていく現象を匂うコードを放置すると状況がさらに悪化することに例えています。

 私が愛用している言葉に「ボーイスカウト精神」というものがあります。
私はボーイスカウトではありませんが、ボーイスカウトはキャンプなどで行った先では、
元の状況より綺麗にしてその場を去る教えがあるそうです。
これにならって、コードを追加したのならば、一ヶ所でもいいからリファクタリングをしてコミットするようにしています。
これにより「割れ窓の原理」を防止しています。

テーマ : プログラミング
ジャンル : コンピュータ

35歳定年説

一人前になる前に技術の第一線から退いてしまい、新たな技術を学ぶのをやめたり、創造する活動をやめたりしてしまう人が多いのではないでしょうか。

柴田芳樹『プログラマー現役続行』技術評論社、2007年、第1章

 一人前のプログラマになるには一生懸命に努力して10年を要するといわれています。
大卒で22歳、ここから10年で32歳、死に物狂いで勉強できますか?

 殆どの一流といわれる人は、天才ではなく、努力の積み重ねで築いた地位です。
しかし、彼らは、努力を努力と思っていないのでしょう。
新しい技術を習得するのが楽しくて仕方ないのです。

 では、どうしたら新しい技術を習得するのが楽しくなるのでしょうか?
それに、まず基本的な技術をしっかりマスターすることでしょう。
いきなり新しい技術を得ようとしても、理解できないことばかりで面白くありません。
基本的なことが分かっていれば、理解できるものが多くなり、創造を刺激して楽しくなります。
上辺だけの技術ではなく、しっかりとした基本技術を身につけましょう。

 厳しい言い方をすれば、
 「Love It or Leave It」 (情熱を持ちなさい、さもなければ、去りなさい)

苦しい思いを定年までするより、新しい道を探した方が得策だと思います。

テーマ : プログラミング
ジャンル : コンピュータ

プロフィール

夢追

Author:夢追
芸術プログラミングの世界へようこそ

検索フォーム
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
フリースペース
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。