C言語を学ぶべきかどうか


ahrefsでC言語に関する検索上位のページを調べてみると、C言語をおすすめしない理由などが挙がっている。

初学者が、ということかもしれないが、そんな記事が google の上位に来てアクセスが集まるのはとても悲しいので、C言語について少し書いてみようと思う。

典型的には、言語的なものについて考えるならば、

  1. 組み込み系
    • アセンブラ
    • C言語
  2. WEBサイト
    • HTML/CSS/Javascript
    • PHP or Java or Ruby
    • DB(SQL)
  3. スマートフォンアプリ
    • HTML/CSS/Javascript
    • ネイティブアプリの場合は、Swift(ios)/Java or Kotlin(android)
  4. データサイエンス
    • Python
  5. デスクトップアプリ
    • .net

といった感じだろうか。

実際には、これに加えて、設計、テストが必要になる。これに加えて、ネットワークやサーバOSに関する知識があれば、運用までカバーできるのではないかと思う。

自分でシステムを考えるというのでなければ、狙っている業界に合ったものが必要だろうと思う。おそらく、ロボット・車載・ドローンといった機械の制御、OS、WEBサーバ(apacheなど)、DBサーバなど、速度が求められるものはC言語かそれに近いものだろうし、WEBアプリ、スマートフォンアプリなどのように機能に柔軟性が求められるものはC言語には苦手かもしれない。

自分の興味のある分野に応じて言語を選択すべきだと思うが、C言語はビジネスにならないから選ぶべきではないという意見には、C言語の案件はまだ相当数あるし、単価もそう悪くないよと言いたい。

初学者が学ぶべきかどうか・・・車やロボットを制御したいと思うのであれば最初から学ぶべきだと思う。単にソフトウェアで何ができるのかを学びたいだけならば、python か node.js(javascript) をおすすめする。

C言語は難しいだろうか・・・・自分も多少つまづいた点はあったが、それは、別の記事にでも書いてみたいと思う。