C言語とは

こんにちは、キムチャです。

◆この記事は下記を知りたい人に役に立つと思います。

  • C言語とは
  • 必要になる仕事
  • 学習方法
  • 仕事内容

✔本記事の内容

C言語とは

主に

  • コンピュータのOS、主にカーネル(OSの中核)作成
  • PC上のアプリケーション作成
  • ゲーム作成
  • 機器を動かすためのマイコン

などで使われている古くから知名度の高い汎用性の高い言語です。

ホリエモンがWeb系のプログラマに”C言語って今も使われているんですかね?”と質問して、”わからない”と言ったやり取りを見たことがあります。

Web系では使用しないのでわからない人もいますが、現在進行形で使用されています。

縁の下の力持ち的な存在で使用され、あまり人目に触れないところでテクノロジを支えている必要不可欠な言語です。

コンパイラと呼ばれるC言語を機械語に変換する装置を使用して、マイコンのROMに書き込む必要があるコンパイラ言語です。

拡張されたオブジェクト指向型のC++もあります。

習得難易度は他の言語と比べ高いです。汎用性が高いJAVAなども難しいですね。

必要になる仕事

主に

  • OS作成
  • PCアプリケーション作成
  • ゲーム作成
  • マイコンを動かす組込み系エンジニア
    • ロボット、メカトロニクス
    • 産業機器
    • 通信機器
    • 家電、おもちゃ

といった意外と幅広い分野で使われています。

組込み系エンジニアであれば50代でも数多く見かけます。

逆に若い人が不足しています。

組込み系をフリーランスでやりたい人はあまりお勧めできません。

というのはフリーランスの大体の人がおそらく場所や時間に縛られない仕事を望んでいると思われます。

機器に触れる必要が出てくるため客先常駐が基本です。

ネットワークに繋がらない製品にも使われるので、出荷した製品のプログラムを簡単に書き換えることはできません。

欠陥が見つかった場合は問題点を調査し、プログラムを修正して現地で書き換えを行う必要があるので、事前にしっかりとした動作確認が必要となります。

アプリケーションソフトのようにネットワーク上でバージョンアップが簡単にできません。

学習方法

  1. 自分が作りたいものがあるか
  2. あればその作りたいものや似ているものを作っている会社に入社

が良いです。

独学だとこれを作りたいという想いを持っていないと学習が続きづらいです。

Web系の比較的簡単な言語と比べると難しいので、何となく始めてみる、プログラミングがしたい、となると挫折しやすいです。

特に実際のモノを動かして学習したい場合、独学になると自分で部材を購入して組み立て、教材やWebで調べながらになりますので手間が掛かります。

更に組込み系の教材はかなり少ないです。

なので質問できる先輩や、整った開発環境がある会社で学ぶのが良いです。

またデジタル機器がどうやって動いているのか知りたい人は、C言語を知っておくのも良いです。合わせて

  • 論理回路の学習
  • アセンブリ言語の学習

などが深い理解に繋がります。

以下におすすめの学習サイト、本、キッドなどを記載します。

基礎、アプリケーション

組込み系

参考:電子工作入門 Arduino(Arduino言語 = C言語といわれている)

論理回路、アセンブリ言語の学習

仕事内容

ここでは組込み系のC言語プログラマの仕事内容について記載します。

  • 基本は会社勤め
  • 企業や時期にもよるがある程度の残業あり
  • 上流工程のハードウェア設計者と密に連絡を取り合う
  • ハードと相談してマイコン選定
  • 回路図を見てマイコンで動かす回路を確認
  • マイコンのデータシートを確認
  • フローチャートなど資料を作成
  • コーディング。規模が大きくなると複数人でプログラム作成する
  • 実装、動作確認
  • 仕様書などの資料を作成する
  • 下請け会社だと直接お客とやり取りもある

一人だちできるのは2~3年を見ておいた方が良いでしょう。

何かの役に立てば幸いです。

以上

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です