
TIOBE IndexのProgramming Language of the Year 2019はC言語 88
ストーリー by headless
増加 部門より
増加 部門より
C言語がTIOBE Indexで1年間(2019年1月~2020年1月)に最もシェアを伸ばしたプログラミング言語「Programming Language of the Year 2019」になった(InfoWorldの記事)。
2020年1月のTIOBE Indexで2位のCは前年から2.44ポイント増加して15.77%となっており、5位のC#が2.07ポイント増の5.35%で続く。2018年のProgramming Language of the Yearだった3位のPythonは2019年2月を除いて常に増加幅トップだったが、2020年1月は1.40ポイント増の9.70%にとどまった。Cの増加についてTIOBEでは、パフォーマンスが重視される小型デバイスによる需要増や学習が容易な点、どのようなプロセッサーでもコンパイラーが利用できる点を挙げている。
このほか、トップ20で増加したのは9位のSwift(0.61ポイント増、1.80%)と17位のD(0.25ポイント増、0.83%)のみ。1位のJavaは0.01ポイント減の16.90%で、Cとの差は1.12ポイントとなっている。4位のC++(2.58ポイント減、5.57%)と6位のVisual Basic .NET(1.17ポイント減、5.29%)は特に減少幅が大きい。また、ランキングを大きく上げたプログラミング言語としてはSwift(15位→9位)とRuby(18位→11位)が挙げられている。一方、期待されていたほど伸びなかったプログラミング言語はRust(33位→30位)やKotlin(31位→35位)、Julia(37位→47位)、TypeScript(49位→48位)とのこと。
2020年1月のTIOBE Indexで2位のCは前年から2.44ポイント増加して15.77%となっており、5位のC#が2.07ポイント増の5.35%で続く。2018年のProgramming Language of the Yearだった3位のPythonは2019年2月を除いて常に増加幅トップだったが、2020年1月は1.40ポイント増の9.70%にとどまった。Cの増加についてTIOBEでは、パフォーマンスが重視される小型デバイスによる需要増や学習が容易な点、どのようなプロセッサーでもコンパイラーが利用できる点を挙げている。
このほか、トップ20で増加したのは9位のSwift(0.61ポイント増、1.80%)と17位のD(0.25ポイント増、0.83%)のみ。1位のJavaは0.01ポイント減の16.90%で、Cとの差は1.12ポイントとなっている。4位のC++(2.58ポイント減、5.57%)と6位のVisual Basic .NET(1.17ポイント減、5.29%)は特に減少幅が大きい。また、ランキングを大きく上げたプログラミング言語としてはSwift(15位→9位)とRuby(18位→11位)が挙げられている。一方、期待されていたほど伸びなかったプログラミング言語はRust(33位→30位)やKotlin(31位→35位)、Julia(37位→47位)、TypeScript(49位→48位)とのこと。
言語多すぎ (スコア:1)
粛清してもいいのがいくつもありそうに思うのだが
Re: (スコア:0)
言語多すぎとか思ってた連中が作ったのがPL/Iでしょ
Re: (スコア:0)
少なすぎたからPL/Iができたわけだが。
Re: (スコア:0)
原作者がカルト宗教やっててクソの役にも立たない構文拡張ばっかで安全快適に開発できる方向にまったく進化してなくていまやPHP以下のゴミとすら言われているクソ言語Rubyをdisるのはやめるんだ!
Re: (スコア:0)
そもそもバイナリを直接打てばいいので全プログラミング言語が無駄
Re:言語多すぎ (スコア:1)
とりあえず中国語LOGOとか中国語なでしことか作って漢字だけでプログラムを組めるように文化大革命しましょう
# 増やそうとしてどうする
SQL は「プログラミング言語」ではない (スコア:1)
ストアードプロシージャはプログラミング言語だが。
---
勘違いしている人もいるが、HTML もプログラミング言語ではない。
HTML を認めると、XML もプログラミング言語になってしまう。
やっぱりweb系とかの人が (スコア:0)
ブラウザアプリとかしかやったことない人が、ウチもIoTやるぞとか言われて
突然エッジの組み込み系とかやれとか言われたら途方に暮れたところで
直面しているのはC(++)言語とかなんですかね
# イーサネット物理層のICが手に入りにくいんで変えるぞとか言われてあたふたとか
# こっちのほうが安かったとか言われて同じARMだからいいだろととか別メーカに変えられたり
Re:やっぱりweb系とかの人が (スコア:1)
そういう人たちとうまく作業をを分担して協力していけるといいかもしれませんね。
Re: (スコア:0)
どちらの場合もよくあるのが、
「お前技術者なんだろ?それならCくらい (Pythonくらい)できんだろ?
今できなくても明日にはできるよな?」
という技術無理解(理解する意志すらない)上司もしくは営業・・・
Re:やっぱりweb系とかの人が (スコア:2, すばらしい洞察)
日本語が話せるんだから英語もすぐに話せるでしょ?とか言ってやりたい
Re: (スコア:0)
プログラミングを全くやったことない人が、明日からプログラミングをやれと言われたら
途方に暮れるのは分かるが、プログラミングを仕事にしていて、明日から別の言語を
やれと言われて途方に暮れるのはちょっとどうかと思う。もちろん習熟にある程度の
時間が必要なのは分かるけど。
Re:やっぱりweb系とかの人が (スコア:2)
元コメは「技術者」としか言ってないけどな。
Re:やっぱりweb系とかの人が (スコア:1)
そして、ある言語の本質を理解してない人がコーディングすると
どう見ても別言語でしょうこれは、というコードが完成するんですね
Cは学習が容易 (スコア:0)
そうかしら?
他のメジャーな言語と比べて変わらないと思うし、ちゃんとしたコードが書けるようになるまでが他と比べて険しい言語と思うんですけどねCやC++って。
Re:Cは学習が容易 (スコア:1)
GUIやら何やらが面倒だからね。
Hello Worldする難易度は他と変わらないけど、その次のマイルストーンが見つからない。
少なくとも現状では、最初に覚えるべき言語ではなく、3番目ぐらいに習得するのが良さそうな印象。
Re:Cは学習が容易 (スコア:1)
最近のプログラマってのは「Hello,world」の次がGUIなのか
見た目で結果が出てくるのが楽しいということでしょうか
そんなん他の言語に任せておけばええやん
C言語使う意義ってそんなところにはない
Re:Cは学習が容易 (スコア:1)
「Hello,world」の次がGUI
じゃなくて、GUIで「Hello,world」が最初なんだよ
Re: (スコア:0)
> だから「最初の言語としてCを学ぶ意味が少ない(他の言語から入るべき)」って話でしょ。
> プログラミング言語より先に、日本語を勉強してよ。
C言語が理解できない人はこういう事を言いますね。
実際はCを学ぶ意味が少ないのではなくて
あなたがC言語を理解できてないだけです。
C言語を勉強してから出直しましょう。
Re: (スコア:0)
> だから「最初の言語としてCを学ぶ意味が少ない(他の言語から入るべき)」って話でしょ。
> プログラミング言語より先に、日本語を勉強してよ。
C言語が理解できない人はこういう事を言いますね。
実際はCを学ぶ意味が少ないのではなくて
あなたがC言語を理解できてないだけです。
C言語を勉強してから出直しましょう。
では現状で、プログラミングを過去に経験していない人が最初にC言語を学ぶ意味って何だろう。
たとえばC#とかPython、あるいはJavaScript等、試しやすい環境がいくらでもある言語に比べて、C言語
Re: (スコア:0)
憲法学者のよく言う「勉強が足りない」みたいなもんかね
必要だから必要なんだ、っていう循環論法
Re: (スコア:0)
BASIC->ASM->C->C++とプログラム言語を進めたオレからすると、C/C++は基本のその他のPC系言語
を知ったうえで習得した方が間違いなく簡単に習得できると思うから、最初にC言語を学ぶ意味が少ないってのは同意。
BASICやってたから、ASMやってたからC/C++の構文や宣言や規則、ポインタも違和感なく習得できたってのがある。
80年代のBASICはホントに基本の言語でインタプリタ言語だったからテストも習得も容易だったし、
その知識の有無はC/C++に進むにはかなり有用だった。
ASMはまぁ、言語を覚えただけでそれで何ができるかってのはPCのシステムコールとかを知る必要があ
Re: (スコア:0)
GUIなんてポトペタでコントロール配置して、コントロールをダブルクリックして生成されたイベントハンドラに処理書いて終わりじゃん
Re: (スコア:0)
そんな「ううままうままううまううままうって避け方分かってんじゃん、簡単だよそんなの」みたいなこと言われましてもですね。
Re: (スコア:0)
で、「どうやって実機と同期するんだ?」ってところで悩む。
「ボタンの背景色を赤にしたら、このLEDが光るんだけどできるよね?」とか言ってくる。
#「デバイスドライバ?ナニ?ソレ?いるの?」ぐらいは平常運転。
Re: (スコア:0)
現在の主要なアプリ開発ではほとんど求められないんだろうけど、それでも駆け出しの頃にCのポインタ操作を習得して学んだ知識(メモリ操作に対する全般的な概念とか、アライメントに関するあれこれとか)は、その後のデバッグ作業をだいぶ捗らせてくれたなぁと思います。
いや、普段は全然縁がないんですけど、でも例えば、ある時AIXのC++コンパイラの最適化のバグでSTLの挙動が変になったことがあって、あれをデバッグする時に大いに役立った。最初はまったく原因不明で胃が痛くなったものの、ふと最適化オプションを外してリコンパイルしてみたら正しく動作するようになって、
Re:Cは学習が容易 (スコア:1)
ちゃんとしたコードを書く に関してはフレームのもとになるから触れるな、ってばっちゃが言ってた
Re: (スコア:0)
学習が容易ってマシン語とかアセンブラとかと比べてでしょ。
Re: (スコア:0)
Linux環境だとほぼデフォルトで使えるって意味では学習は容易じゃないかな。
Re:Cは学習が容易 (スコア:1)
Linux環境という時点で、初心者の視点から離れてるのに気付こう?
Re: (スコア:0)
どこでも動くという意味ではjavascriptとかが入門によかったりするんですかね
※自分はBASIC爺
Java (スコア:0)
Oracleの件もあって減ってゆくかと思ってたけどそうでもないんですね。
Re: (スコア:0)
単なる個人的感覚だけど、最近のプログラム言語は、「プログラム労力を減らすけど堅牢性は削る」方向に行っているように思う。
で、ある程度規模の大きいサーバープログラムで堅牢性を求めると、Java しか選択肢が無いような…?
Java は android でも使われているからだろっていうのもありますが、それだと Kotlinの順位が落ちている理由を説明できないよね??
Java を Oracle じゃなくて Google が買っていたら、たぶんもっとハジけていただろうな。
ホント、そこが一番のリスクだわ。
Re: (スコア:0)
なぜかSunとGoogleが同じ時代を生きていたという気がしない。
Re: (スコア:0)
そう思い込んでる人が多いからJavaは今でも生き残れてるのだろうな
堅牢性はどう作るかの話でそこまで言語に依存しないだろう
Re: (スコア:0)
null-safetyの有る無しじゃ全然違うぞ
Re: (スコア:0)
Javaで書いてれば堅牢なんて訳ないよね。堅牢に設計する時にJavaがひとつの候補足り得るとは思うけど。
異常動作は想定してないケースそのもののこと。想定するすべてのケースでの正常性を担保するのがテスト。
そのシステムのテストをどれだけ完全に設計できるかよりも、言語レベルの堅牢性の要素が勝る事は無い。
Re: (スコア:0)
言語の仕様上出来ないことは不具合としても作りこむことが出来ないわけで。
Cのようにバッファオバーフローさせてアドレス操作出来てしまう言語と不可能な言語とじゃ違うだろ。
Javaや最近の高級言語のほうがより堅牢に作りやすいって話じゃないか。
そりゃそういう問題にCでも対処したライブラリあるけどさ、それは言語レベルで対処出来ないって話でもある。
Re: (スコア:0)
基本的には同意なんだけど、Javaの場合、過去20年に渡って積み上げに積み上げまくったノウハウっていうのも非常に大きな要素だと思う。
もちろん、最終的には個々のプログラマーがそれを虚心坦懐に勉強したり地道に調査したかどうかに掛かってくるけれど、でもそもそも情報が(豊富に)あるのとないのとでは、スタート地点からして差が出る気がするのよね。
Javaは市販の入門書やウェブ上の手引ページが山のようにあるし、英語をある程度読めるならそれこそ情報の宝庫だと思うので、その地位はまだまだ揺らがないんじゃないかな。
Re: (スコア:0)
蓄積重要ですよね
あとなんだかんだとWrite Once, run Anywhereをわりと頑張っていると思う。ギリギリのところで裏切られてたまに残念な思いはするけれども。
Re:Java (スコア:1)
なんだかんだ言って「どんな環境でも C コンパイラはある」のが普通ですから。
-- To be sincere...
Re: (スコア:0)
最近思うこと
軽量スクリプトといわれるものにもデータ構造を導入するのがはやってる。
複数人でちょっと大きなものつくるにはやっぱり構造型は欲しいよね。
しかし、だったらJava使えばいいじゃないか、というのが率直な感想。
同じ感覚の人が多いんんじゃなかね。
あと、tsはあまりにも環境がヘンテコになりすぎたのはあるかな。あれじゃ数そろわないよね
検索内容のほうが知りたいなぁ (スコア:0)
言語によって、ステートメントや関数の使い方調べるのが多いとか、コード記述方法調べるのが多いとか違いはないんですかね〜
R.I.P. PASCAL (スコア:0)
いつの間に200位にも入らなくなってるとは…
いくらなんでもABCにまで負けるとは思わなかった。
フラグを立てるために王大人に「死亡確認」をしてもらいたいorz
Re: (スコア:0)
パスカルがあると助かるんですけどね
Re:R.I.P. PASCAL (スコア:2)
地表あたりだと、10万はある。
#台風の日は少し減る。
Re:R.I.P. PASCAL (スコア:2)
「空気」って「圧力」を日々感じてますけど。
#読めない、読まない、読みたくない。
Re: (スコア:0)
同調圧力
Re:R.I.P. PASCAL (スコア:1)
無関係。オフトピ(-1)
とすかるでたすかる(TOSCALで助かる)という古い電卓CMを思い出した。
http://www.dentaku-museum.com/calc/calc/5-toshiba/2-toshiba/toshiba.html [dentaku-museum.com]
Re: (スコア:0)
一応、純粋なPascalではないが、12位にDelphi/ObjectPascalはあるぞ。