パスワードを忘れた? アカウント作成
12877126 story
プログラミング

TIOBE IndexでC言語のレーティングが大幅に低下 46

ストーリー by headless
減少 部門より
8月のTIOBE Indexで、Cのレーティングが過去最低となる11.303%まで落ち込んでいる(InfoWorldの記事)。

Cは2012年4月にJavaを抜いて1位になって以降、Javaが2013年に3回(2月、3月、8月)1位となった以外は2015年3月まで1位を維持していた。しかし、2015年4月にJavaが再び逆転して1位となり、その後は徐々に差が広がっている。8月のレーティングは昨年同月から3.429ポイント減だが、小さいピークがあった昨年11月と比較すると5.842ポイント減であり、レーティングは急激に低下している。

Javaも今年に入って若干レーティングが低下しているものの、8月はCと7.707ポイント差の19.01%を獲得している。昨年同月比で1ポイント以上レーティングが低下したのはCのほか、3位のC++(1.94ポイント減)と15位のObjective-C(1.31ポイント減)のみで、1ポイント以上増加したのは16位のGroovy(1.27ポイント増)と20位のGo(1.19ポイント増)のみ。Cの減少が際立っている。ただし、3位のC++は5.8%でしかなく、4位以下は5%未満だ。6位以下は1ポイント未満の増減で大きく順位が変動する状態であり、JavaとCの2強状態は続いている。

TIOBEではCが減少した原因について、拡大の続くWebやモバイルアプリの開発に適していない点や、ほかの人気言語のようには進化していない点を挙げている。さらに、OracleやMicrosoft、Google、Appleなどの大企業がサポートする人気言語に対し、Cを表立ってサポートする大企業が存在しない点も減少の理由の一つになっているとのことだ。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by marute (13883) on 2016年08月14日 14時04分 (#3063122) 日記

    昔(20年位上前)は職業プログラマなら実務経験はなくてもCでのプログラミング経験はあって当然という雰囲気あったような気がする(含む:Hello world)。

    それが今は嗜みというか、懐古主義というか、少なくとも稼げる言語ではなくなったってことなのかな。

    • by Anonymous Coward on 2016年08月14日 15時33分 (#3063151)

      必要とされる技術者の数に変動があまりないからではないでしょうか
      C++も1ポイント以上下がってるし

      相対的にレートが下がってはいるけれど、絶対的には安定しているんじゃないかしら
      Javaみたいに極一部の有能に対して圧倒的大多数のゴミって状況と比べると稼げる言語なはず

      親コメント
    • by Anonymous Coward on 2016年08月14日 19時29分 (#3063212)

      C経験有りで集めたはず連中にコード書かせると、お漏らししまくるんですよ。
      だったら、最初からメモリリークしない言語使った方が楽ですしね。
      そうすると、オブジェクト解放しない輩が集まるのですが。せめてGCの管理で悩みたい。

      親コメント
      • by Anonymous Coward

        そういうときにチェンジするために派遣会社に高い金払ってるんじゃないの。人事が無能で人間を見て採用()とかしかしてくれないから

        • by Anonymous Coward on 2016年08月15日 6時33分 (#3063343)

          派遣会社は無能しか持ってない

          親コメント
          • by Anonymous Coward on 2016年08月15日 8時27分 (#3063357)

            本当に有能な技術者は派遣を介する必要が無いからね。
            基本的に2流以下しか集まらない。
            でも当然ながら技術者に限らず、どんな仕事でも世の中は2流以下が大多数なので
            そこを使わざるを得ない。
            スポーツとかでもわかるように、一流は一握りだけ。
            どうしても1流を使いたいなら、ロナウドに数十億払うように
            技術者にも相応の額を払わないと引っ張ってこれるわけがない。
            んでスポーツは一流には湯水のように金をつぎ込むが
            技術業界はケチることしか考えてないんだよな。

            親コメント
            • by Anonymous Coward on 2016年08月15日 23時08分 (#3063808)

              それ本当ですかね。
              大企業がある程度以上の規模がある企業としか取引出来ない事を理由に、
              派遣会社を間に入れることで、高額契約している技術者も居ますね。

              それとも、有能な技術者は然るべき企業の正社員である(でも給与は不相応)という理屈なのかな。
              本当に有能な技術者って、1企業に飼われているイメージ無いんだけど
              どうなんでしょうね。

              親コメント
          • by Anonymous Coward on 2016年08月15日 9時14分 (#3063366)

            見分ける手段を持ってないから無能をつかまされるんだと思われ。

            親コメント
            • by Anonymous Coward

              それはあるよね。
              スポーツはまあ疑惑の判定とかたまにあるけど、技術者に比べるとはるかに優劣がわかりやすい。
              技術者の方はいわゆるレモン市場ってやつですね。

          • by Anonymous Coward

            派遣会社にも色々あると思うのだが
            有能な人間を抱えていても金払いの悪いとこには有能な人間は出さない

      • by Anonymous Coward

        正直凡ミスリソースリークに神経使うような言語使う時代じゃないよなあ。
        Rustとか使えないのかな。

    • by Anonymous Coward

      需要が多い少ないと個人が稼げる稼げないは別じゃなかろうか。
      昔(20年以上前)はUNIXシステム管理者ならCは使えたよ。(Cが使えないUNIX管理者というのは存在しえなかったから)

    • by Anonymous Coward

      Bjarne Stroustrupのインタビュー記事を思い出す。

    • by Anonymous Coward

      組み込み屋もそのうちコボラーみたいに扱われるのかー

    • by Anonymous Coward

      組込系の下回りの開発にはC言語以外の選択肢は無い
      その上のアプリケーションのレベルはC言語を使う時代じゃない
      したがって大多数のプログラマはC言語を知る必要は無い
      逆に言えばC言語できない奴にはハードよりの開発をする能力は無い

      • by Anonymous Coward

        組み込みでもCじゃないといけないのって相当低レイヤーだけで、今やロジックはPythonで書ける時代なんですよね。
        もちろん業界とかリソース量によるでしょうが。

        • by Anonymous Coward

          えっ、Pythonでレジスタ・アクセスするの?
          #ロジックならBASICでもアセンブラでも書ける

          • by Anonymous Coward

            レジスタアクセスする仕組みを用意すればいいだけでは。
            Cだって言語仕様としてレジスタアクセスできるわけじゃないでしょ。

            • by Anonymous Coward

              プログラムからアクセスすることを前提として読み書きできるメモリ空間にレジスタが配置されてればCの言語仕様の内でレジスタアクセスできますよ。

              • by Anonymous Coward

                素直にインラインアセンブラ使ってください

              • by Anonymous Coward

                C言語のregisterキーワードをつけた変数ってアドレスを取れない仕様だから、通常のハードウェア実装ではレジスタのアドレスは取れないであることを想定している(いた)のでは。実際そのとおりだし。

              • by Anonymous Coward

                生のメモリアドレスの扱いは処理系依存ですよね

              • by Anonymous Coward

                レジスタアクセスにインラインアセンブラが素直って馬鹿ですか?

              • by Anonymous Coward

                ここで言われてる「レジスタ・アクセス」の意味分かってないでしょ

              • by Anonymous Coward

                この人は組み込みの経験ないんだろうなあ、という印象。
                https://ja.wikipedia.org/wiki/%E3%83%AC%E3%82%B8%E3%82% [wikipedia.org]

              • by Anonymous Coward

                ああ、レジスタ違い。20世紀は遠くなりにけり。

              • by Anonymous Coward

                処理系依存にしろ「Cの言語仕様の内でレジスタアクセスできる」ことに違いはないでしょ

              • by Anonymous Coward

                C 言語の仕様として適当にぐぐると出てくる『JIS X 3010:2003 プログラム言語C』で volatile 宣言について

                (114) volatile 宣言は,メモリ上に割り付けられた入出力ポートに相当するオブジェクト,又は非同期 的な割込み機構によってアクセスされるオブジェクトを記述するのに使用してもよい。そのように 宣言されたオブジェクトに対する操作は,式の評価の規則で許されている場合を除いて,処理系の 最適化によって削除又は順序の変更が行われてはならない。

                と注釈がされており、「メモリ上に割り付けられた入出力ポートに相当するオブジェクト(=レジスタ)」へのアクセスは C 言語の仕様の内として行ってよいことであり、「プログラムからアクセスすることを前提 ~ Cの言語仕様の内でレジスタアクセスできますよ」という投稿に対して処理系依存ですよねという指摘は斜め上方向にずれているのでは?

              • by Anonymous Coward

                処理系依存でもいいならPythonでもレジスタアクセス可能ということになるんだろうな

              • by Anonymous Coward

                レジスタアクセスが可能なPythonの実装は実例として何が挙げられますか?

              • by Anonymous Coward

                そのレジスタを指す方法は処理系依存でしかありえないよ。

              • by Anonymous Coward

                動作プラットホームには依存するけど処理系に依存しない書き方は普通に可能でそ

              • by Anonymous Coward

                > 素直にインラインアセンブラ使ってください
                > registerキーワード
                CPUの(汎用)レジスタとかを連想する人多すぎだな…
                そっちのレジスタはCでも明示して操作出来ないだろうに。

                > 処理系依存でもいいならPythonでもレジスタアクセス可能ということになるんだろうな
                「ポインタに処理系依存な値を突っ込めば突っ込んだ値に対応するレジスタが操作できる」
                ってな具合なんで、突っ込むべき値が処理系依存なだけで、突っ込む機能自体はCが持っている。
                # ・・・機能というか言語仕様的には未定義だから同じコードも環境次第では鼻悪魔だけど

                ポインタの値をPython自体の仕様として直接操作とかができるならそうなるね。
                できないのなら無理。言語仕様の枠をこえた独自拡張で対応するしか無い。

              • by Anonymous Coward

                組み込みもPythonもわからん癖になんか言いたい人は引っこんでていただきたいですね。

      • by Anonymous Coward

        は…はんどあせんぶ… いやなんでもない。

        加えて言えば、そのレベルのC言語って特にサーチエンジンで調べることもないだろうし
        (調べるにしても調べたいのはハードの事だったり)このインデックスには反映されない気もしますね。

      • by Anonymous Coward

        逆に言えばC言語できない奴にはハードよりの開発をする能力は無い

        アセンブラしか出来ないなんてのは想定外なのか

  • by Anonymous Coward on 2016年08月14日 16時25分 (#3063166)

    ま、まだ二位だぞ、、、、

    • by Anonymous Coward

      2位では駄目なのでしょう

      • by Anonymous Coward

        2位じゃダメなんでしょうか?(お約束

  • by Anonymous Coward on 2016年08月14日 13時43分 (#3063117)

    C言語は、どのプラットフォームでも使えるから覚えとけ!
    そんな時代じゃ無いんですね。時代を感じます。

    • by Anonymous Coward

      まだ2位なんだけど?

    • by Anonymous Coward

      どんなプラットフォームでも使えるけど別にCじゃなくてもいいよねってそれだけの話。
      どんなプラットフォームでも使えるけど覚えなくてもいいんじゃねって話でもある。

  • by Anonymous Coward on 2016年08月14日 17時04分 (#3063176)

    Androidフレームワークを使う奴は除くということにしたら、どれくらい減るだろうか。

    • by Anonymous Coward

      Androidと対を成すiOS向けの開発言語のObjectiveCが、およそ1.8%、SWIFTが1.9%なので、
      Android分は精々、4~5%って所ではないかと。

      もっとも、モバイル向けを別枠にすると、C#も計算に含める必要が出てくるので、
      素直にインデックス通りに評価すれば良いんじゃないでしょうか?

typodupeerror

私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson

読み込み中...