#2020/09/17 縦割りが生じるくらい、『行政機関』はたくさん分かれていたりします。

プログラム

親カテゴリ
関連用語
 情報・通信
 └プログラム
  ├ファームウェア
  ├オペレーティングシステム(OS)
  ├ミドルウェア
  ├アプリケーションソフトウェア
  └Webサービス
スポンサーリンク
スポンサーリンク

簡単にいうと…

プログラムとは

 コンピュータが実行する処理

という工夫のことです

英語名称「program」は、pro-(先だって)+gram(書かれたもの)という意味です。

詳しくいうと…

プログラムに満ちた風景

コンピュータといえば、パソコンやスマホを思い浮かべますね。

とはいえ、CPU(中央演算処理ユニット)を備えた電子機器なら(そしてほとんどの電子機器はCPUを備えているのですが)、みな等しくコンピュータです。

家電も、ロボットも、テレビもデジカメも、この意味でみんなコンピュータと呼ぶことができます。

 

コンピュータには、これまた等しく、何らかのプログラムが実装されています。

プログラムとは、ひとことで言えば

 「このボタンを押せば、こんな効果が現れる」

ということです。

「パソコンの電源ボタンを押す」と自動で「OSが起動し」たり、「スマホのブラウザアイコンを押す」と「Webブラウザ画面が立ち上がった」り、「電子レンジのボタンを押す」と「ターンテーブルが回って真空管から電磁波が発された」りするのも、すべてプログラムによる処理のおかげです。

プログラムの実態は、人間によって記述された一連の処理命令、という電子情報です。たとえば、以下の単純なプログラムコードについて、

  a = 1;
  if(a > 0)
  {a = a + 1};

これは「変数aという箱に1という数字を入れるよ。次に、もしこの変数aの値が0より大きいなら、変数aの既存値(この場合は1)に1を加えて2にしましょう。もし変数aの値が0だったら何もしません」という処理を表します。

あるプログラムには、このようなプログラムコードが何万行、何億万行も詰まっています。

ちなみにこうしたプログラムの記述ルールは、プログラミング言語の種類によって異なります。

いわゆるコンピュータちっくなパソコンやスマホに対して、家電やロボットなど独自の形状をしている機器のプログラムは、組込みシステムと呼ばれます。

 

さて、プログラムには以下の大まかな種類があります。

 ・ファームウェア

 ・オペレーティングシステム(OS)

 ・ミドルウェア

 ・アプリケーションソフトウェア

 ・Webサービス

1つひとつ見てゆきましょう。

 

ファームウェア

ファームウェアは、ハードウェア(機器)制御用に事前インストールされている、最もハードウェア寄りなプログラムです。

BIOSや組み込みシステムなどの下位種類があります。

 

オペレーティングシステム(OS)

オペレーティングシステムは、先述のファームウェア上で、コンピュータの運用管理を司るタイプのプログラムです。

WindowsやiOSなどの製品があります。

 

 

ミドルウェア

ミドルウェアは、先述のOS上で、汎用的な機能を提供するタイプのプログラムです。

サーバサービスやデバイスドライバ、仮想マシンなどの下位種類があります。

 

 

アプリケーションソフトウェア

アプリケーションソフトウェアは、先述のOS・ミドルウェア上で、特定の機能を提供するタイプのプログラムです。

文書ソフトや計算ソフト、Webブラウザなどたくさんの下位種類があります。

 

 

 

Webサービス

Webサービスは、先述のOS・ミドルウェア・アプリケーションソフトウェア上で、Webアプリサーバがクライアント端末に対して提供するタイプのプログラムです。

検索エンジンやSNS、電子商取引サイトなど、たくさんの下位種類があります。

 

 

 

以上のようにプログラムは、ほとんどすべての電子機器の内側で、どのように振舞いどんな機能を提供するかを決めています。それによって日々わたしたちの電子機器ライフを支えているのでした。

 

・プログラムは、コンピュータが実行する処理だよ
・大まかに分類すると、ファームウェア、OS、ミドルウェア、アプリ、Webサービスがあるよ
 

さらに知りたいなら…

Windowsはなぜ動くのか(2002年)
(←画像クリックでAmazonサイトへ)

WindowsをはじめとするOSの概説からはじまり、マルチタスク、マルチウィンドウ、プログラム間連係などの基本的&マニアックな仕組みを、イラストつきでわかりやすく、けれどしっかりと解説してくれる1冊です。

(わたしも高校時代、このシリーズにはお世話になりました。)

コンピュータはなぜ動くのか(2003年)
(←画像クリックでAmazonサイトへ)

CPU・メモリ・HDDなどの基本的なハードウェアからはじまり、プログラムの実行処理、アルゴリズム、ネットワーク、データベースなどの基本的仕組みを、イラストつきでわかりやすく、けれどしっかりと解説してくれる1冊です。
 

つまり…

プログラムとは

 コンピュータが実行する処理

という工夫のことなわけです。

 

プログラムを組むには、IDE(統合開発環境)と呼ばれる開発ソフトを用意すれば基本的にはよいぞぃ。
あとは、覚えたプログラミング言語のルールにしたがって、とにかく根気強く記述してゆけば、あなたもプログラミングができ、〇〇〇.exeなどのアプリケーションソフトウェアを作ることができるぞぃ。

歴史のツボっぽくいうと…

  • 1950年代
    メインフレームのOS機能
    初期コンピュータであるメインフレームが開発されるが、そこではプログラムやデータの格納されたパンチカードや磁気テープを直接マシンが読み取り実行していたため、タスクの優先づけやデバッグなどOSの基本機能は当時、機械的制御(スイッチやランプ)や人力によって行なわれていた。

  • 1959年
    DBの概念提唱
    W.C.MaGeeが論文「Generalization: Key to successful electronic data processing」を発表、データ重複の回避とシステム拡張の効率化のために源泉ファイル(source file)という概念を提唱する

  • 1961年
    仮想記憶技術の搭載
    アメリカ・バロース社が、仮想記憶(スワッピング)技術を搭載したメインフレーム「バロース B5000」を開発する

  • 1963年
    GUIの登場
    アメリカ空軍の防空管制システム「SAGE」において、GUIが初めて実用化される

  • 1964年
    商用OSの登場
    アメリカ・IBM社が商用OS「OS/360」および「DOS/360」を発表する
    その後「OS/360」はNASAのアポロ計画でも使用される

  • 1964年
    DBMSの登場
    アメリカ・General Electric社のC.W.Bachmanらが、最初のDBMS「IDS(Integrated Data Store)」を開発する

  • 1965年
    初期の組み込みシステム
    アメリカ・マサチューセッツ工科大学のチャールズ・スターク・ドラッパーらが、アポロ誘導コンピュータを開発する

  • 1968年
    ハイパーテキストの登場
    アメリカの思想家テッド・ネルソンと発明家ダグラス・エンゲルハートらが、それぞれハイパーテキストを実装したシステムを開発する

  • 1970年
    リレーショナルDBの概念提唱
    イングランド生まれの計算機科学者E・F・Coddが、論文「大規模共有データバンクのデータ関係モデル」を発表、リレーショナルデータベースの一般理論を提唱する
    以降、DBといえばこのリレーショナル型を指すようになる

  • 1975年
    BIOSの用語登場
    アメリカのコンピュータ工学者ゲイリー・キルドールが、自身の開発したOS(CP/M)の起動時ハードウェアアクセス用プログラムコードに「BIOS」と名付ける
    以降、この名称がハードウェアアクセスのプログラム名として定着する

  • 1979年
    リレーショナルDBの登場
    アメリカ・Relational Software社(現 Oracle社)が、最初のリレーショナルDBMS「Oracle V2」を販売する

  • 1984年
    GUI標準搭載の商用パソコン
    アメリカ・Apple社が、GUI標準搭載のパソコン「Macintosh」(Mac OS)を販売する

  • 1989年
    HTMLの登場
    イギリスの計算機科学者ティム・バーナーズ=リーが、HTMLやHTTPなどを提案しコード化する

  • 1991年
    最初のWebサーバ
    イギリスの計算機科学者ティム・バーナーズ=リーが、最初のWebサーバ&ブラウザ「WorldWideWeb」を公開する

  • 1994年
    32bitカーネルのOS
    アメリカ・Microsoft社が、32bitに本格対応し堅牢なマルチタスク機能備えたOS「Windows NT」を販売する
    2002年には、64bit対応のWindows Server 2003を公開する

  • 1999年
    Java用アプリサーバの規格
    Javaで実装されたアプリケーションサーバの標準規格&APIを定めたJava EE(Java Platform, Enterprise Edition)が公開される

  • 2000年
    EFI仕様のリリース
    アメリカ・インテル社が、高性能・大容量マシンに適用するため、従来のBIOSのプログラム仕様を変更し、EFI仕様としてリリースする

  • 2011年
    UEFI仕様の普及
    EFIから名称を変えたUEFI仕様が、2TB以上の容量を持つハードディスクに対応するため、本格的に採用されはじめる

 

 

<参考文献>(2019/10/08 visited)

プログラム (コンピュータ) - Wikipedia
スポンサーリンク
親カテゴリ
スポンサーリンク
つもりTech
タイトルとURLをコピーしました