« 2007年7月 | トップページ | 2007年9月 »

2007年8月

2007年8月31日 (金)

Python.use(better, by="K&R") # for novice《20》二分木(5)グラフ形式(CUI)★

------------ 序 ------------

《20》二分木(5)グラフ形式(CUI)★

※ この記事をご覧になるには、次のアイコンをクリックしてください。

Codezine

Java meets Python 〜 よろずプログラマーのためのPython導入ガイド (5)
第3回 構造体とクラス

河野 かえる/河野 めだか/後藤 いるか 著 ◆ 監修:小泉ひよ子とタマゴ倶楽部

【目次】関連記事
〔Python/Jython 入門〕Python.use(better, by="K&R") # for novice

------------ 本文 ------------

続きを読む "Python.use(better, by="K&R") # for novice《20》二分木(5)グラフ形式(CUI)★"

| | コメント (0) | トラックバック (0)

2007年8月30日 (木)

Python.use(better, by="K&R") # for novice《19》二分木(4)表形式★

------------ 序 ------------

《19》二分木(4)表形式★

※ この記事をご覧になるには、次のアイコンをクリックしてください。

Codezine

Java meets Python 〜 よろずプログラマーのためのPython導入ガイド (5)
第3回 構造体とクラス

河野 かえる/河野 めだか/後藤 いるか 著 ◆ 監修:小泉ひよ子とタマゴ倶楽部

【目次】関連記事
〔Python/Jython 入門〕Python.use(better, by="K&R") # for novice

------------ 本文 ------------

続きを読む "Python.use(better, by="K&R") # for novice《19》二分木(4)表形式★"

| | コメント (0) | トラックバック (0)

2007年8月29日 (水)

Python.use(better, by="K&R") # for novice《18》二分木(3)文字列表現とノード数★

------------ 序 ------------

《18》二分木(3)文字列表現とノード数★

※ この記事をご覧になるには、次のアイコンをクリックしてください。

Codezine

Java meets Python 〜 よろずプログラマーのためのPython導入ガイド (5)
第3回 構造体とクラス

河野 かえる/河野 めだか/後藤 いるか 著 ◆ 監修:小泉ひよ子とタマゴ倶楽部

【目次】関連記事
〔Python/Jython 入門〕Python.use(better, by="K&R") # for novice

------------ 本文 ------------

続きを読む "Python.use(better, by="K&R") # for novice《18》二分木(3)文字列表現とノード数★"

| | コメント (0) | トラックバック (0)

2007年8月28日 (火)

Python.use(better, by="K&R") # for novice《17》二分木(2)★

------------ 序 ------------

《17》二分木(2)★

※ この記事をご覧になるには、次のアイコンをクリックしてください。

Codezine

Java meets Python 〜 よろずプログラマーのためのPython導入ガイド (5)
第3回 構造体とクラス

河野 かえる/河野 めだか/後藤 いるか 著 ◆ 監修:小泉ひよ子とタマゴ倶楽部

【目次】関連記事
〔Python/Jython 入門〕Python.use(better, by="K&R") # for novice

------------ 本文 ------------

続きを読む "Python.use(better, by="K&R") # for novice《17》二分木(2)★"

| | コメント (0) | トラックバック (0)

2007年8月27日 (月)

Python.use(better, by="K&R") # for novice《16》二分木(1)★

------------ 序 ------------

《16》二分木(1)★

※ この記事をご覧になるには、次のアイコンをクリックしてください。

Codezine

Java meets Python 〜 よろずプログラマーのためのPython導入ガイド (5)
第3回 構造体とクラス

河野 かえる/河野 めだか/後藤 いるか 著 ◆ 監修:小泉ひよ子とタマゴ倶楽部

【目次】関連記事
〔Python/Jython 入門〕Python.use(better, by="K&R") # for novice

------------ 本文 ------------

続きを読む "Python.use(better, by="K&R") # for novice《16》二分木(1)★"

| | コメント (0) | トラックバック (0)

2007年8月25日 (土)

Oh 脳: AFTER ZERO #其之弐拾弐《22》switch 文は、百害あって一利なし《後篇》

------------ 本文 ------------

続きを読む "Oh 脳: AFTER ZERO #其之弐拾弐《22》switch 文は、百害あって一利なし《後篇》"

| | コメント (0) | トラックバック (0)

♪ Python.use(better, anti="GoF") # Let's GoForward

♪都合により「 続・ひよ子のきもち 」にお引越し致します。(^_^)/~

★引越し後は(予告なしに)削除しますので、新しい記事をご覧ください。m(_o_)m

-----------------------( きりとれません )-----------------------------


------------ 序 ------------

GoF のデザインパターンは、図らずも Java/C# の脆弱さを露呈する結果となりました。Ruby/Python などのより洗練されたオブジェクト指向の支援が得られる環境下では、いくつかのパターンは単純なイディオムに過ぎず、言語によっては組み込みの機能として提 供されているものも珍しくありません。また、GoF の事例を鵜呑みにすると迂遠なアプローチ余儀なくされるばかりか、Ruby/Python などのより洗練された特徴を活かせません。GoF を模写しても始まりません。GoF が模写したその起源を探ることで、パターンの本質に迫れます。 

この連載では、GoF デザインパターンを反面教師として、真のオブジェクト指向の世界を目指す旅へと誘(いざな)います。GoF が何を伝え、何を伝えなかったのか。そのルーツを探ってみると、新たな知見が開けてきます。そろそろ、釈迦の掌(Java/C#)から脱して、天竺(Ruby/Python)へと旅立ちませんか。

Java 原人からホモサピエンスへ:Java/C# から Ruby/Python への進化を望むプログラマーには、ひとつありがちな落とし穴があります。それは、GoF の例題に示してある、Java/C# のために脚色されたフレームワークに追従するあまりに「先祖返り」を余儀なくされ、Ruby/Python の進化した特徴が見過ごされてしまうことです。2011年までに、アナログ放送からディジタル放送への対応に迫られるのと同様に、アナログ思考(Java/C#)からディジタル思考(Ruby/Python)へと、プログラマーの世代交代も加速しつつあります。 さあ、みなさんも取り残されないよう、ただ前進あるのみです。(^_^)

Let's Go Forward ...

【目次】関連記事
〔Python/Jython 入門〕Python.use(better, anti="GoF") # Let's GoForward

------------ 本文 ------------

続きを読む "♪ Python.use(better, anti="GoF") # Let's GoForward"

| | コメント (0) | トラックバック (0)

2007年8月24日 (金)

Python.use(better, anti="GoF") # Let's GoForward《20》Observer(20)AspectAdaptor★★

------------ 序 ------------

GoF のデザインパターンは、図らずも Java/C# の脆弱さを露呈する結果となりました。Ruby/Python などより洗練されたオブジェクト指向の支援が得られる環境下では、いくつかのパターンは単純なイディオムに過ぎず、言語によっては組み込みの機能として提 供されているものも珍しくありません。また、GoF の事例を鵜呑みにすると迂遠なアプローチ余儀なくされるばかりか、Ruby/Python などのより洗練された特徴を活かせません。GoF を模写しても始まりません。GoF が模写したそのルーツを探ることで、パターンの本質に迫れます。

《準備中》公開までお待ちください。

この連載では、GoF デザインパターンを反面教師として、真のオブジェクト指向の世界を目指す旅へと誘(いざな)います。GoF が何を伝え、何を伝えなかったのか。そのルーツを探ってみると、新たな知見が開けてきます。そろそろ、釈迦の掌(Java/C#)から脱して、天竺(Ruby/Python)へと旅立ちませんか。さあ、ご一緒に。Let's Go Forward ...

【目次】関連記事
〔Python/Jython 入門〕Python.use(better, anti="GoF") # Let's GoForward

要求仕様の変更に先回りして、リファクタリングを実施したときの損得について考察…

------------ 本文 ------------

続きを読む "Python.use(better, anti="GoF") # Let's GoForward《20》Observer(20)AspectAdaptor★★"

| | コメント (0) | トラックバック (0)

2007年8月23日 (木)

Python.use(better, anti="GoF") # Let's GoForward《19》Observer(19)AspectAdaptor★★

------------ 序 ------------

GoF のデザインパターンは、図らずも Java/C# の脆弱さを露呈する結果となりました。Ruby/Python などより洗練されたオブジェクト指向の支援が得られる環境下では、いくつかのパターンは単純なイディオムに過ぎず、言語によっては組み込みの機能として提 供されているものも珍しくありません。また、GoF の事例を鵜呑みにすると迂遠なアプローチ余儀なくされるばかりか、Ruby/Python などのより洗練された特徴を活かせません。GoF を模写しても始まりません。GoF が模写したその起源を探ることで、パターンの本質に迫れます。 

この連載では、GoF デザインパターンを反面教師として、真のオブジェクト指向の世界を目指す旅へと誘(いざな)います。GoF が何を伝え、何を伝えなかったのか。そのルーツを探ってみると、新たな知見が開けてきます。そろそろ、釈迦の掌(Java/C#)から脱して、天竺(Ruby/Python)へと旅立ちませんか。

Java 原人からホモサピエンスへ:Java/C# から Ruby/Python への進化を望むプログラマーには、ひとつありがちな落とし穴があります。それは、GoF の例題に示してある、Java/C# のために脚色されたフレームワークに追従するあまりに「先祖返り」を余儀なくされ、Ruby/Python の進化した特徴が見過ごされてしまうことです。2011年までに、アナログ放送からディジタル放送への対応に迫られるのと同様に、アナログ思考(Java/C#)からディジタル思考(Ruby/Python)へと、プログラマーの世代交代も加速しつつあります。 さあ、みなさんも取り残されないよう、ただ前進あるのみです。(^_^)

Let's Go Forward ...

【目次】関連記事
〔Python/Jython 入門〕Python.use(better, anti="GoF") # Let's GoForward

要求仕様の変更に先回りして、リファクタリングを実施したときの損得について考察…

------------ 本文 ------------

続きを読む "Python.use(better, anti="GoF") # Let's GoForward《19》Observer(19)AspectAdaptor★★"

| | コメント (0) | トラックバック (0)

2007年8月22日 (水)

Python.use(better, anti="GoF") # Let's GoForward《18》Observer(18)ValueHolder★★

------------ 序 ------------

GoF のデザインパターンは、図らずも Java/C# の脆弱さを露呈する結果となりました。Ruby/Python などより洗練されたオブジェクト指向の支援が得られる環境下では、いくつかのパターンは単純なイディオムに過ぎず、言語によっては組み込みの機能として提 供されているものも珍しくありません。また、GoF の事例を鵜呑みにすると迂遠なアプローチ余儀なくされるばかりか、Ruby/Python などのより洗練された特徴を活かせません。GoF を模写しても始まりません。GoF が模写したそのルーツを探ることで、パターンの本質に迫れます。

《準備中》公開までお待ちください。

この連載では、GoF デザインパターンを反面教師として、真のオブジェクト指向の世界を目指す旅へと誘(いざな)います。GoF が何を伝え、何を伝えなかったのか。そのルーツを探ってみると、新たな知見が開けてきます。そろそろ、釈迦の掌(Java/C#)から脱して、天竺(Ruby/Python)へと旅立ちませんか。さあ、ご一緒に。Let's Go Forward ...

【目次】
〔Python/Jython 入門〕Python.use(better, anti="GoF") # Let's GoForward

 

------------ 本文 ------------

続きを読む "Python.use(better, anti="GoF") # Let's GoForward《18》Observer(18)ValueHolder★★"

| | コメント (0) | トラックバック (0)

2007年8月21日 (火)

Python.use(better, anti="GoF") # Let's GoForward《17》Observer(17)ValueHolder★★

------------ 序 ------------

GoF のデザインパターンは、図らずも Java/C# の脆弱さを露呈する結果となりました。Ruby/Python などより洗練されたオブジェクト指向の支援が得られる環境下では、いくつかのパターンは単純なイディオムに過ぎず、言語によっては組み込みの機能として提 供されているものも珍しくありません。また、GoF の事例を鵜呑みにすると迂遠なアプローチ余儀なくされるばかりか、Ruby/Python などのより洗練された特徴を活かせません。GoF を模写しても始まりません。GoF が模写したそのルーツを探ることで、パターンの本質に迫れます。

《準備中》公開までお待ちください。

この連載では、GoF デザインパターンを反面教師として、真のオブジェクト指向の世界を目指す旅へと誘(いざな)います。GoF が何を伝え、何を伝えなかったのか。そのルーツを探ってみると、新たな知見が開けてきます。そろそろ、釈迦の掌(Java/C#)から脱して、天竺(Ruby/Python)へと旅立ちませんか。さあ、ご一緒に。Let's Go Forward ...

【目次】
〔Python/Jython 入門〕Python.use(better, anti="GoF") # Let's GoForward

 

------------ 本文 ------------

続きを読む "Python.use(better, anti="GoF") # Let's GoForward《17》Observer(17)ValueHolder★★"

| | コメント (0) | トラックバック (0)

2007年8月20日 (月)

Python.use(better, anti="GoF") # Let's GoForward《16》Observer(16)パターンの午後:GoGoForward★★

------------ 序 ------------

GoF のデザインパターンは、図らずも Java/C# の脆弱さを露呈する結果となりました。Ruby/Python などより洗練されたオブジェクト指向の支援が得られる環境下では、いくつかのパターンは単純なイディオムに過ぎず、言語によっては組み込みの機能として提 供されているものも珍しくありません。また、GoF の事例を鵜呑みにすると迂遠なアプローチ余儀なくされるばかりか、Ruby/Python などのより洗練された特徴を活かせません。GoF を模写しても始まりません。GoF が模写したそのルーツを探ることで、パターンの本質に迫れます。

《準備中》公開までお待ちください。

この連載では、GoF デザインパターンを反面教師として、真のオブジェクト指向の世界を目指す旅へと誘(いざな)います。GoF が何を伝え、何を伝えなかったのか。そのルーツを探ってみると、新たな知見が開けてきます。そろそろ、釈迦の掌(Java/C#)から脱して、天竺(Ruby/Python)へと旅立ちませんか。さあ、ご一緒に。Let's Go Forward ...

【目次】
〔Python/Jython 入門〕Python.use(better, anti="GoF") # Let's GoForward

 

------------ 本文 ------------

続きを読む "Python.use(better, anti="GoF") # Let's GoForward《16》Observer(16)パターンの午後:GoGoForward★★"

| | コメント (0) | トラックバック (0)

2007年8月18日 (土)

Oh 脳: AFTER ZERO #其之弐拾壱《21》switch 文は、百害あって一利なし《前篇》

------------ 序 ------------

【関連記事】
2007/09/26《23》switch(1)なぜ switch は不要か★    後藤いるか
2007/09/27《24》switch(2)switch は禁断の木の実★    後藤いるか
2007/09/28《25》switch(3)脱・ハードコーディング★    後藤いるか

------------ 本文 ------------

続きを読む "Oh 脳: AFTER ZERO #其之弐拾壱《21》switch 文は、百害あって一利なし《前篇》"

| | コメント (0) | トラックバック (0)

2007年8月17日 (金)

UML.OCL->use(better, VDM++) # Stairway to Formal Method World《13》クラス定義: 条件文(2)★

------------ 序 ------------

この連載では、UML/OCL に飽き足らず、ソフトウェアテストに頼ることなく、信頼性のあるシステム開発、高品質のソフトウェア開発を目指す「プロ」グラマーのために、VDM++ による形式手法への扉を開きます。"The IFAD VDM++ Language" を読み解きながら、形式手法を頼りに、Python によるオブジェクト指向プログラミングへの適用を図ります。

◆ Ruby/Python などが普及して、より本格的なオブジェクト指向の支援機能が得られるにつれ、図らずも UML/OCL の脆弱さを 露呈する結果となりました。Java/C# などを対象とするだけなら、ある程度の満足は得られますが、より広範な問題解決が必要とされる場面では、不満が募ります。◆ まず、それを使って記述されたモデルの正当性を検証するため(必要十分条件を満たしているか)の、確立した方法論を持たないこと。そのため、モデルを構築 する作業をいつ止めていいのかを判断できず、XUnit に象徴されるような、ソフトウェアテストに頼らざるを得ません。◆ また、分析設計段階で作成された様々なモデル図から、実現段階へとシームレスに移行するための統合開発環境も十分に整備されているとは言えません。仮にそ のモデルの正当性が検証されても、その成果はそのままコーディングに反映されずに、品質の維持には必ずしも貢献できません。手作業 によるハードコーディングを余儀なくされるとしたら、これらのモデル図は、プログラムに添えられたコメントと同じであり、それ以上でもそれ以下でもありま せん。◆ さらに…

ここで公開している記事は「キーワード検索」を利用するための便宜的なものです。詳細は、正式版(PDF)をダウンロードしてご覧ください。
【準備中】

【目次】関連記事
〔Python/VDM++ 入門〕UML.OCL->use(better) # Stairway to Formal Method World

【注意】例題は "VDM++ Lecture Notes Solutions to Exercises (C) 1999 by IFAD" をもとに、Python で実現したものです。記事の内容(引用した箇所を除く)に不備があれば、すべての責任は「タマゴ倶楽部」にあります

【査読中】

テスト仕様も、それをプログラムとして実現するなら、他のソフトウェアと同様に、形式手法を適用すべき対象となります。

------------ 本文 ------------

続きを読む "UML.OCL->use(better, VDM++) # Stairway to Formal Method World《13》クラス定義: 条件文(2)★"

| | コメント (0) | トラックバック (0)

2007年8月16日 (木)

UML.OCL->use(better, VDM++) # Stairway to Formal Method World《12》クラス定義: 条件文(1)★

------------ 序 ------------

この連載では、UML/OCL に飽き足らず、ソフトウェアテストに頼ることなく、信頼性のあるシステム開発、高品質のソフトウェア開発を目指す「プロ」グラマーのために、VDM++ による形式手法への扉を開きます。"The IFAD VDM++ Language" を読み解きながら、形式手法を頼りに、Python によるオブジェクト指向プログラミングへの適用を図ります。

◆ Ruby/Python などが普及して、より本格的なオブジェクト指向の支援機能が得られるにつれ、図らずも UML/OCL の脆弱さを 露呈する結果となりました。Java/C# などを対象とするだけなら、ある程度の満足は得られますが、より広範な問題解決が必要とされる場面では、不満が募ります。◆ まず、それを使って記述されたモデルの正当性を検証するため(必要十分条件を満たしているか)の、確立した方法論を持たないこと。そのため、モデルを構築 する作業をいつ止めていいのかを判断できず、XUnit に象徴されるような、ソフトウェアテストに頼らざるを得ません。◆ また、分析設計段階で作成された様々なモデル図から、実現段階へとシームレスに移行するための統合開発環境も十分に整備されているとは言えません。仮にそ のモデルの正当性が検証されても、その成果はそのままコーディングに反映されずに、品質の維持には必ずしも貢献できません。手作業 によるハードコーディングを余儀なくされるとしたら、これらのモデル図は、プログラムに添えられたコメントと同じであり、それ以上でもそれ以下でもありま せん。◆ さらに…

ここで公開している記事は「キーワード検索」を利用するための便宜的なものです。詳細は、正式版(PDF)をダウンロードしてご覧ください。
準備中

【目次】関連記事
〔Python/VDM++ 入門〕UML.OCL->use(better) # Stairway to Formal Method World

【注意】例題は "VDM++ Lecture Notes Solutions to Exercises (C) 1999 by IFAD" をもとに、Python で実現したものです。記事の内容(引用した箇所を除く)に不備があれば、すべての責任は「タマゴ倶楽部」にあります

査読中

テスト仕様も、それをプログラムとして実現するなら、他のソフトウェアと同様に、形式手法を適用すべき対象となります。

------------ 本文 ------------

続きを読む "UML.OCL->use(better, VDM++) # Stairway to Formal Method World《12》クラス定義: 条件文(1)★"

| | コメント (0) | トラックバック (0)

2007年8月15日 (水)

UML.OCL->use(better, VDM++) # Stairway to Formal Method World《11》クラス定義: 型(3)Map apply★

------------ 序 ------------

この連載では、UML/OCL に飽き足らず、ソフトウェアテストに頼ることなく、信頼性のあるシステム開発、高品質のソフトウェア開発を目指す「プロ」グラマーのために、VDM++ による形式手法への扉を開きます。"The IFAD VDM++ Language" を読み解きながら、形式手法を頼りに、Python によるオブジェクト指向プログラミングへの適用を図ります。

◆ Ruby/Python などが普及して、より本格的なオブジェクト指向の支援機能が得られるにつれ、図らずも UML/OCL の脆弱さを 露呈する結果となりました。Java/C# などを対象とするだけなら、ある程度の満足は得られますが、より広範な問題解決が必要とされる場面では、不満が募ります。◆ まず、それを使って記述されたモデルの正当性を検証するため(必要十分条件を満たしているか)の、確立した方法論を持たないこと。そのため、モデルを構築 する作業をいつ止めていいのかを判断できず、XUnit に象徴されるような、ソフトウェアテストに頼らざるを得ません。◆ また、分析設計段階で作成された様々なモデル図から、実現段階へとシームレスに移行するための統合開発環境も十分に整備されているとは言えません。仮にそ のモデルの正当性が検証されても、その成果はそのままコーディングに反映されずに、品質の維持には必ずしも貢献できません。手作業 によるハードコーディングを余儀なくされるとしたら、これらのモデル図は、プログラムに添えられたコメントと同じであり、それ以上でもそれ以下でもありま せん。◆ さらに…

ここで公開している記事は「キーワード検索」を利用するための便宜的なものです。詳細は、正式版(PDF)をダウンロードしてご覧ください。
【準備中】

【目次】関連記事
〔Python/VDM++ 入門〕UML.OCL->use(better) # Stairway to Formal Method World

【注意】例題は "VDM++ Lecture Notes Solutions to Exercises (C) 1999 by IFAD" をもとに、Python で実現したものです。記事の内容(引用した箇所を除く)に不備があれば、すべての責任は「タマゴ倶楽部」にあります

【査読中】

テスト仕様も、それをプログラムとして実現するなら、他のソフトウェアと同様に、形式手法を適用すべき対象となります。

------------ 本文 ------------

続きを読む "UML.OCL->use(better, VDM++) # Stairway to Formal Method World《11》クラス定義: 型(3)Map apply★"

| | コメント (0) | トラックバック (0)

2007年8月14日 (火)

UML.OCL->use(better, VDM++) # Stairway to Formal Method World《10》クラス定義: 型(2)map★

------------ 序 ------------

この連載では、UML/OCL に飽き足らず、ソフトウェアテストに頼ることなく、信頼性のあるシステム開発、高品質のソフトウェア開発を目指す「プロ」グラマーのために、VDM++ による形式手法への扉を開きます。"The IFAD VDM++ Language" を読み解きながら、形式手法を頼りに、Python によるオブジェクト指向プログラミングへの適用を図ります。

◆ Ruby/Python などが普及して、より本格的なオブジェクト指向の支援機能が得られるにつれ、図らずも UML/OCL の脆弱さを露呈する結果となりました。Java/C# などを対象とするだけなら、ある程度の満足は得られますが、より広範な問題解決が必要とされる場面では、不満が募ります。◆ まず、それを使って記述されたモデルの正当性を検証するため(必要十分条件を満たしているか)の、確立した方法論を持たないこと。そのため、モデルを構築 する作業をいつ止めていいのかを判断できず、XUnit に象徴されるような、ソフトウェアテストに頼らざるを得ません。◆ また、分析設計段階で作成された様々なモデル図から、実現段階へとシームレスに移行するための統合開発環境も十分に整備されているとは言えません。仮にそのモデルの正当性が検証されても、その成果はそのままコーディングに反映されずに、品質の維持には必ずしも貢献できません。手作業 によるハードコーディングを余儀なくされるとしたら、これらのモデル図は、プログラムに添えられたコメントと同じであり、それ以上でもそれ以下でもありま せん。◆ さらに…

ここで公開している記事は「キーワード検索」を利用するための便宜的なものです。詳細は、正式版(PDF)をダウンロードしてご覧ください。
【準備中】

【目次】関連記事
〔Python/VDM++ 入門〕UML.OCL->use(better) # Stairway to Formal Method World

【注意】例題は "VDM++ Lecture Notes Solutions to Exercises (C) 1999 by IFAD" をもとに、Python で実現したものです。記事の内容(引用した箇所を除く)に不備があれば、すべての責任は「タマゴ倶楽部」にあります

【査読中】

テスト仕様も、それをプログラムとして実現するなら、他のソフトウェアと同様に、形式手法を適用すべき対象となります。

------------ 本文 ------------

続きを読む "UML.OCL->use(better, VDM++) # Stairway to Formal Method World《10》クラス定義: 型(2)map★"

| | コメント (0) | トラックバック (0)

2007年8月13日 (月)

UML.OCL->use(better, VDM++) # Stairway to Formal Method World《9》クラス定義: 型(1)quote★

------------ 序 ------------

この連載では、UML/OCL に飽き足らず、ソフトウェアテストに頼ることなく、信頼性のあるシステム開発、高品質のソフトウェア開発を目指す「プロ」グラマーのために、VDM++ による形式手法への扉を開きます。"The IFAD VDM++ Language" を読み解きながら、形式手法を頼りに、Python によるオブジェクト指向プログラミングへの適用を図ります。

◆ Ruby/Python などが普及して、より本格的なオブジェクト指向の支援機能が得られるにつれ、図らずも UML/OCL の脆弱さを 露呈する結果となりました。Java/C# などを対象とするだけなら、ある程度の満足は得られますが、より広範な問題解決が必要とされる場面では、不満が募ります。◆ まず、それを使って記述されたモデルの正当性を検証するため(必要十分条件を満たしているか)の、確立した方法論を持たないこと。そのため、モデルを構築 する作業をいつ止めていいのかを判断できず、XUnit に象徴されるような、ソフトウェアテストに頼らざるを得ません。◆ また、分析設計段階で作成された様々なモデル図から、実現段階へとシームレスに移行するための統合開発環境も十分に整備されているとは言えません。仮にそ のモデルの正当性が検証されても、その成果はそのままコーディングに反映されずに、品質の維持には必ずしも貢献できません。手作業 によるハードコーディングを余儀なくされるとしたら、これらのモデル図は、プログラムに添えられたコメントと同じであり、それ以上でもそれ以下でもありま せん。◆ さらに…

ここで公開している記事は「キーワード検索」を利用するための便宜的なものです。詳細は、正式版(PDF)をダウンロードしてご覧ください。
「piyo070813.pdf」をダウンロード 

【目次】関連記事
〔Python/VDM++ 入門〕UML.OCL->use(better) # Stairway to Formal Method World

【注意】例題は "VDM++ Lecture Notes Solutions to Exercises (C) 1999 by IFAD" をもとに、Python で実現したものです。記事の内容(引用した箇所を除く)に不備があれば、すべての責任は「タマゴ倶楽部」にあります

テスト仕様も、それをプログラムとして実現するなら、他のソフトウェアと同様に、形式手法を適用すべき対象となります。

------------ 本文 ------------

続きを読む "UML.OCL->use(better, VDM++) # Stairway to Formal Method World《9》クラス定義: 型(1)quote★"

| | コメント (0) | トラックバック (0)

2007年8月 1日 (水)

♪ Shall_we_Agile = Java.use(better, Python) # Swing

♪都合により「 続・ひよ子のきもち 」にお引越し致します。(^_^)/~

★引越し後は(予告なしに)削除しますので、新しい記事をご覧ください。m(_o_)m

-----------------------( きりとれません )-----------------------------


------------ 序 ------------

〔Python/Jython 入門〕Shall_we_Agile = Java.use(better, Python) # Swing

Swing/J2SE 1.4 を題材に、Jython の基礎を習得するための情報を提供します。Java/Python の「一石二鳥」のつもりが「二兎を追うもの…」になるかもしれず、その判断はみなさんに委ねます。この連載が、Java のアプリケーション開発に携わる苦痛を和らげ、より快適なアジャイル開発への道標となるなら幸いです。

※ こんな症状を抱えているなら…
・Java の開発効率の悪さにストレスが溜まる
・要求仕様の変更に柔軟かつ迅速に対処できない
・体力(単純な肉体労働)に自信がない(頭脳労働に専念したい)
・既存の Java 資産は今後も運用(再利用)したい。

【効能】Java の開発効率を向上して(Java では体感できない)より本格的なオブジェクト指向の醍醐味を堪能できる。【副作用】Java 単独での開発を苦痛に感じるかも。

【目次】
〔Python/Jython/Swing 入門〕Shall_we_Agile = Java.use(better, Python) # Swing

------------ 本文 ------------

続きを読む "♪ Shall_we_Agile = Java.use(better, Python) # Swing"

| | コメント (0) | トラックバック (0)

♪ Smalltalk use: better

------------ 序 ------------

Smalltalk use: better

【目次】読み込みに時間が掛かるときには、以下を選択してください。
Smalltalk use: better

------------ 本文 ------------

続きを読む "♪ Smalltalk use: better"

| | コメント (0) | トラックバック (0)

♪ UML.OCL->use(better, VDM++) # Stairway to Formal Method World

------------ 序 ------------

この連載では、UML/OCL に飽き足らず、ソフトウェアテストに頼ることなく、信頼性のあるシステム開発、高品質のソフトウェア開発を目指す「プロ」グラマーのために、VDM++ による形式手法への扉を開きます。"The IFAD VDM++ Language" を読み解きながら、形式手法を頼りに、Python によるオブジェクト指向プログラミングへの適用を図ります。

◆ Ruby/Python などが普及して、より本格的なオブジェクト指向の支援機能が得られるにつれ、図らずも UML/OCL の脆弱さを 露呈する結果となりました。Java/C# などを対象とするだけなら、ある程度の満足は得られますが、より広範な問題解決が必要とされる場面では、不満が募ります。◆ まず、それを使って記述されたモデルの正当性を検証するため(必要十分条件を満たしているか)の、確立した方法論を持たないこと。そのため、モデルを構築 する作業をいつ止めていいのかを判断できず、XUnit に象徴されるような、ソフトウェアテストに頼らざるを得ません。◆ また、分析設計段階で作成された様々なモデル図から、実現段階へとシームレスに移行するための統合開発環境も十分に整備されているとは言えません。仮にそ のモデルの正当性が検証されても、その成果はそのままコーディングに反映されずに、品質の維持には必ずしも貢献できません。手作業 によるハードコーディングを余儀なくされるとしたら、これらのモデル図は、プログラムに添えられたコメントと同じであり、それ以上でもそれ以下でもありま せん。◆ さらに…

【目次】関連記事
〔Python/VDM++ 入門〕UML.OCL->use(better) # Stairway to Formal Method World

【注意】例題は "VDM++ Lecture Notes Solutions to Exercises (C) 1999 by IFAD" をもとに、Python で実現したものです。記事の内容(引用した箇所を除く)に不備があれば、すべての責任は「タマゴ倶楽部」にあります

------------ 本文 ------------

続きを読む "♪ UML.OCL->use(better, VDM++) # Stairway to Formal Method World"

| | コメント (0) | トラックバック (0)

« 2007年7月 | トップページ | 2007年9月 »