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

GitHubで最も「醜いハック」が使われているのはC言語」記事へのコメント

  • by Anonymous Coward

    これって単純にCがよく使われていて、リソースも沢山ある言語だから、というだけの話ですよね?別に特段ストーリーにする必要性はないと思うのだけれども……まあ、ネタに困っているのかな。

    • by Anonymous Coward on 2015年05月09日 18時49分 (#2811362)

      これ [namaristats.com]によると、GitHubにC言語のリソースが多いという訳ではないです。

      ランクでvimLが3位にある事もそうですが、

      1) 言語機能が貧弱で手を抜きがちな要素が多い。
      2) それに気が咎める程度には判っている作者が多いこと。

      で上位に立っているような気がしますね。
      Cの場合は更に「性能の為に手を汚さざるを得ない」と言うこともありそうですが。

      親コメント
      • 別スレッドでも話題になってますが、大抵のuglyなコードは「クロスプラットフォームの流儀から外れる」「Cのコーディング作法を逸脱して書くよりない状況になってしまう」と言う話なんで。

        ハードウェアに依存するコードを書かないといけないとか、OSの(主にリアルタイム性に関する)制約で不本意なコードを書かないといけないとか、
        あとは仕様変更とか仕様の不備・果てはミドルウェア側の仕様の問題で「美しくない」コードでいくしかなくなったとか。

        なので、言語機能が貧弱かどうかはあんまし関係ないでしょう。

        他の高級言語ではミドルウェアがuglyなコードを書くのを代行してるだけで、本質的には余り変わらない気がします。

        親コメント
      • by Anonymous Coward

        手を抜きがち→泥臭い?
        ダック・タイピングとかクロージャとか手抜きっつーより泥臭い実装になっちゃう。

        • by Anonymous Coward

          えっと、

          例外処理がないので関数の成否をリターンステータスで返す -> 成功すると決めてかかる。
          mallocしたメモリを自分で解放しなきゃいけない -> プロセスが終了すれば解放されるからそのまま。
          データ型が貧弱 -> 配列で済ます。中間に挿入するときはmemcpyでずらす。

          #ごめんなさいごめんなさい。

      • by Anonymous Coward

        使い勝手の悪い言語は何をするにも醜いハックで敢えて明言する必要も無いレベルだったり、
        醜いハックであってもデザパタの名の元に常套手段としてしまいいちいち言及することもなかったり、
        醜いハックであってもそれを書くかどうかは別の問題ですよね。

        PHPやJavaScript(Node.js)とかのWeb系だと、セキュリティのための後付け要素で手を汚してる例も結構ありそう。

人生の大半の問題はスルー力で解決する -- スルー力研究専門家

処理中...