春は新しい勉強を始める季節、最近人気のC言語はいかが?

春は勉強を始めるのによい季節だ。新しいプログラミング言語の学習にも向いている。それは就職や転職のためだったり、学校での勉強のためだったり、理由はさまざまだが、よいタイミングなのは間違いない。

これからプログラミング言語を学ぶなら、どのプログラミング言語を選ぶべきか――これはいつでも話題になるトピックだ。結局のところ、その人が何を求めるかによって変わる、としかいえないのだけれど、最大公約数的にある程度の絞り込みは行うことができる。

一番わかりやすいのは、人気の高いプログラミング言語を選ぶことだ。人気が高いのだから需要が高いのだろう、という考えがこの選択のベースとなる。TIOBE Softwareが定期的に観測し公開しているプログラミング言語人気によれば、2021年4月のプログラミング言語人気トップ10は次のようになっている。

順位 プログラミング言語
1 C
2 Java
3 Python
4 C++
5 C#
6 Visual Basic
7 JavaScript
8 Assembly language
9 PHP
10 SQL
  • TIOBE Programming Community Index (2021年4月4日) - 資料: TIOBE Software提供

    TIOBE Programming Community Index (2021年4月4日) 資料: TIOBE Software

増加傾向を続けているのはPythonだ。使われる分野も多岐にわたる。学習が比較的容易で必要とされる産業が多いということは、それだけ就職口があるということも意味している。この言語に人気が出るのは当然だ。

長期にわたって減少傾向にあるものの、Javaにも根強いシェアがある。Javaは既に企業システムの基幹部分で使われているなど、ビジネスにおいて欠かすことができない言語だ。新規開発に加えて、Javaで開発したシステムのメンテナンスや改修といったニーズもある。これも就職先が多いプログラミング言語だ。

そして現在、TIOBE Programming Community Indexの1位はC言語だ。もともとC言語は人気1位だったが、Javaの登場以降は2位に甘んじていた。しかし、この数年で人気を盛り返した。TIOBE Softwareはその背景に、組み込み機器やアプライアンスといったデバイスにおけるプログラミングでC言語の需要が増えていることがあるだろうと指摘している。いくら高級言語の人気が高まっても、いざという時の高速化でC言語を使うことは多い。この言語は学んでおいて損がないのだ。

C言語は人気の高い言語だが、挫折する人が多いプログラミング言語でもある。しかし、昨今ではわかりやすい解説もサンプルも多い。以前よりも学習には取り組みやすい状況だ。本連載では、最もシェアの多いOSであるWindows 10でC言語の開発が取り組めるようにする方法を取り上げる。簡単コードの開発も紹介する。

CコンパイラはLLVM/Clangを選択

C言語を学ぶには、C言語のコンパイラが必要だ。ここではCコンパイラにLLVM/Clangを使う方法を取り上げる。これは今後仕事で使うにあたって、LLVM/Clangを学んでおくといろいろとつぶしが効きそうだからだ。

最近需要の高い組み込み機器などでのC言語利用ということになると、開発を行うOSはWindowsかもしれないしLinuxかもしれない。または、Windowsで開発してLinuxからデバイスに接続して操作するというケースもあるだろう。はたまた、Macで開発することもあるかもしれない。こうなってくると、どの環境でも使える同じコンパイラがあると万能なのだ。

こうした特徴を持つコンパイラはいくつかあるが、開発がアクティブで、かつ、現在も人気が伸びているLLVM/Clangを選択するのは悪くない選択だ。詳細は省くが、LLVMがコンパイラインフラストラクチャで、Clangがコンパイラフロントエンドになっている。C言語だけではなく、C++、Objective-C/C++、OpenCL、CUDA、RenderScriptなどに対応している。まずはざっくりとLLVM/ClangまたはClangというCコンパイラ、と覚えてもらえればと思う。

LLVM/Clangをインストール

LLVM/ClangのWindows版はLLVMプロジェクトのGitHub.comページからダウンロードできる。

  • Releases · llvm/llvm-project

    Releases ・ llvm/llvm-project

本稿執筆時点では、LLVM 12.0.0が最新版だ。上記のスクリーンショットの「Assets」をクリックすると次のようにダウンロード対象が表示されるので、「LLVM-12.0.0-win64.exe」をダウンロードする。

  • 「LLVM-バージョン番号-win64.exe」をダウンロード

    「LLVM-バージョン番号-win64.exe」をダウンロード

ダウンロードが完了したら、ダウンロードしたファイルを実行してインストールを行えばよい。

  • LLVM/Clangのインストーラ

    LLVM/Clangのインストーラ

インストールの途中で環境変数PATHにLLVMを加えるかどうかを聞かれる場面があるので、ここで「Add LLVM to the system PATH for all users」か「Add LLVM to the system PATH for current user」のどちらかを選択する。自分だけ使えればよいなら後者を選択しよう。

  • PATHにLLVMのパスを加えるかどうか

    PATHにLLVMのパスを加えるかどうか

  • C:\Program Files\LLVM

    C:\Program Files\LLVM

LLVM/Clangは「C:\Program Files\LLVM」へインストールされる。

Windows Terminalをインストール

「Visual Studio Code (VSCode)」は、マルチプラットフォームで使えて、かつ、Windows 10でも高い人気がある開発環境だ。LinuxやMacでも使えるLLVM/ClangとVSCodeは相性がよい。本連載でもVSCodeを使う。しかし、統合開発環境の前に最も基本となるターミナルアプリケーションは用意しておこう。これは何をするにもまずは用意だ。

インストールは簡単だ。Microsoft Storeから「Windows Terminal」を検索してインストールすればよい。

  • Microsoft StoreでWindows Terminalをインストール

    Microsoft StoreでWindows Terminalをインストール

  • Windows Terminal

    Windows Terminal

Windows Terminalは開発を行うなら最初のツールとして用意しておきたい。開発以外にもさまざまな用途に使えるアプリケーションなので、エンジニアには必須ツールのひとつなのだ。

Cコンパイラを実行してみよう

LLVM/ClangとWindows Terminalをインストールしたら、Windows Terminalを起動して、ここで「clang-cl -help」と実行してみよう。次のような結果が得られればインストール成功だ。

  • LLVM/Clangの実行サンプル

    LLVM/Clangの実行サンプル

開発環境のセットアップの作業はこれで3分の1くらいだ。LLVM/Clangはインストールしたが、これはCコンパイラだけをインストールしており、Windows 10側の準備が足りないのだ。

Cコンパイラをインストールしても、ヘッダファイルなど、OS側にそれに受ける開発ツールが用意されていないと開発には使うことができない。これはWindowsに限った話ではなく、LinuxでもMacでも同じだ。次回はこの部分のセットアップを紹介する。