引用元: 【IT】4月の人気プログラミング言語、「C++」が「Python」を抜いて3位に浮上

book_gijutsusyo_it_set
1: へっぽこ立て子@エリオット ★ 2019/04/09(火) 13:55:01.82 ID:CAP_USER
 2019年4月のTIOBE Indexで、プログラミング言語としては35年の古株である「C++」が3位に浮上し、同言語に対する関心の高まりを表している。

no title

提供:TIOBE

 C++は1985年に「C」の拡張版として開発された。標準化された最新版の「C++17」は、「Microsoft Visual Studio」「GNU Compiler Collection(GCC)」「Clang」を含む多様なコンパイラによってサポートされている。

 国際化標準機構(ISO)でC++の仕様策定を手掛けるワーキンググループ21(WG21)は2019年、「C++20」の最終版を完成させるべく、取り組んでいる。

 WG21の2月の会合で議長を務めたMicrosoftのHerb Sutter氏によると、C++20は「C++11リリース以来のメジャーリリースになる」。2011年に公開されたC++11は、標準化された最初のバージョンだ。C++20で提供される最も重要な2つの機能は、「モジュール」と「コルーチン」である。
The Committee : Standard C++(英文)
https://isocpp.org/std/the-committee
Trip report: Winter ISO C++ standards meeting (Kona) | Sutter’s Mill(英文)
https://herbsutter.com/2019/02/23/trip-report-winter-iso-c-standards-meeting-kona/

 C++は、TIOBEの4月のランキングでシェア8.838%を獲得し、前年同月より1.62ポイント上昇した。

 このランキングはGoogle、Bing、Yahoo、Wikipedia、YouTube、Baiduなどの検索結果に基づいている。開発者の間で人気が高い言語を明らかにすることを意図したものであり、最も優れているプログラミング言語や、書かれたコードの行数が最も多い言語を特定するものではない。

 C++は4月、人気上昇中の「Python」を抜いて3位につけた。この数年、Pythonを使用している開発者は急速に増加している。

 TIOBEのアナリストによると、Pythonは前月の3位から4位に転落したものの、その人気が衰えているわけではない。4月のPythonのシェアは8.166%、前年同月比で2.36ポイント増と、年間ではC++を上回る伸び率を見せている。
TIOBE Index | TIOBE - The Software Quality Company(英文)
https://www.tiobe.com/tiobe-index/

 「Pythonはほぼ毎月、過去最高を記録している。その一方で、C++の人気も上昇しているだけのことだ」(TIOBE)

 C++は、シェアが15%を超えていた2000年代初頭の全盛期に比べると、まだ遠く及ばない。

 TIOBEによれば、C++のシェアが近年低いのは、「C++0x(後のC++11)の規格策定が複雑で手間どっている間に、C++の勢いが後退した」ためだという。

 TIOBEは、「2011年にリリースされた新しい標準規格のC++11によって、同言語はよりシンプルかつ安全になり、表現力が高まった」と説明している。

 「C++11の導入まで、さらに数年かかったのは、開発者コミュニティーがコンパイラのサポートを待たねばならなかったためだ。現在はC++11のほか、C++14とC++17が、GCC、Clang、Visual Studioなど、最も重要なC++コンパイラによってサポートされているため、C++の人気が復活している」(TIOBE)

 TIOBEの4月トップ10は、「Java」、C、C++、Python、「Visual Basic .NET」「C#」 「JavaScript」「SQL」「PHP」「Assembly Language」となっている。

この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。
https://www.zdnet.com/article/programming-language-popularity-c-bounces-back-at-pythons-expense/

2019年04月09日 10時08分
ZDNet Japan
https://japan.zdnet.com/article/35135463/

49: 名刺は切らしておりまして 2019/04/09(火) 18:34:55.15 ID:OK9ZKWkc
>>1 このランキングはGoogle、Bing、Yahoo、Wikipedia、YouTube、Baiduなどの検索結果に基づいている。

goをどうやって抽出したのか知りたい

goと言う単語のヒット数だとダントツ1位だろうが、大半はプログラミング言語のgoじゃなく動詞のgo。Googleなんだから、名前付ける時に、検索の事も考えろよと言いたい

3: 名刺は切らしておりまして 2019/04/09(火) 13:58:31.83 ID:TY3t5+/Z
SQLって何だよ
PL/SQLかT-SQLと書けりゃいいのか?
あんなもん言語かよ

5: 名刺は切らしておりまして 2019/04/09(火) 14:05:04.72 ID:qYuBtVxg
C++て難しよね?
テンプレートの話から良く分からん
Cは簡単なのに

20: 名刺は切らしておりまして 2019/04/09(火) 15:07:52.59 ID:tWJS5KHa
>>5
かゆいところに手が届くようにしただけだから
痒くなければ使わなくていいよ

21: 名刺は切らしておりまして 2019/04/09(火) 15:15:06.65 ID:TJ/DPUqM
>>5
どんな型でもバッチ来いで使いこなすと便利

55: 名刺は切らしておりまして 2019/04/09(火) 19:49:06.80 ID:6+U3XRU4
>>21
C++の闇の軍団はテンプレートの「どんな型でも」って部分を制限するプロ
自分にはきつい

6: 名刺は切らしておりまして 2019/04/09(火) 14:05:25.73 ID:cu8R2sLF
C++まだあるのか
18年ぶりにSE復帰できるかな

9: 名刺は切らしておりまして 2019/04/09(火) 14:09:18.43 ID:ekh/okDe
よっしゃ! ハローワールド

11: 名刺は切らしておりまして 2019/04/09(火) 14:11:04.94 ID:qYuBtVxg
printf("Hello Work!");

17: 名刺は切らしておりまして 2019/04/09(火) 14:26:30.56 ID:70J6p/6/
当初わざわざ制限を掛けていたJavaも文法的にはほとんどC++になってる気がする。

18: 名刺は切らしておりまして 2019/04/09(火) 14:35:08.30 ID:LM+G76H+
久しぶりにC++触ったけど、C++14とかで結構変わってて面白かった

22: 名刺は切らしておりまして 2019/04/09(火) 15:35:05.37 ID:qj7GyijV
変わりすぎじゃないかね?
みんなついていけてるのかな?
ついていくのが大変で、コードいっぱい
直さなきゃいけないから、ランキングが上がってるのかな?

29: 名刺は切らしておりまして 2019/04/09(火) 16:05:16.46 ID:I8U33J5F
>>22
プログラム理論を習得しておけばあとは方言みたいなもんだ、ラテン語と欧米言語の関係と同じ

23: 名刺は切らしておりまして 2019/04/09(火) 15:36:43.04 ID:qj7GyijV
最新のコンパイラで、ちょい古のコード
コンパイルすると、警告凄いでしょ?

24: 名刺は切らしておりまして 2019/04/09(火) 15:38:03.52 ID:X1ndwzZQ
c#は書くけどc++はやらん
包含関係にないの?
未だにc++多いよな c#でええやん

26: 名刺は切らしておりまして 2019/04/09(火) 15:42:42.18 ID:g8PJMeXo
rubyは良い言語だと思うんだがなぁ

38: 名刺は切らしておりまして 2019/04/09(火) 17:46:44.90 ID:C3i2BR91
>>26
RubyはGemのバージョン管理が問題だよ
未だにGTK3インストールできない
あとGridViewみたいなのが欲しい
あればシステム組む気にもなるんだが

31: 名刺は切らしておりまして 2019/04/09(火) 16:12:25.17 ID:uM5h97cy
Pythonで任意のウィンドウをアクティブにはできるけど最前面にできない
Pythonスレで聞いたけど解決できなかった
だれか教えてクレメンシュタイン

33: 名刺は切らしておりまして 2019/04/09(火) 17:14:42.81 ID:mkNxJUiL
>>31
前のウインドウを透明にしてごまかせ

43: 名刺は切らしておりまして 2019/04/09(火) 18:01:39.54 ID:s+eARZma
>>31
OS 依存じゃないか

36: 名刺は切らしておりまして 2019/04/09(火) 17:41:33.81 ID:wa+aRQAE
SQLをプログラミング言語として並べるとおかしいことにならないか

40: 名刺は切らしておりまして 2019/04/09(火) 17:52:09.91 ID:vE3bVgLf
なんでもええやん。
しっかし、javaつええな。

41: 名刺は切らしておりまして 2019/04/09(火) 17:57:58.56 ID:0SixWtKn
おわーーー 難言語のC++がなして?

46: 名刺は切らしておりまして 2019/04/09(火) 18:11:09.61 ID:bKX1cN1e
>>41
C++は何でもできるからな。
機械制御とかになるとアセンブラで制御するけど、
アセンブラと互換性あるのはC言語だけど、
そのC言語が低級すぎるから、その拡張版C++の需要が高い。

57: 名刺は切らしておりまして 2019/04/09(火) 20:42:50.08 ID:rejt8ViB
>>41
最近のc++は分かりやすいよ
やたらめったら長かったiterator周りが
スッキリしたコードで書けるようになったし
リソース管理が全部スマートポインタで
済むようになった

65: 名刺は切らしておりまして 2019/04/09(火) 22:46:02.55 ID:6+U3XRU4
>>41
・言語機能に触れるならばSFINAEやconstexprによりライブラリ設計者の選択の幅が増えた
・↑のおかげで優秀なライブラリが増えた
・autoの強化でプログラムの記述が楽になった
あたりかが大きいかと

42: 名刺は切らしておりまして 2019/04/09(火) 17:59:03.15 ID:H1MLtxf/
CPU性能が頭打ちになってる状況では
「動作の遅い言語でもいいや」にはなりづらくて
いろいろな機能を高速で動かしたい需要は残り
そういうところはC/C++が必要になるんだろうな
Java もネイティブコンパイルされた状態なら早いかもしれないけど
配列の添え字チェックとか文化自体が速度より安全性ってところがあるし

45: 名刺は切らしておりまして 2019/04/09(火) 18:09:26.75 ID:mBHnIT0N
C++17までくると別物だな
今まで以上にCらしさを消したコードが良さそうだ

48: 名刺は切らしておりまして 2019/04/09(火) 18:21:22.52 ID:OK9ZKWkc
ここ数年Python中心で生活してたから、もう変数宣言や型定義の必要な言語とか面倒で使えなくなった
アルゴリズムをプログラミングしてるんじゃなくて、馬鹿コンパイラーが細かいこといちいち指示を要求してくる感覚

それで型に厳格でメモリーリーク起こさないなら我慢もできるが、キャストとかポインターとかで簡単に甘くなり、すぐにコアを吐く
つまりは、言語が人間側にバグ無く書くことを要求するとか、何様だよふざけんナと思う

58: 名刺は切らしておりまして 2019/04/09(火) 20:47:38.84 ID:rejt8ViB
>>48
お前はそのうち
「整数だと思ってrangeに突っ込んだらfloatだった」とか
「ndarrayだと思って掛け算したらpython配列だった」とかの
罠にはまる気がする

64: 名刺は切らしておりまして 2019/04/09(火) 22:39:40.09 ID:6+U3XRU4
>>48
お前は言語の設計というものをなにも理解していない
そもそもC++はプログラマを信用している言語だ

50: 名刺は切らしておりまして 2019/04/09(火) 18:36:05.77 ID:H1MLtxf/
まあ言語を単純に並べて
どっちが上とか下とかいってもしょうがない時代になってきてるんだろうな
C/C++ みたいなOSとかファームウェアとか書くための言語と
Java みたいなアプリケーションを手軽・安全・比較的高速で動かすための言語と
各種スクリプト言語マクロ言語みたいに、速度よりも学びやすさ優先な言語と
いろいろな役割ができていて勝ち負け競ってもしかたない

52: 名刺は切らしておりまして 2019/04/09(火) 18:52:13.19 ID:DTa+H8D3
arduinoがやってくれました

53: 名刺は切らしておりまして 2019/04/09(火) 19:13:43.61 ID:Dt3SkwAO
最近のC++わからないけどGCはしてくれるの?

54: 名刺は切らしておりまして 2019/04/09(火) 19:33:29.28 ID:FGJJtoBD
>>53
外部ライブラリを使えば可能
標準(C++11)では実装されてないはず

61: 名刺は切らしておりまして 2019/04/09(火) 21:25:44.33 ID:x8Xx+8GI
c++は早くネットワーク周りを標準化してくれ

74: 名刺は切らしておりまして 2019/04/10(水) 05:42:02.53 ID:tCYzgiE4
やっぱ基本はC++よ
C++できれば大抵の言語は楽勝

76: 名刺は切らしておりまして 2019/04/10(水) 11:09:13.40 ID:XHCwe5p8
Win32ネイティブが開発メインの頃はよくC++使ってたけどここ10年以上あまり使ってないな
最新のC++はもう別言語なんだろたぶん
STLを駆使するのはよくやってたんだが

77: 名刺は切らしておりまして 2019/04/10(水) 11:17:49.71 ID:mRCnVolu
まぁ ハードウェア絡めばArduinoでC++というのは多いな。 アプリ側をC#にすると、意外と使えるルーチンがあったり、相性が良い。

78: 名刺は切らしておりまして 2019/04/10(水) 12:11:49.08 ID:3BVgbOjE
C++とか古いままだと思ってたんだがC++17とか変わって行ってたんだな