パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

「変数に型がない」はメリットなのか、それともデメリットなのか。宗教戦争勃発」記事へのコメント

  • > C++ でキャスト地獄を味わったことがある経験から

    それって型の有無によるメリットデメリット以前に、適切なクラス設計が出来ていないのでは…

    ちゃんとクラス設計出来ているのにキャスト『地獄』とまで言うような状況になることってあるのだろうか。

    • Re: (スコア:4, 興味深い)

      プロトタイピングや、アジャイルな開発をしていると、クラスの整理法をガラリと変えないといけない時がたまに来ます。

      そんな時、型なしだとちょっとずつの変更が楽なんですが、型有りだと、全コード書き直しに近い再設計が待っています。で、それをごまかすためのキャスト地獄ということは、経験があります。

      はじめから仕様がかっちりしているのなら、地獄に陥らないように設計できますが。

      もちろん、型なしで中途半端に変更したままにほっておくと、後々スパゲッティ同然の理解不能コードが出来上がるわけですが。

      • by firewheel (31280) on 2013年03月01日 15時31分 (#2335108)

        プロトタイプ限定ならそれもありかもしれませんけどね、

        「プロトタイプ限定だから型システムなんかなしでいいよね!」
        「リリースする時は静的型システムのある言語で書き直すから問題ないよね!」

        なんて言って、本当に書き直したことってどれくらいあるんだろう?
        #身近な事例では、書き直しが必要でありながら実際に書き直した例は見たことが無い。残念ながら。

        親コメント
        • ずっと疑問なんですが、
          なぜ最初から型無し型付け両方に対応した言語で書かないのかわかりません。
          型なし版を書いて、動いたらそのまま型宣言をつければいいだけのこと。
          バージョン管理しておいて、プロトタイピングに戻りたくなったら型なしバージョンに戻せばいい。

          型なしを許容するけど、型をつけると早くなるというのが一番ですよ。
          ついでに言えば、型をつければネイティブに静的型付けでコンパイルしてくれる言語。

          まあ、外部の問題のせいで型を書き換えまくる必要が出るというのは、
          スパゲッティみたいに依存しまくったクラス設計のせいだとは思いますが・・・。

          --
          新人。プログラマレベルをポケモンで言うと、コラッタぐらい
          親コメント
        • by USH (8040) on 2013年03月01日 17時01分 (#2335197) 日記

          個人的には、そうなる(型なし言語で作っているけど、型あり言語に素直に移行できるように、採集t系には持っていく)ようにしている。

          希望としては、型なし言語(例えば ruby) とかで、静的型あり言語に移行できるかどうかをチェックしてくれる機構が欲しい。

          親コメント

最初のバージョンは常に打ち捨てられる。

処理中...