ユーニックス総合研究所

  • home
  • archives
  • c-dekirukoto

C言語でできることを解説!C言語歴16年の開発者が語る

  • 作成日: 2023-02-07
  • 更新日: 2023-12-24
  • カテゴリ: C言語

C言語でできることとは?

C言語でできることは↓の5つが代表的です。

  • 組み込み開発
  • コマンド開発
  • ゲーム開発
  • OS開発
  • 言語開発

C言語は習得するまでに長い時間を要するシステムプログラミング言語です。
しかし慣れてきて習得すると出来ることが色々増えてきます。
また仕事も依然としてあるため就職のために勉強されるのも良い言語と言えます。

この記事ではC言語でできることを主に解説していきます。
この記事を読めばC言語でできること、できないことがわかります。

関連記事
C言語でcharをintに変換する方法
C言語でenumをtypedefして使う【列挙型】
C言語でforeachマクロを実装する方法
C言語でnull判定する方法【NULL, 比較】
C言語でできることを解説!C言語歴16年の開発者が語る
C言語でオブジェクト指向する【単一継承の方法】
C言語でグローバルに関数を使う方法
C言語でシャローコピーとディープコピーを実装する

1. 組み込み開発

C言語は組み込み機器の開発にも使われます。
冷蔵庫や電子レンジ、自動車やパチンコなどの組み込み機器で使われています。

組み込み業界では依然としてC言語がその高いシェアを占めています。
C言語を使えるようになればこういった組み込み業界で働けるようになります。

2. コマンド開発

C言語はコマンドの開発にも使われます。
C言語で開発されたコマンドとして代表的なものにはGit, GNUツールチェインなどがあります。

これらのコマンドは今やプログラミングの開発では必須のものばかりです。
Gitはリーナス・トーバルズというフィンランド出身のハッカーが開発しました。
GNUツールチェインはアメリカ合衆国のハッカー、リチャード・M・ストールマンが開発しました。

彼らの開発したコマンドはWebをはじめ組み込みやあらゆる分野で使われています。

3. ゲーム開発

C言語はゲーム開発にも使われることがあります。
特に初代PSやセガサターンなどではC言語はよく使われていたそうです。

C++の登場によってゲーム開発はC言語からC++で行うのが主流になっていきました。
しかしそれまではC言語でゲーム開発するのが一般的だったと私は聞いています。

C言語は速度が出る言語のためゲーム開発に向いている言語です。

4. OS開発

C言語はもともとUNIXと言うOSを開発するためにデニス・リッチーの手によって開発された言語でした。
そのためC言語でOSを開発するのは王道と言えば王道です。

C言語で開発されたOSとして有名なものはUNIX, それからLinuxなどがあげられます。
Linuxは今ではスマホのアンドロイドのベースとなっているなど高いシェアを誇っています。
ちなみにこのLinuxもリーナスが開発しました。

C言語で開発されたOSとしてはWindowsも有名です。
WindowsはC++なども取り入れているのでマルチ言語で開発されたOSと言えます。

5. 言語開発

C言語はプログラミング言語の開発にも適しています。
C言語で開発された言語として有名なものはRuby, Python, C++, Goなどが挙げられます。
C++とGoはのちにセルフホスティングと言ってその言語自身で書き換えられましたがRubyやPythonなどではいまだにC言語で開発されています。

C言語はシンプルで開発がしやすい言語のため、複雑な言語開発にも向いている言語と言えます。

C言語でやるには難しいことは?

逆にC言語でやるのに難しいことは何があるでしょうか?
これも私の独断で選んでみました。
大きく分けてしたの2つが難しいです。

  • Web開発
  • スマホアプリ開発

Web開発

実はC言語もWebの開発に使われていた時期があります。
しかしこれは時代が進んで一般的ではなくなりました。

たとえば昔はCGIと言ってバイナリをWebで実行するという形式がありました。
そのCGIの開発にC言語が使われていることがあったのです。

代表的なものとしては2ちゃんねるのCGIなどが挙げられます。
2ちゃんねるも昔のCGIはC言語で書かれていました。

しかし脆弱性などが問題となったため現在では使われていません。
C言語は脆弱性を生みやすい言語のためWebには向いていないのです。

スマホアプリ開発

スマホアプリもC言語で開発するのは難しいです。
アンドロイドなどはOSはLinuxを改造したものが使われています。
しかしアンドロイドアプリなどは別の言語で開発するのが一般的です。

おわりに

今回はC言語でできること・できないことを解説しました。
C言語は扱えるようになれば色々なアプリの開発に使える言語です。
なにか参考になれば幸いです。

🦝 < C言語はハッカーご用達言語

🐭 < ハッカーになろう