OOP への道 〜 if/for/配列と別れる50の方法 〜
Python.use(better) 《Python3.1, Jython2.5.0, IronPython2.6.x》
OOP への道 《余録》〜 if/for/配列と別れる50の方法 〜
《著》真樹育未・後藤いるか・小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部
第0版♪1988/10/12 ● 第1版♪1993/05/23 ● 第2版♪2003/05/25
Smalltalk-80 セミナー用に作成したテキスト(1988)をもとに、C++ 版(1993)を経て、Jython 版(2003)として加筆/再構成した余録集です。
■ 旅への誘い(いざない):はじめの一歩から末の千里へ
Python には、伝統的なC言語風の for 文や悪名高い switch 文がありません。それには理由があります。その理由のひとつは、これらが「コードの汚染」を誘発するからです。「アナログ Java 思考からディジタル Jython 思考へ」パラダイムシフトの旅に出掛けませんか。
■ 関連記事
- INDEX〈Python〉
- INDEX〈Swing〉
- INDEX〈WPF〉
- Java プログラマーのための Python 導入ガイド《Jython2.5》改訂版
- 例題で学ぶ Jython/Swing デザインパターン《Jython2.5》改訂版
- ゲームに学ぶ Jython/Swing フレームワーク《Jython2.5》改訂版
- IronPython で学ぶ WPF プログラミングの世界《IronPython2.6》改訂版
雛鳥は最初に見た動くものを親だと信じ込む…とされる「刷り込み」と同様に、最初に見たコードから得た知識や経験は、その後のプログラマー人生にも多大な「影響」を及ぼすことは、容易に想像できるでしょう。しかし、それは同時に、新たな知識や経験を獲得 するときの「障害」にもなりかねません。
if と別れる50の方法
1.00:JPL の事例から
- Java 言語の解説書 JPL には、伝統的な switch 文を利用した事例を紹介しています。しかし、switch 文は多くの問題を抱え「百害あって一利なし」です。その中でも醜悪なのは、OOP を実践する障害になることです。
Java™ Programming Language, The (Java Series)
- 作者: Ken Gosling, James Holmes, David Arnold
- 出版社/メーカー: Prentice Hall
- 発売日: 2005/08/17
- メディア: ペーパーバック
- クリック: 2回
- この商品を含むブログ (11件) を見る
1.01:if/dict による解法(switch の代用表現)
- switch 文の代用表現には、if-else 文を利用する、組み込み型 dict を導入する、などがあります。しかし、これらは switch の同義語のようなもので、本質的な問題解決は望めません。
1.05:ジャンケン問題, #3: N人ジャンケンへの道
- SP に沿った伝統的な問題解決の手法では、多重 if 文や論理演算が必要になります。OOP を導入すると、if/switch の呪縛から解かれ、簡潔で見通しの良いコードを記述できます。
》作業中です《
1.99:
for と別れる50の方法
2.00:K&R の事例から
C Programming Language (Prentice Hall Software)
- 作者: Brian W. Ritchie, Dennis Kernighan
- 出版社/メーカー: Prentice Hall
- 発売日: 1988/03/22
- メディア: ペーパーバック
- 購入: 5人 クリック: 121回
- この商品を含むブログ (22件) を見る
2.01:配列と連結リスト, #1
2.02:配列と連結リスト, #2
- 伝統的な for 文を利用すると、データの内部構造に依存する記述を余儀なくされるので「コードの汚染」が広がる傾向にあります。
2.03:イテレーター iter
2.04:ジェネレーター yield
2.06:配列とリスト
2.07:配列と集合
》作業中です《
2.99:
配列と別れる50の方法
3.00:JPL の事例から
Java™ Programming Language, The (Java Series)
- 作者: Ken Gosling, James Holmes, David Arnold
- 出版社/メーカー: Prentice Hall
- 発売日: 2005/08/17
- メディア: ペーパーバック
- クリック: 2回
- この商品を含むブログ (11件) を見る
3.01:配列の隘路
3.02:配列と二分木
》作業中です《
3.99:
Last updated♪2009/07/03