2013-03-03

http://anond.hatelabo.jp/20130303135038

元記事はそんなに外してもいないと思いますけどね。

静的型付き言語として関数型言語を持ち出してくるのは、論点が違うような気がしました。

静的型、型推論の嬉しさって、関数が一級かどうかでも違ってくると思いますし。

(つまり、静的型の得失について、scheme vs ML での議論と Java vs Perl の議論は別物だと思います)

結局は適材適所という結論にしかならないと思いますが、たとえば Web 系なら静的型付き言語で書いても面倒臭さの方が多そうです。

Web 系で一番面倒なのは文字列の扱いなので。そこは型システムで何も解決しないですよね。

そういうことより、文字列関数名として $funcName(arg1, arg2) みたいにコールできたりとか、

そういう柔軟さが便利なのですよね。

こういうの、静的型がある言語だと大変ですよね。Java ならリフレクションですよね。

他の言語ではどうするのでしょう。おそらく、自前で関数テーブルを作ることになるでしょうか。

静的型を持たない言語での開発が、大規模になると破綻するというようなことが言われます

別に破綻しませんよ。

大規模開発といっても、大抵フレームワーク規約に沿って実装するだけですし、

規模を LOC だと考える限りにおいては、大規模になっても複雑さは LOC に比例しませんから

単純にモジュール数が増えるだけで、一つ一つは単純な実装の繰り返しですよね。

おさしみにたんぽぽを乗せるお仕事と変わりません。たんぽぽの山が積まれていて途方に暮れるだけです。

もちろん、大規模になったときスケールしなくなるので C/Java にするというのはありますけど。

でも、これも Web 系では、ボトルネックネットワークデータベースというのが普通だと思います

記事への反応 -
  • 型論争の一部。 動的型陣営と静的型陣営がそれぞれ大規模開発に向いてるとか向いてないとか言うけど、「大規模開発」って何よ?って話。 自分としていくらかのパターンがおもいつく...

    • 元記事はそんなに外してもいないと思いますけどね。 静的型付き言語として関数型言語を持ち出してくるのは、論点が違うような気がしました。 静的型、型推論の嬉しさって、関数が一...

    • プログラミングの知識があまり無い自分にとっては、大工が金槌の材質で言い争ってるようにしか見えない。肝心の家の建設は置いてけぼり。

    • 道具のよしあしによって家を作る課程や結果に影響がでるなら、道具のよしあし向き不向きを大工同士で語るのは大いに結構なのでは。

    • Haskellはネイティブコードコンパイラあるよ。 OCamlにもある。 F#は.netで動くわけだよね。 論点を整理し直そうぜ風に書き始めたのに結論ありきな締めくくりで、あんま理性的じゃないね...

      • 元増田だけど、そうであれば、量的な大規模開発にかんしてはhaskellは向いていると考えていい気もする。 ちなみにどの辺りが結論ありき?(量的なのはもともと判断を保留している。)...

    • 「Javaは学習コストが低くHaskellは学習コストが高い」みたいな話をよく見るけど、本当なのかねぇ。 初期のJavaならともかく、AutoBoxingの落とし穴とかワイルドカードの正しい使い方とか、...

      • 落とし穴が多いってことと学習曲線の立ち上がりってことには直接の関係はないのでは。 PHPなんて落とし穴だらけだが、初学者の言語としてしばしば使われてるのは、とりあえずHTML書い...

      • そう思うのは多分あなたが、馬鹿な人の気持が分からない程度には賢くて、馬鹿な人がむやみに怖がらないようなものを設計できるほどには賢くないからだと思うよ。

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん