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

新しいOSSプロジェクトの約半数がCを採用」記事へのコメント

  • 「プロジェクト」なんて構えてやる場合だと, 当然のことながら再利用やメンテナンスってのが念頭に入ってきますし, それに伴って多かれ少なかれ事前の設計が必要になってきたりするので, LLの思いついたらすぐ作成ってパターンが利点にならないんですよね. きっちりと設計しちゃうとガーベージコレクションみたいな細部を除けば, Cみたいなプリミティブな言語もLLもコーディングの面では大差が無いし.

    逆に性能やフットプリントなんかを気にし始めると, LLの場合は処理系自体の性能に加え, 処理系の内部処理なんかまで考慮しなくちゃならなくなるので, ちょっときついんですよね. その点, Cあたりだとアルゴリズムさえ極端に間違えなければ, コンパイラの最適化にまかせればコードから想像できる範囲でお手軽に高速化できちゃうんで, ついついCに逃げちゃいます.

    • > きっちりと設計しちゃうとガーベージコレクションみたいな細部を除けば, Cみたいなプリミティブな言語もLLもコーディングの面では大差が無いし.

      lambdaやマクロ(言うまでもないけど、Cとかのヤツとは違う)なんかを使うと、かなり差が出ちゃいますよ;-)

      #言語が限定されてるような気がしないでもない
      --
      お察しの通り、超濃緑茶です。 そう呼んだほうがいいでしょう。
      親コメント
      • by Anonymous Coward

        >lambdaやマクロ

        そうそう。

        その言語が無名関数をサポートしてるかどうかで
        コーディング量なんてガバっと変わってしまうよね。

        (広く言えばこれは「リテラルの充実」の問題です。
        無名関数はつまり「関数リテラルを書く」という機能。
        ほかに配列やHashやRangeなどなど…といった
        美味しいリテラルが揃ってる言語のほうが「便利」。
        あと文字列リテラルに複数行機能や変数展開機能があると更に「便利」。)

        (あとRubyのModuleみたいな「改善された実装多重継承」も美味しいぞ)

        スクリプトっぽい言語は世の中に色々あるけど、
        ラムダ/無名関数みたいに
        「決定的にコードを短くしてくれる武器」
        を搭載した言

        • by Anonymous Coward

          そんなん言語使用じゃなくライブラリの問題じゃん。それならC++にだって全て揃ってる。boostだけど

          • by Anonymous Coward
            コードを書くのも家庭の事情
            なんだかんだと 今更どうも
            あの娘(php)この娘(ruby)の ツールの山に
            なやむハンサム ちょとつらいざんす
            ネエC++ざんしょ ネエ
            ざんす ざんす C++ざんす
            あたしゃ貴女に ライ・ブラ・リー
        • by Anonymous Coward
          無名関数を覚えて喜んでいるところに水を差して悪いけど

          > その言語が無名関数をサポートしてるかどうかで
          > コーディング量なんてガバっと変わってしまうよね。

          そんなに変わらないよ。

          goto文は強力で何にでも使えコードサイズを短くしてくれるけど、注意深いプログラマは大抵はifやwhileですませてしまう。
          それと同じことです。

          > 美味しいリテラルが揃ってる言語のほうが「便利」。
          > あと文字列リテラルに複数行機能や変数展開機能があると更に「便利」。)

          そりゃ便利ですし、局所的にはコード量も減らしてくれるでしょう。
          でも、「プログラムのいたるところが」そんな有様では、やはりプログラムの構造を見直すべきだと思いますよ。
          • by Anonymous Coward
            まず二番目の引用ですが、開きカッコから引用すべきところを失敗してしまいました。すみません。
            さて、たとえ話ばかりでなんですが、こういうのはいかがでしょう。

            純関数型言語の世界ではもちろん無名関数は空気のように使われていますが、破壊的代入は許されません。
            破壊的代入の強力さはみなご存知だと思いますが、関数型言語に破壊型代入を導入してコード量がガバっと減った…という話は聞きませんよね(笑)

計算機科学者とは、壊れていないものを修理する人々のことである

処理中...