---
# System prepended metadata

title: プログラミング言語が何なのか

---

# プログラミング言語が何なのか

プログラミングには様々な言語が存在します。
作るプログラムの目的によってどの言語を使うかは変わります。

## 目的に合った言語を使おう

例えばサイトを作成するなら、

- JavaScript

というプログラミング言語によって実現することができます。
もう１つ例を挙げると、よく耳にする人工知能は

- Python

というプログラミング言語を用いて作成されたりします。

最初は色々な種類のプログラミング言語に手を出す必要はなく、自分の目的に合ったものを選んでみると良いでしょう。
このサイトでは**Elixir**という言語を使ってプログラミングを学んでいきます。

## サイトやアプリを支える言語、Elixir①
繰り返しますが、目的がサイトの作成ならJavaScript、人工知能を作ることならPythonという言語がよく選ばれます。

では、このサイトで扱うElixirという言語は何を目的としたときによく採用されるのでしょうか。

結論だけ先に言ってしまうと、「**サーバー**を制御するとき」によく採用されます。
その説明をするにはまず、サーバーがなんなのかを知らなければなりません。

## サーバーは不眠不休のタユピンコ人

[第2章](https://bealchemist.gigalixirapp.com/2)で出てきたタユピンコ人がここでは再登場します。

![](https://i.imgur.com/HuQWWOO.png)

現実世界でのサーバーは、スマホやPCとこのように通信を行なっています。
しかしこの図ではあまりわかりやすくはないので、タユピンコ人の図に置き換えて考えましょう。

スマホもPCもサーバーもすべてコンピューターが使われているので、すべてタユピンコ人で置き換えることができます。

![](https://i.imgur.com/y9JkSqV.png)

さてお立ち会いです。
あなたは八百屋さんの通販サイトを作成しました。
そしてそのサイトを全世界に公開し、莫大な利益を生み出そうと考えています。

しかし、公開するためにはWebサイトをみんなに見せるための案内役タユピンコ人が必要です。

案内役タユピンコ人は、他のタユピンコ人(スマホやPCのタユピンコ人)に「サイトを見せて！」と言われたら、用意してあったサイトを見せるようにしなければなりません。
1秒たりとも休むことは許されず、地獄の釜の蓋が空いていても案内役タユピンコ人ははたらき続けました。

その案内役タユピンコ人のおかげで、あなたの八尾屋さんは莫大な利益を得ることができました。
案内役タユピンコ人をしっかり使いこなすことで、いかなる時でもお客さんからの注文に応えられたからです。

この案内役タユピンコ人の名前が「**サーバー**」くんです。

## サイトやアプリを支える言語、Elixir②
サイトをお客さんに見せたり、アプリにプロフィール画像のデータを送信したり、サーバーは大忙しです。
しかしその分、サーバーはとても重要な役割を果たしているとも言えます。

そして、サーバーに指示を出すための言語がElixirなのです。

サーバーはとてもよく使われるので、サーバーを扱うためのプログラミング言語は他にもたくさんあります。
例えば

- C++
- Java
- PHP

などが挙げられます。

それぞれに長所があり、

- C++で指示をしたタユピンコ人は高速で仕事ができる
- Javaのプログラムは、大勢で作成するのに適していることが多い
- PHPは初心者にとってわかりやすい

などが挙げられます。
ではElixirはどうなのかというと、

- Elixirで支持したタユピンコ人は同時に色々なことをするのが得意になる

です！

まだわかりにくいと思うので、少し詳しく説明します。

## サイトやアプリを支える言語、Elixir③
サーバーのタユピンコ人は、「サイトを見せて」という注文を同時に何個も受けたりします。
そのとき、ゆっくり1件ずつ注文を処理していたらお客さんをたくさん待たせてしまいます。

しかし、Elixirで指示を出したタユピンコ人は同時に注文を受けることが得意となります。
なので、タユピンコ人自体も苦しくなく、お客さんも待たせずに年中無休ではたらくことができるようになります。

これがElixirという言語の長所です。