C言語の将来性について考える

530, 2022-08-08

目次

C言語の将来性について考える

C言語の将来性は伸びることはないにせよ無くなることもない、という感じだと思います。
これから爆発的にC言語が流行るということはないでしょう。
しかし急激に需要がしぼんでいって消滅するということもないはずです。

なぜならC言語で実装されているソフトウェアは世界中にあり広く使われているからです。
C言語が無くなるのはおそらく向こう50年はないでしょう。
ひょっとしたら100年かもしれません。

この記事ではC言語の将来性について考えていきたいと思います。

関連記事

C言語の現在の人気度

C言語の人気度はどれぐらいでしょうか?
スタックオーバーフローの2021年の調査があります。

これによるとC言語の支持率は21%.
Goが9%でRustが7%. Pythonは48%になっています。

古い歴史のある言語としてはまだまだ新興言語には負けていない感じです。
ただしJavaScriptが64%なのでそれと比較すると人気は1/3です。

Youtubeなどでプログラミング講座の動画を上げたりする場合はC言語ではなくPythonやJavaScriptにしたほうがよさそうです。

C言語の普及度

C言語の普及度はかなりのものです。
C言語コンパイラはgccが有名ですがgccはほぼどのLinuxディストリビューションでも利用することができます。

Linuxの世界ではLinux自体がC言語で作られていることもあってC言語のツールは大変充実しています。
gccをはじめclangやメモリチェックツールのvalgrindなどさまざまツールを利用可能です。

  • gcc

  • clang

  • valgrind

世界の隅々にまで普及しているのがC言語の環境と言えます。
そもそもOSはC言語で作られることが多いのでそれは当然と言えます。

C言語は書いていて楽しい言語か?

C言語の将来性について考えるのにC言語が書いていて楽しいかどうかは重要です。
結論を言うと初心者にはつまらない言語ですが玄人には楽しい言語と言えます。

  • 初心者にはつまらない

  • 玄人には楽しい

C言語は言語仕様がコンパクトなため開発者の手中に収めて使うことができる数少ない言語です。
そのためC言語について熟知すればC言語でできることとできないことが明確にわかり開発が容易になります。

C言語は工夫しがいのある言語でアイデア次第で色々な工夫ができます。
そのため熟練者にとってC言語を使って色々な実装を実現するのは楽しいことと言えます。

C言語を使いこなすのは玄人でないと無理

しかしC言語は原始的なメモリ管理を行っています。
ガベージコレクションもなく手動でメモリを確保して解放しなければいけません。

そのため動的メモリアロケートなどは玄人でないと扱いが難しいと言えます。
また低レベルのメモリ操作が可能なためプログラムをクラッシュさせることも容易です。
そのためバグのデバッグが難しくC言語のデバッグは経験が必要とされます。

  • C言語のデバッグは経験が必要とされる

C言語は初心者にはあまりやさしくありません。
初心者はC言語にフルボッコにされながらC言語を覚えていく必要があります。

初心者にはとっつきづらい言語

そういう意味ではC言語は初心者にはとっつきづらい言語と言えるでしょう。
C言語を覚えて実現できることは多いですがそこまで行くのは長い修練が必要とされます。

C言語の研鑽には長い時間が必要です。
それこそメモリが滲むような努力を続けながら1つずつ身につけていかないといけません。

  • 積み重ねたクンフーをC言語とともに

しかし身につけた先にはいろいろな可能性のある世界が広がっています。

この先初心者がC言語を学ぶことはあるか?

これからの時代でプログラミング初心者がC言語を学ぶことはあるのでしょうか?
筆者としては初心者にはC言語をすすめたいところですが、いくらか抵抗が残るのも事実です。

これからの初心者にはPythonやJavaScriptを勧めるべきでしょう。
それがグッドな導きであると言えます。

C言語に苦しみその苦しみの先にある世界を見てもらいたいがために初心者にC言語を勧めるのは気後れしそうです。
これはC言語を学んできた人ならわかる感覚だと思います。

C言語で実装されているソフトウェア

C言語で実装されているソフトウェアは何があるでしょうか?
これは有名どころではLinux, Ruby, Python, Nginxsなどがあります。

C言語はOSやプログラミング言語などを開発するのに適した言語です。
速くて低レイヤーな処理が可能。

他にもいろいろな有名なソフトがC言語で書かれています。
こういったソフトウェアの人気やシェアがある内はC言語が廃れるということはないでしょう。

つまりRubyやPythonの人気はC言語も支えていると言えます。

Linuxの存在

中でも際立つのがLinuxの存在です。
Linuxは史上最も多くのハードウェアプラットフォーム向けにリリースされたOSです。
世界中のいたるところでLinuxは使われています。
サーバー、スマホ、電子機器、組み込みなど。

LinuxはOSSとしても傑出した成功例の1つです。
このLinuxを支えているのはC言語にほかなりません。

すばらしいC言語! すごいぞLinux!
と、両手を振り上げて万歳したくなる開発者も多いことでしょう。

(^ _ ^)

万歳三唱

(・ v ・)

うーん日本人

C言語がこの世から無くなることは向こう50年はないはず

筆者の予想では向こう50年はC言語がこの世から無くなることはないでしょう。
C言語はもはや世界のインフラを支える言語です。

これからもC言語で新たなソフトウェアが作られそしてそれに人気が付くということもあり得る話です。
なによりOSを作りたい場合はいまだにC言語はベストな選択と言えるからです。

日本も国産のOSを作りたい(TRONが昔ありましたが)ところですが、その場合もC言語による開発になることでしょう。
それほどC言語には実績と信頼があります。

C言語を代替する言語の存在

C言語を代替しようとする言語はいままで沢山生まれてきました。
最近話題になっているその系統の言語がRustです。

こういった言語がC言語の牙城を脅かす可能性は捨てきれません。
C言語に替わるような言語が開発されて人気が出ればC言語のシェアは奪われていきます。
そうするとC言語の将来性にも影が差していくでしょう。

しかし幸いなことにまだそういった言語は決定的なものは現れていません。

RustはC言語の代わりとなり得るか?

RustはC言語の代わりとなり得るでしょうか?
Rustはいまのところそれに最も近づいている言語と言えます。

先進企業の開発者はこぞってRustを採用しRustでコードを書き始めています。
またLinuxの開発にも一部Rustが使われるようになりました。

  • Rustの躍進が続いている

ただLinuxの開発者Linusいわく「Rustはメモリ確保で失敗してパニックを起こすのはアレ」ということで、まだC言語の代替とはなり得ない感じです。

C言語を嫌う人々

C言語を嫌う人々が多いのも事実です。
C言語は低レイヤーポインタ動的メモリアロケートなど一部の開発者に嫌われる要素が多くあります。
高レベルの抽象化を好む開発者にとってC言語は原始的すぎるというのです。

たしかにC言語は原始的ですがそれゆえにハードウェアに近いところでプログラムを書くことができます。
そういう意味ではC言語は唯一無二の言語と言うこともできます。

C言語を愛する人々

しかしそれにもましてC言語を愛するユーザーが多いのも事実です。
C言語は世界中の開発者から幅広い支持を得ている言語です。
LinuxのLinusもC言語を気に入っています。

C言語を母国語とする人々にとってC言語はグレートマザーです。
偉大なる母と言える存在です。

そしてこれからもその事実は変わらないでしょう。

C言語の将来性は?

C言語の将来性はシェアが爆発的に増えることはないですが0に近くなることもないでしょう。
それほどC言語は世界に広く根付いています。

PythonやJavaScriptほどの人気はないですがそれでも一定の支持を得ている言語です。
そのためこれからC言語を学びたい人にもおすすめできる言語と言えます。

おわりに

今回はC言語の将来性について考えてみました。
C言語の将来性はまだまだ大丈夫そうです。
いろいろなソフトウェアがC言語を支えてくれています。

こういったソフトウェアを開発してC言語を活用していきたいところです。

(^ _ ^)

C言語でHello, World!

(・ v ・)

原始的な哲学者



この記事のアンケートを送信する