プログラミングとは|プログラミングでできることを解説

情報化が急速に進む今日、プログラミングという言葉やプログラマという職業名が日常的にも使われるようになりました。プログラミングという言葉の意味を知らない人や、プログラミングできない人でも、「プログラム」を利用しない日はないと言っていいでしょう。では、プログラミングとは何なのでしょうか。

プログラミングとはいったい何?

コンピュータとプログラミング

コンピュータは、単純に言えば「2進数の計算機」です。「0」と「1」がずらりと並んだ文字列に従って、計算機の記憶領域(アドレス)に入れたり出したりしながら「計算」するのです。こうした計算の手順書が「プログラム」です。
しかしコンピュータは「0」と「1」しか理解できませんから、普通の人間には理解できない暗号みたいなものです。この「0」と「1」だけの文字列(あるいは若干わかりやすくした暗号)を「機械語」と呼びます。
ですからもっと人間にも書きやすく、わかりやすく自然言語(英語)で記述して、「機械語」に変換(コンパイル)する言語ができました。それが今日の「プログラミング言語」です。

「プログラミングする」とは?

それぞれのプログラミング言語の「文法」によって異なりますが、大枠は同じです。まず「定数・変数」ですが、これはコンピュータにどのような値を与えるのかを定めるものです。例えば料理をする場合のレシピの1人前の材料やその数量です。定数は卵1つあたり80キロカロリーなど決まった値で、変数は材料の価格など値が変化するものです。次に「関数」ですが、「肉100グラムと玉ねぎ100グラムと少量の油をフライパンで炒める」というような作業内容です。その際に「玉ねぎに色がつくまで」という条件を「条件分岐」といいます。多くのプログラムはこれら「定数・変数」「関数」「条件分岐」で構成されています。

プログラミングとアルゴリズム

プログラミングは、順序立てて機能的・効率的に、コンピュータに命令を与えるものです。この「順序立てて機能的・効率的に」を実現するのがアルゴリズム(問題を解くための手順)です。
アルゴリズムは普段の仕事の定型化などでも使われる概念で、例えばフローチャートのようなものです。特にプログラミングにおいては、重要で欠かせないものです。
プログラミングの設計においては、まず、アルゴリズムをきちんと組み立てることからはじまります。アルゴリズムに欠陥があると、プログラミングは正常に動作しません。

プログラミングでできることとは?

Webサイト

インターネットが急速に普及・拡大すると、プログラミングは「通信」を舞台とするものに大きく変化しました。その核となるのが「Webサイト」です。これにより、大企業から中小企業、そして個人に至るまで、全世界に情報を発信できるようになりました。

Webサイトは、情報発信に加え、他のメディアとは異なり双方向での通信(インタラクション)が可能なことから、ECサイト、SNSなど、プログラミングの分野を拡大してきました。Webサイトのプログラマは、HTML5に準拠した文書構造のコーディングやプログラミング、スマートフォンでの閲覧性の向上(モバイルファースト)がGoogleのSEO対策としても必須です。

アプリ

アプリとはアプリケーション(「応用・適用」の意味)のことで、コンピュータを簡単に活用できるようにプログラミングされたものです。代表的なものとしては、ワードプロセッサや表計算などのオフィスアプリ、画像処理や動画編集などのアプリがあります。

アプリは「パッケージ」という形態でCD-ROMなどで配布、ユーザーのコンピュータにインストールされ使用されていましたが、今日ではクラウド上でアプリを利用する形態に移行しつつあります。

ゲーム

ゲームも当初は専用ゲーム機向け、あるいはパソコン向けに開発され販売・配布されていましたが、インターネットやスマートフォンの普及により、スマートフォン向けのゲームが主流になりつつあります。これからゲームプログラマになろうとする人は、従来のプログラミング言語だけではなく、スマートフォン向けの開発環境を習熟する必要があるでしょう。

業務を円滑にするプログラミング


大企業を主なターゲットとした在庫管理システム、営業支援システム、顧客情報管理システム、配送管理システムなどは、従来からPOSやERPという業務支援システムを中心に提供されてきました。これらもインターネットを舞台としたものに変化、クラウドに移行しつつあります。また、その多くが、スマートフォンやタブレットを端末として機動的に利用できるようになってきました。

家電製品でも活躍するプログラミング


コンピュータを搭載したエアコンや電子炊飯器、自動車へのナビや燃焼管理などへのコンピュータ搭載は、長い歴史を誇ります。そこへインターネットという情報網のインフラが付加され、IoT(インターネット・オブ・シングズ)という概念が登場しました。これは人だけでなくモノがインターネットにつながるもので、例えば冷蔵庫がインターネットでつながり外出先での買い物で何を買うべきか支援するような「スマート家電」がその中心です。

またいわゆる「ロボット」は、産業分野で高度に実用化されたものですが、今後介護ロボットなど「家電化」する可能性が大いにあります。

まとめ

2040年代には、人工知能が実用化される、と言われています。その時は、これまでのプログラミングの方法とは全く異なるプログラミング手法が必要になるでしょう。過去20年間にプログラミングの環境は大きく変化してきましたが、今後20年は、それ以上の変革の時期を迎えるでしょう。

関連記事

ページ上部へ戻る