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

「脆弱性の多いプログラミング言語」ランキング、C言語が大差で1位に」記事へのコメント

  • by Anonymous Coward

    C言語は標準設定で、ポインタ・配列の境界チェックをしたり、
    セキュアな代替関数がある命令(snprintfとか)は、非セキュアなオリジナル命令を無効にするとか
    すればいいとおもう

    もちろん、コンパイルオプションや、コード内で明示的に指定することでそれらを無効にして、
    高速なコードを書きたい人は書けるようにして

    OSやlibc等速度が必要なコードはチェックを無効にしてビルド、
    一般アプリはチェックを有効にしてビルドとか

    • by Anonymous Coward

      何故今でもC言語を使う必要があるかというと、あえてそういうチェックを外す必要のある低レイヤーの実装に必要だからで、そんなお節介な仕様を標準化されても「C言語でなければならない人」にとっては迷惑なだけではないかと。
      逆にそうした保護を言語仕様でやってもらわなければならない用途には、今や他の言語を選ぶべきなんじゃないですかね。

      • by Anonymous Coward on 2019年03月29日 23時00分 (#3590188)

        昔はそういうチェックを自動でやってくれる言語(コンパイラがするか実行時チェックかは措くとして)がいろいろあったと思うが、今は猫も杓子もc言語、c言語を使わぬ者プログラマに非ず、という雰囲気でしてねえ。

        K&Rの時代には、変数名関数名も極力短く(つまりはタイプ量を少なく)していたのが、その後はタイプ量など気にせず長い名前にするようになったし。

        親コメント
        • by nnnhhh (47970) on 2019年03月29日 23時55分 (#3590222) 日記

          今そんなにc流行ってんすか
          あまりそんな気はしないですが、どこの業界なんでしょう

          親コメント
          • by Anonymous Coward

            というかCはもう流行ったりはしないけど、かといって無くなれば困るって存在。
            自然言語に例えればラテン語みたいなもんだろ。

            だいたいPythonやgoみたいな「流行りの言語」なんてのは結局Cの拡張だしね。

          • by Anonymous Coward

            K&Rの時代を引き合いに出してるってことは、「今」=「C89以降」なんじゃね?

        • by Anonymous Coward

          短い識別子はコンパイラとカリンカの制限のためでは

にわかな奴ほど語りたがる -- あるハッカー

処理中...