こんちゃっす、ダイブツです!
あなたがこの記事に辿り着いたということは、
C言語はどんな時に使われるんだろう?
どんな製品が作れるんだろう?
と疑問に感じているんですね?
分かりました。その疑問に僕がお答えします!
これからあなたの疑問を解決する為に、「C言語で作れる製品例5選」と「C言語の3つの使い道」の2点について説明していきますね。
目次
C言語で作れる製品例5選
まず、C言語で作れるものを分かりやすく一言で言うと、「家電製品」です。
もちろん家電製品以外にも使われているんですが、C言語は家電製品のようにPCから独立した状態でプログラムを動かすもの(組み込み製品)によく使われています。
そして組み込み製品を開発する人の事を「組み込みエンジニア」って言うんですね(僕のことです!)
C言語でゲームを作っているという話を聞いたりもするんですが、そこは僕が経験したことがある分野と違うのであまり分からないです、すいません・・・。
ただ、ゲーム機本体については多分C言語使ってますね、あれはモロ組み込み製品と言えるものですもん。
ゲーム機本体作る仕事は楽しそうだなぁ~、いつか関わってみたい仕事です。
それじゃあ、他にC言語でどんな製品が作られているか見ていきましょう。
例1:信号機
まず最初に例として挙げられるのが、あなたもよく知っている信号機です。
上で話したように、信号機はPCに繋がっているわけじゃないですよね?
(一部の信号機は通信しているものがあるようですが、ここではPCと繋がっていない前提で考えてください)
なので、信号機も組み込み製品となるわけです。
どんな制御をしているかというと、時間が経過することによって、青⇒黄⇒赤と表示を変更する想像通りの動きですね。
これをプログラムで制御しています。
例2:リモコン
次の例に挙げるものは家電製品でよく見かけるリモコンです。
テレビのリモコンとか、エアコンのリモコンとか色々ありますが、どれもC言語で作られていると思ってもらって問題ないです。
リモコンだと、ボタンが押された時に、ボタンに合った内容の信号を送るっていう処理を作ることになりますね。
こんな身近なものがC言語で作られているんです。
例3:エアコン
さっきのリモコン繋がりみたいになりますが、エアコンもC言語で作られてます。
上で例を出していたリモコンとの通信処理をして~、リモコンから送られてきた内容によって、風を送る向きをモータで変えて~・・・
っていうことをエアコンでやってるんですね。
ちなみに、モータを使っている製品(何かしら動きがある製品、エアコンだったら風向きを変える羽があるとか)はほぼ間違いなくC言語で作られていると思って大丈夫ですよ。
例4:プリンター
これも家電製品を例にしました、身近にあるものの方が分かりやすいですよね。
このプリンターもさっき言った通り、モータを使っています。
印刷する時に、シュゴー!シュゴー!って音がしますよね、あれはモータが動いている音です。
なので、プリンターもC言語で作られているっていうことが分かるんです。
例5:ATM
今度は家庭からちょっと離れますが、お金をおろす時に使うATMもC言語で作られています。
このATMもモータが使われていますね。
どこでモータが使われているか分かりますか?
お金をおろす時、必要な金額だけが取り出し口に出されるようになっていますよね?
実は、その時にモータを使って、必要な枚数分だけ1万円札とか千円札が送り出されるようになっているんです。
上記5つの製品例のように、意識してみると身近な色んな所でC言語を使って作られている製品があるってことが分かりますね!
これがプログラミングに慣れてくると、「あ、この製品はきっとこんなプログラムで書かれているんだろうな~」と勝手に想像できちゃって楽し~んですわw
実際、エスカレーターに乗っている時に、「あ、今センサーが反応したからモータを動かして~・・・」ってことを考えてましたw職業病ですw
C言語の3つの使い道
さぁ、C言語でどんな製品が作られるか分かった所で、「じゃあどんな時にC言語が使われるの?」っていう所を見ていきましょうか。
使い道1:ハードウェアの制御をする時
間違いなくC言語を使う1番の理由がこれですね。
ハードウェアという言い方が少し分かりにくいかもしれませんが、電気を流すかどうか切り替えをする時に使われます。
上で例に出していた信号機で考えてみると、信号機の青を光らせる為には、青の電球に電気を流さなければいけません。
青の電球に電気を流すプログラムは
BLUE_LED = 1;
とたった1行書くだけでできてしまうんです。
これがC言語を使う理由ですね。
ていうか、これができるのがC言語しか僕は知らないです。
C++でもJavaでも見たことないですね。
それぐらいC言語がハードウェアの制御に適しているってことです。
使い道2:値段を安くしたい時
2番目に挙げられる理由がこれです。
C言語でよく使われる組み込み製品っていうのは、マイコン基板っていうものに作成したプログラムを書きこみます。
ただ、プログラムを書きこむにも、プログラムを書き込める容量が決まっているんですよね。
で、さらにプログラムを書き込める容量が減れば、その分、値段も安くなる。USBメモリと一緒です。
↓これがマイコン基板。これにプログラムを書きこみます。
そして実は、C言語は他のプログラミング言語より、実行ファイルのサイズを小さくすることができるんです。
その代わり、他の言語では自動でやってくれるような処理も自分でプログラムを書かなきゃいけなかったりしますw
本当に必要な処理だけをプログラムに書くのがC言語というイメージです。
なので、結果こうなります。
C言語を使うことで実行ファイルサイズが小さくなる
↓
プログラムを書きこむ容量が小さいもので済む
↓
値段が安く抑えられる
C言語を使うことで、こんなメリットもあるんです。
使い道3:プログラムの実行速度を速くしたい時
3つ目の理由としては、プログラムの実行速度を速くしたい時に使う、というものがあります。
プログラムの実行速度は、基本的にプログラムの処理が少なければ少ない程速くなります。
つまり、処理が少ないプログラムが出来れば、プログラムの実行速度が速くなるんです。
ここでC言語の登場です。
理由2でも書いたように、C言語は本当に必要な処理だけを書くプログラミング言語です。
本当に必要な処理だけを実行するということは、それだけプログラムの処理が少ないってことですよね。
だから、
C言語を使う
↓
プログラムの実行速度が速くなる
ということになるんです。
プログラムの実行速度はプログラマーの永遠の敵!とまで考えておいて間違いないです。
実行時間を短くする仕事とかめちゃ大変ですよ~!
まとめ
すっっごく簡単にまとめるとですね、
- 身近な家電製品で、ほぼC言語が使われてんで!
- PCから独立して電気流す製品にC言語使いな!
の2点でした。
どんな製品ができるのか知っている状態でプログラムを作ると、実行した時により感動が増しますよ!
是非、完成形を想像しながらプログラミングしてみてください。
この記事を読んで、C言語に興味を持ってもらえたら成仏しますッ!(ダイブツだけに)
気軽にコメントどうぞ!