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

TIOBE IndexのProgramming Language of the Year 2019はC言語」記事へのコメント

  • by Anonymous Coward

    Oracleの件もあって減ってゆくかと思ってたけどそうでもないんですね。

    • by Anonymous Coward on 2020年01月13日 22時09分 (#3744551)

      単なる個人的感覚だけど、最近のプログラム言語は、「プログラム労力を減らすけど堅牢性は削る」方向に行っているように思う。
      で、ある程度規模の大きいサーバープログラムで堅牢性を求めると、Java しか選択肢が無いような…?

      Java は android でも使われているからだろっていうのもありますが、それだと Kotlinの順位が落ちている理由を説明できないよね??

      Java を Oracle じゃなくて Google が買っていたら、たぶんもっとハジけていただろうな。
      ホント、そこが一番のリスクだわ。

      親コメント
      • by Anonymous Coward

        なぜかSunとGoogleが同じ時代を生きていたという気がしない。

      • by Anonymous Coward

        そう思い込んでる人が多いからJavaは今でも生き残れてるのだろうな
        堅牢性はどう作るかの話でそこまで言語に依存しないだろう

        • by Anonymous Coward

          null-safetyの有る無しじゃ全然違うぞ

          • by Anonymous Coward

            NPE嫌う人ってなんか平和な時代の子って感じ。
            他スレッドがIO中でも即死するSEGVに比べたら何も危険じゃないのに。

            • by Anonymous Coward

              危険とかそういうのより開発効率のが良いことのほうが重要

        • by Anonymous Coward

          Javaで書いてれば堅牢なんて訳ないよね。堅牢に設計する時にJavaがひとつの候補足り得るとは思うけど。

          異常動作は想定してないケースそのもののこと。想定するすべてのケースでの正常性を担保するのがテスト。
          そのシステムのテストをどれだけ完全に設計できるかよりも、言語レベルの堅牢性の要素が勝る事は無い。

          • by Anonymous Coward

            言語の仕様上出来ないことは不具合としても作りこむことが出来ないわけで。
            Cのようにバッファオバーフローさせてアドレス操作出来てしまう言語と不可能な言語とじゃ違うだろ。
            Javaや最近の高級言語のほうがより堅牢に作りやすいって話じゃないか。
            そりゃそういう問題にCでも対処したライブラリあるけどさ、それは言語レベルで対処出来ないって話でもある。

            • by Anonymous Coward

              元コメは「Java しか選択肢が無いような…?」って言ってる。
              Kotlinを始めそこらの高級言語も全て劣り、Javaだけ特別って主張だよ。

              Cで書くならその「対処したライブラリ」を使うべきだし、
              Javaはバッファオーバーフローの危険な挙動だけは避けられるだけで、
              その他の致命的な不具合を勝手に排除してくれる訳ではないのだから、Javaだから大丈夫みたいな過剰な期待は禁物だよ。

          • by Anonymous Coward

            基本的には同意なんだけど、Javaの場合、過去20年に渡って積み上げに積み上げまくったノウハウっていうのも非常に大きな要素だと思う。
            もちろん、最終的には個々のプログラマーがそれを虚心坦懐に勉強したり地道に調査したかどうかに掛かってくるけれど、でもそもそも情報が(豊富に)あるのとないのとでは、スタート地点からして差が出る気がするのよね。

            Javaは市販の入門書やウェブ上の手引ページが山のようにあるし、英語をある程度読めるならそれこそ情報の宝庫だと思うので、その地位はまだまだ揺らがないんじゃないかな。

            • by Anonymous Coward

              蓄積重要ですよね
              あとなんだかんだとWrite Once, run Anywhereをわりと頑張っていると思う。ギリギリのところで裏切られてたまに残念な思いはするけれども。

              • by heavensgate (21016) on 2020年01月15日 18時40分 (#3745731)
                C/C++ があるのも、蓄積という面は否定できませんしね。
                なんだかんだ言って「どんな環境でも C コンパイラはある」のが普通ですから。
                --
                -- To be sincere...
                親コメント
          • by Anonymous Coward

            Javaで書いていれば堅牢にはならないというのはその通りなんだけど。
            それでも以下のうちどのプログラムがましなのかを考えると一番ましなのがJavaなんだよ。
            ・クソプログラマが書いたC言語のプログラム
            ・クソプログラマが書いたRubyのプログラム
            ・クソプログラマが書いたJavaのプログラム

          • by Anonymous Coward

            最近の言語はまたグローバル変数を使う感じになってきている気がするけど、やっぱグローバル変数が言語仕様として無い方が堅牢になると思いますね。
            たんなる一例ですけど。

            • by Anonymous Coward

              グローバル変数の有無と堅牢性って、どこかに関連があるんでしょうか?

              ちなみにstaticな変数フィールドが作成できるJavaは、グローバル変数が言語仕様として存在する言語ということですよ?

      • by Anonymous Coward

        > 「プログラム労力を減らすけど堅牢性は削る」方向に行っているように思う。

        どの言語のイメージかわからんけど、最近の言語は「労力も減らすし堅牢性も増す」っていう両立する方向だけで、堅牢性が下がるようなもの皆無だぞ。

        C++のような例外はあるが、あれも「労力は増えるけど速い」とか「堅牢性は下がるけど速い」とか、必ず「XXXだけど速い」ってのがついてるし、些細なものでも使う側が管理することが大前提の言語だから、言語側の責任じゃない。

      • by Anonymous Coward

        一般的にはJavaって、メソッドが virtual固定だったり、delegate無かったりと、昨今の主流の言語の中で、堅牢に書くのが困難な言語だとみなされてるわけですけど、個人感覚、けっこうずれてませんかね。

普通のやつらの下を行け -- バッドノウハウ専門家

処理中...