静的に型付けされた言語は、動的に型付けされた言語に置き換えられますか?

私は長年にわたり静的に型付けされた言語のファンでした。 私は、Cを使った自分自身のハードな経験からこの教訓を学びました。愚かなタイピングエラーのために、システムが多すぎます。 C ++が登場したとき、私は熱心な信奉者であり、強い型付けを強く支持していました。 柔軟性を失おうとしている小話者をtaした。 結局、信頼性は柔軟性よりもはるかに重要でした。 また、適切な依存関係管理の原則に従えば、ソフトウェアを柔軟かつ静的に入力できます。



4年前、彼はXP(Extreme Programming Methodology)に参加しました。 私は彼女がソフトウェア開発に加えた実用性に重点を置いていることが大好きでした。 また、テストに重点を置いていることも気に入りました。 それ以来、私はテストのアイデアに感染しています。 TDD(テスト駆動開発)を使用せずにコードを作成することは想像できません。 私の設計が安全であるように、私は想像することさえできません。



約2年前、私は何かに気づきました。 私は信頼性の観点からタイピングにますます依存しなくなりました。 ユニットテストにより、入力ミスを防ぐことができました。 単体テストに依存するほど、JavaまたはC ++(私の言語)での入力に基づく信頼性に依存しなくなりました。



実験は成功したと思いました。 それで、いくつかのアプリケーションをPythonで作成し、次にRuby(非常に有名な動的型付け言語)で作成しようとしました。 タイピングエラーがまったく発生しなかったことを発見したとき、私はあまり驚きませんでした。 ユニットテストにより、コードを厳格に保ち、ルールから逸脱することはありませんでした。 何年もの間依存してきた静的型付けは必要ありませんでした。



また、動的に型付けされた言語の柔軟性により、コードの記述がはるかに簡単になることもわかりました。 モジュールは書きやすく、変更も簡単です。 アセンブリの問題はありません。 動的型付けの世界での生活は基本的に簡単です。



今、私は再びJavaでプログラムします。それから、私が取り組んでいるプロジェクトがそれを求めています。 しかし、動的に型付けされた言語の魅力を感じていることは認めざるを得ません。 Ruby、Python、またはSmalltalkでプログラムしたい



他の人はこんな感じですか? ますます多くの人がTDDを使用するようになったため(これは避けられないと思います)、彼らは私と同じように感じるでしょうか? 2010年までに、動的に型付けされた言語でプログラミングする予定はありますか?



2003年4月26日

Robert Martin、優れたソフトウェア開発者、

アジャイルマニフェストの作成者、SOLID原則の作成者、

C ++とJavaで完全に宣誓:)



All Articles