第3話 9割の人が知らないプログラミングの分類

プログラミングと一言に言っても、実は色んな分類があります。よく知られているものを大まかに分けてみます。


WEBプログラミング

アプリケーションプログラミング

OSプログラミング

組込プログラミング

ゲームプログラミング

事務系プログラミング


そのうち分かると思いますが、どれも異常に範囲が広いです。

高レイヤーなプログラミングはスクリプトと変わらなくなっていきますが、仮想マシンの説明が必要なので保留します。


大まかな説明をします。


WEBプログラミングは、大まかにフロントエンドとバックエンドに別れます。

フロントエンドとは、ホームページやWEBアプリケーションなどの見える部分を担当することです。

バックエンドは、サーバーの中身やネットワークやデータベースを担当することです。機器導入や機器の保守などもバックエンドが担当しますね。

フロントエンドは、バックエンドが作った環境を使う人。と考えればいいです。見える部分をやるので、プログラミングすることもあればデザインもかじることもあります。

バックエンドはサーバー回りの色々なソフトを使ったり、運用をやることが多いです。プログラミングするよりはスクリプトを書くことのほうがはるかに多いでしょうね。


アプリケーションプログラミングは、他の分類の内容をほぼすべて含むので一概には言えません。ソフトウェアを作る、くらいの大まかな分類ですね。

一般的に、OSの機能やライブラリやフレームワークを利用したプログラミングが当てはまります。ライブラリやフレームワークの製作もここかな。

独自プログラミング言語の製作などはアプリケーションプログラミングと組込プログラミングを跨ぎます。要はコンパイラで機械語に訳すかどうかで組込プログラミングになるかが決まる気がします。


OSプログラミングは、組込プログラミングの派生分野と言っても過言ではないでしょう。

OSで有名なのはWindowsやMac、Androidなどですね。また、OSの基本機能を改造したりデバイスドライバを書くのもここに含まれますね。デバイスドライバは幅が広いので独立させてデバイスドライバプログラミングとしてもいいですが、需要が少ないので独断と偏見によりOSと一緒にまとめます。

低レイヤーな処理ばかりを書くので、CPUやメモリなど、パソコンに関係している部品の使い方に詳しい必要があります。

OSのカーネルやデバイスドライバを真面目に書いている人は、低レイヤーなプログラミングの世界では強い人です。

ただ、一般人からすると超地味です。OSのカーネルと言えばリーナス・トーバルズ氏が超有名人ですが、一般的には有名になることはありません。低レイヤーにも興味のあるガチ勢が一度は憧れる分野ですね。

ちなみにWindowsみたいなOSを一人で一から作ることは時間的な意味で不可能です。


組込プログラミングは、これも幅が広いのですが、OSの入っていないコンピューターなどに対してプログラミングしたりします。マイコンとかが有名ですね。

以前からパワーや多機能を求めて高性能化し、デカいOSが入っていたりもしますが……何でもありなのが組込プログラミングです。

やることは、部品を操作することが多いです。例えばスマホのWi-Fiは無線通信用のICによって動きますが、そういうICの電源をオンオフしたり、設定を変えたりするのを担当します。

ソフトウェアプログラミングでも機器を操作したりしますが、組込プログラミングではより直接的に扱うことが多いです。

また、リアルタイムなソフトを作ることが多いため、速度を気にされます。


ゲームプログラミングは、幅が広すぎてめちゃくちゃですが、究極的にはゲームとして成立していたら何でもいいですね。

組込プログラミングと同じで、速度を気にされます。反応が遅いゲームは売れませんからね。

ゲーム内容によりますが、物理演算や座標計算など、数学や物理学と親和性が高いです。

ちなみにゲームプログラミングではゲーム内容を考えるのは範囲外です。ゲームの内容を考えるのは一般的にはゲームプランナーですね。


事務系プログラミングは、かなり特殊ですが、仕事としてはかなり多いです。

事務で使うシステムを作るのがメインです。税金の計算など、お金に関することが多いです。あとは帳票ですね。帳票とは、レシートや書類など、仕事上で使う、記入項目のある文書全般のことを言います。

また、日中に溜まったデータを夜間に処理することが多いのも特徴です。(夜中にバッチ処理を流すので、夜間バッチと言います)

プログラミングとしてはとても簡単です。ただ、事務の内容を知っている必要があるため、事務に詳しくなる必要があります。簿記や制度の知識とセットですね。


他にも医療系などなど沢山あります。


プログラミングと言っても幅が広いんですね。

どんなプログラミングをしたいかで、必要な知識が変わります。

すべてをやるのは無理です。人生100回でも足りないでしょうね。


9割の人はこのあたりの話を知らないので、プログラミングを独学しようとしても迷子になってしまいがちです。

高校までの教師では理解していない人ばかりなので、情報の授業をやっている先生にプログラミングの相談をしても無駄足になることが多いかもしれませんね。


信じられるのは荒野を歩いた自分の足だけです。

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る