コンピュータプログラムとは? わかりやすく解説

Weblio 辞書 > コンピュータ > IT用語辞典 > コンピュータプログラムの意味・解説 

プログラム

別名:コンピュータプログラム
【英】program, computer program

プログラムとは、計算機動作をさせるため用意された、処理手順指示する一連の命令集まりのことである。

プログラムは、その計算機動作具体的に指示する命令語の集まりであるといえる特定の命令語を具体的に並べたものは、どんな処理をするものであれ、プログラムに該当する他方特別な命令語に依存しない特定の問題を解く方式は、アルゴリズム呼ばれる

現在利用されている計算機は、ほぼ全てノイマン型コンピュータ呼ばれるアーキテクチャ基づいて設計されている。ノイマン型コンピュータは、アラン・チューリング発見した計算原理そのものに従って動作し番地付与され記憶装置記録され命令語を読み込み解釈実行する、という動作繰り返す実行内容には、記憶装置からの読み込み書き込み含まれる記憶装置置かれる命令語の種類とその並びによって様々な動作をさせることができる。このような論理機械は、論理的に可能な計算全て実行できることが証明されており、万能チューリングマシンとも呼ばれる

プログラムを記述するために用意され命令体系は、プログラミング言語呼ばれるプログラミング言語人工言語であり、多種多様な種類開発されている。分類としては、例えば、特定のCPU命令そのものである機械語機械語レベル命令シンボリック表したアセンブリ言語、より人間寄りの(自然言語に近い)表現記述される高級言語などに大別することができる。あるいは、実行形態によって分類すれば、ソースコードそのつど解釈して実行するインタープリタ型言語と、コンパイルによってあらかじめネイティブマシン語変換しておくコンパイラ型言語などに分けることができる。

C言語のようなコンパイラ型言語は、モジュール単位コンパイルされ、オブジェクトファイル呼ばれる出力を得る。オブジェクトファイルは、リンクされることにより一つ実行ファイルとなる。実際場面で用いられるプログラムは、複数のプログラムやモジュール連携して動作を行う場合がある。そのようなもので、ローカルマシン内で時分割動作するものを多重プログラミング、平行プログラムなどと呼ぶ。また、ネットワーク越し複数プログラムが連携するような場合分散プログラムと呼ぶことがある

なお、プログラムを作成する作業プログラミング呼ばれプログラミングを行う者はプログラマ呼ばれている。プログラミングプログラマといった表現には、多分にプログラムの設計に始まる一連の作業全般的にこなすというニュアンスがある。このようなニュアンスプログラマに対して、他の誰かが案出したプログラムを単にデータとして入力する役割の者は、特にコーダー呼ばれる場合もある。


プログラム (コンピュータ)

(コンピュータプログラム から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/03/07 06:31 UTC 版)

JavaScriptで書かれたコンピュータプログラムのソースコード

コンピュータプログラム英語: computer program)は、コンピュータに対する命令(処理)を記述したものである[1]。 programの原義は、前もって(pr-)書く(gram)であり、いわゆるプログラミング言語の世代に応じて意味合いは変わっている。 プログラム内蔵方式のコンピュータのCPUには、CPUで実行するプログラムの命令が必要である[2]

概要

計算機械ないしは情報処理機械について、ハードウェアとプログラム(ソフトウェア)というような分担が明確になったのは、実際的には1950年頃から後、いわゆるノイマン型(ないしはプログラム内蔵方式)のコンピュータの実現によってである。理論的にはチューリングマシン等が関係するが、そのような理論的な側からの観点はここでは省略する。また歴史的に見ると、19世紀バベッジラブレス解析機関用にコンピュータプログラムをつくったと言えるが、それも略す。直感的なたとえでは、ハードウェアをそろばんとすると、それを「どう操作するか」という、はっきりした具体的な手順がプログラムに相当する。

1940年代から見られる計算機のいくつかは、行いたい計算(データ処理[注 1]の種類に応じた手順について、各構成要素間の電気的配線を直接に接続することでプログラムされていた。これをワイヤードロジック(布線論理)によるプログラミングという。この方法では、パッチパネル部分をモジュール化してまるごと交換するなどといったような手法もないでもないが、異なった計算をさせたい場合ごとに、配線を変更するという手間が必要である。特に、ENIACが(運用開始時には[注 2])この方式だったということは歴史上よく言及される。

ワイヤードロジックは、制御の論理が、電気的な配線によって直接進行するという点で速度の点では優れているため、論理を変更する必要がないASICや、プロセッサ自身の内部では速度の点などでは有利な手法であり、現代のマイクロプロセッサ、特にいわゆるRISCでは多用されている[注 3]

1949年に稼働したEDSACによって初めて「実用的に」[注 4]実現されたプログラム内蔵方式(※: 「ノイマン型」の記事も参照のこと)では、プログラムは主記憶装置に記憶される(「内蔵」される)。プログラム内蔵方式のコンピュータでは、プロセッサ(特にCPU)の動作は、主記憶装置から読み込まれるプログラムによって制御される。

プログラムを作ることをプログラミングと言い、プログラミングをする人をプログラマという。プログラミングには一般に、プログラミング言語と呼ばれている形式言語である人工言語がもっぱら使われる。プログラミング言語が対応できないような特殊機能などを使う場合などにはアセンブリ言語により機械語を使ったり、直接、プロセッサを制御する機械語バイナリコードを作成することもある。プログラミング言語で書かれたプログラム(コード)をソースコードと呼ぶ。ソースコードのことを、「プログラムの設計図」と「わかりやすく」[注 5]呼ぶ一部マスコミなどがあるが、例えば3Dプリンタ等が設計図をそのまま解釈して物を造ってくれることは無いように、設計図とは本質的に違うものである。

なお、かつては「算譜(略: 譜)」という和製漢語が用いられていた(他に、データは「算料」、テストデータは「試料」、プログラミングを「作譜」は、テストプログラムを「試譜」と呼ぶ等)が、今日ではほぼ廃れている。また、「次第書き」「次第立て」という開いた表現[注 6]も作られた。

プログラミング言語を変換する、あるいは解釈実行する、といった処理をするプログラムを、プログラミング言語処理系という。処理系の類型としてコンパイラインタプリタなどがある。コンパイラとインタプリタの関連は、二村射影により定式化されている。

プログラムは、実現する機能によって、コンピュータ自体の動作を制御するオペレーティングシステムなどのシステムプログラムと、表計算ソフトなど使用者が目的とする作業そのものを行うアプリケーションプログラムに大別される。

プログラムのうち、単体で動作せず他のプログラムから呼び出されて特定機能を提供するものをソフトウェアライブラリという。もしあるプログラムに他の多くのプログラムでも共通に使える一般的処理があれば、それらをライブラリとすることでプログラムの共通化を図ることが出来る。

脚注

注釈

  1. ^ コンピューティング
  2. ^ ENIACは運用開始後も改修が加えられているため、詳細な歴史を検討する場合はそのことに注意が要る。
  3. ^ また、前述のような初期のコンピュータにおいて、パッチパネルの配線によるプログラミングで一種のインタプリタのようなものを実装し、あたかもプログラム制御のように使えるようなものを作った、という逸話が日本にある[3]
  4. ^ いくつかのコンセプトの実証を目的としていた機械のため実用的ではなかったが、Manchester Small-Scale Experimental Machine という先行例がある。
  5. ^ しかし間違っている。
  6. ^ 「お次第書き」ともいう・国語学者水谷静夫による。現在では還暦過ぎのプログラマでないと知らないと思われる。

出典

  1. ^ Stair, Ralph M., et al. (2003). Principles of Information Systems, Sixth Edition. Thomson Learning, Inc.. pp. 132. ISBN 0-619-06489-7 
  2. ^ Silberschatz, Abraham (1994). Operating System Concepts, Fourth Edition. Addison-Wesley. pp. 58. ISBN 0-201-50480-4 
  3. ^ 「日本のソフトウェアの草創期」(『情報処理』第24巻第3号(1983年3月)) http://id.nii.ac.jp/1001/00006268/ (PDFの2枚目〜3枚目付近)

コンピュータプログラム

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/12/02 21:07 UTC 版)

コンピューティング」の記事における「コンピュータプログラム」の解説

詳細は「プログラム (コンピュータ)」を参照 コンピュータプログラムは、コンピュータ何をどうすればよいか指示を出す。現在のパーソナルコンピュータ等の一般的な構成では、その記憶装置のうちの補助記憶装置未使用時は格納されており、主記憶装置ロードされ実行される主記憶装置実行対象プログラムを置く方式プログラム内蔵方式と言う)。

※この「コンピュータプログラム」の解説は、「コンピューティング」の解説の一部です。
「コンピュータプログラム」を含む「コンピューティング」の記事については、「コンピューティング」の概要を参照ください。


コンピュータプログラム

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/12/11 21:25 UTC 版)

マンマシンインタフェース」の記事における「コンピュータプログラム」の解説

コンピュータプログラムが、①人間の指示を受け、②処理し、③結果人間知らせる。の構成を取る場合このうち①と③の両方マンマシンインタフェースとしている。マンマシンインタフェースは、コンピュータプログラム全体のうち人間関わる部分の処理機能の名称または実現するサブシステム名称として用いられ一般的にはマンマシンインタフェース」とは呼ばれず、「マンマシンのバグ」、「マンマシン部」など略され表現がされることが多い。[要出典]

※この「コンピュータプログラム」の解説は、「マンマシンインタフェース」の解説の一部です。
「コンピュータプログラム」を含む「マンマシンインタフェース」の記事については、「マンマシンインタフェース」の概要を参照ください。


コンピュータプログラム

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/06/28 01:24 UTC 版)

ネッツグラーフィ」の記事における「コンピュータプログラム」の解説

ネッツグラーフィ作図は、通常FBS、Optitakt、RailSys、TAKT、Viriatoといった、通常運行計画の策定分析のためのコンピュータプログラムによって作成され時刻表データから自動的に転送することで行われる。さらに、製図ソフトや表計算ソフトによるデータ編集者手動適用することで完成させる

※この「コンピュータプログラム」の解説は、「ネッツグラーフィ」の解説の一部です。
「コンピュータプログラム」を含む「ネッツグラーフィ」の記事については、「ネッツグラーフィ」の概要を参照ください。


コンピュータプログラム

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/07/15 19:32 UTC 版)

プロトタイプ」の記事における「コンピュータプログラム」の解説

C言語には関数プロトタイプ宣言というものがあるが、これは関数・サブルーチン引数返り値の値を宣言するのである外部とのやりとりを示す「宣言」に対し中身を示すものを「定義」と言うプロトタイプベースオブジェクト指向プログラミングでは、プロトタイプは「クローンとしての新しオブジェクト」を作ることができるオブジェクト、のことである。逆にそのクローン側から見ると、自分クローンとして作り出されるとなったオブジェクトプロトタイプである。 試作プログラム画面デモプログラムなども「プロトタイプ」と呼ぶ。日本においてはデモ版」ないし「ベータ版」、まれに「アルファ版」(ベータ版の更に手前)などと呼ばれることも多い。 Adobe_Directorなどのツールを使うと、通常の開発環境より迅速にメニュー画面などのプロトタイプデモンストレーション作成出来る。また、実際開発環境との互換性が全く無いため確実にプロトタイプ破棄できる利点がある。

※この「コンピュータプログラム」の解説は、「プロトタイプ」の解説の一部です。
「コンピュータプログラム」を含む「プロトタイプ」の記事については、「プロトタイプ」の概要を参照ください。

ウィキペディア小見出し辞書の「コンピュータプログラム」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ

「コンピュータプログラム」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「コンピュータプログラム」の関連用語

コンピュータプログラムのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



コンピュータプログラムのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2024 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリプログラムの記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのプログラム (コンピュータ) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのコンピューティング (改訂履歴)、マンマシンインタフェース (改訂履歴)、ネッツグラーフィ (改訂履歴)、プロトタイプ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2024 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2024 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2024 GRAS Group, Inc.RSS