ふぁぶりーずさん、おはようございます。
はい、Rubyがダックタイピングを採用した理由は、型よりも「振る舞い」を重視し、柔軟で読みやすいコードを実現するためです。
Rubyは動的型付け言語であり、オブジェクトの型を明示的に指定せずとも、そのオブジェクトが必要なメソッドを持っていれば利用できるという設計思想を持っています。
これは「もしアヒルのように歩き、アヒルのように鳴くなら、それはアヒルだ」という考え方に由来するダックタイピングです。
この仕組みにより、Rubyでは異なるクラスのオブジェクトでも共通のメソッドさえ備えていれば同じように扱えるため、ポリモーフィズムを自然に実現できます。
また、Rubyの設計者まつもとゆきひろ氏は「人間にとって読みやすく、書きやすい言語」を目指しました。
そのため、型宣言に縛られず、直感的にコードを書ける柔軟性が重要視されました。
Railsなどのフレームワークでも、モデルやオブジェクト間で共通のインターフェイスを持たせることで、再利用性や拡張性を高めています。
もちろん、柔軟さゆえに実行時エラーの可能性もありますが、それ以上に開発の生産性と表現力を高める利点が大きく、Rubyがダックタイピングを採用した根本的な理由となっています。