(Translated by https://www.hiragana.jp/)
プログラム (コンピュータ) - Wikipedia

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

コンピュータじょう特定とくていのタスクを実行じっこうするための一連いちれん命令めいれいいたもの
コンピュータプログラムから転送てんそう

コンピュータプログラム英語えいご: computer program)は、コンピュータたいする命令めいれい処理しょり)を記述きじゅつしたものである[1]。programの原義げんぎは、まえもって(pr-く(gram)であり、いわゆるプログラミング言語げんご世代せだいおうじて意味合いみあいはわっている。プログラム内蔵ないぞう方式ほうしきのコンピュータのCPUには、CPUで実行じっこうするプログラムの命令めいれい必要ひつようである[2]

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

概要がいよう

編集へんしゅう

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

1940年代ねんだいからられる計算けいさんのいくつかは、おこないたい計算けいさんデータ処理しょり[ちゅう 1]種類しゅるいおうじた手順てじゅんについて、かく構成こうせい要素ようそあいだ電気でんきてき配線はいせん直接ちょくせつ接続せつぞくすることでプログラムされていた。これをワイヤードロジック布線ふせん論理ろんり)によるプログラミングという。この方法ほうほうでは、パッチパネル部分ぶぶんをモジュールしてまるごと交換こうかんするなどといったような手法しゅほうもないでもないが、ことなった計算けいさんをさせたい場合ばあいごとに、配線はいせん変更へんこうするという手間てま必要ひつようである。とくに、ENIACが(運用うんよう開始かいしには[ちゅう 2])この方式ほうしきだったということは歴史れきしじょうよく言及げんきゅうされる。

ワイヤードロジックは、制御せいぎょ論理ろんりが、電気でんきてき配線はいせんによって直接ちょくせつ進行しんこうするというてん速度そくどてんではすぐれているため、論理ろんり変更へんこうする必要ひつようがないASICや、プロセッサ自身じしん内部ないぶでは速度そくどてんなどでは有利ゆうり手法しゅほうであり、現代げんだいマイクロプロセッサとくにいわゆるRISCでは多用たようされている[ちゅう 3]

1949ねん稼働かどうしたEDSACによってはじめて「実用じつようてきに」[ちゅう 4]実現じつげんされたプログラム内蔵ないぞう方式ほうしき(※: 「ノイマンがた」の記事きじ参照さんしょうのこと)では、プログラムはしゅ記憶きおく装置そうち記憶きおくされる(「内蔵ないぞう」される)。プログラム内蔵ないぞう方式ほうしきのコンピュータでは、プロセッサとくCPU)の動作どうさは、しゅ記憶きおく装置そうちからまれるプログラムによって制御せいぎょされる。

プログラムをつくることをプログラミングい、プログラミングをするひとプログラマという。プログラミングには一般いっぱんに、プログラミング言語げんごばれている形式けいしき言語げんごである人工じんこう言語げんごがもっぱら使つかわれる。プログラミング言語げんご対応たいおうできないような特殊とくしゅ機能きのうなどを使つか場合ばあいなどにはアセンブリ言語げんごにより機械きかい使つかったり、直接ちょくせつ、プロセッサを制御せいぎょする機械きかいバイナリコードを作成さくせいすることもある。プログラミング言語げんごかれたプログラム(コード)をソースコードぶ。

なお、かつては「さんりゃく: )」という和製わせい漢語かんごもちいられていた(に、データは「さんりょう」、テストデータは「試料しりょう」、プログラミングを「さく」は、テストプログラムを「ためし」とひとし)が、今日きょうではほぼすたれている。また、「次第しだいき」「次第しだいて」というひらいた表現ひょうげん[ちゅう 5]つくられた。

プログラミング言語げんご変換へんかんする、あるいは解釈かいしゃく実行じっこうする、といった処理しょりをするプログラムを、プログラミング言語げんご処理しょりけいという。処理しょりけい類型るいけいとしてコンパイラインタプリタなどがある。コンパイラとインタプリタの関連かんれんは、二村にむら射影しゃえいにより定式ていしきされている。

プログラムは、実現じつげんする機能きのうによって、コンピュータ自体じたい動作どうさ制御せいぎょするオペレーティングシステムなどのシステムプログラムと、おもて計算けいさんソフトなど使用しようしゃ目的もくてきとする作業さぎょうそのものをおこなアプリケーションプログラム大別たいべつされる。

プログラムのうち、単体たんたい動作どうさせずほかのプログラムからされて特定とくてい機能きのう提供ていきょうするものをソフトウェアライブラリという。もしあるプログラムにおおくのプログラムでも共通きょうつう使つかえる一般いっぱんてき処理しょりがあれば、それらをライブラリとすることでプログラムの共通きょうつうはかることが出来できる。

脚注きゃくちゅう

編集へんしゅう

注釈ちゅうしゃく

編集へんしゅう
  1. ^ コンピューティング
  2. ^ ENIACは運用うんよう開始かいし改修かいしゅうくわえられているため、詳細しょうさい歴史れきし検討けんとうする場合ばあいはそのことに注意ちゅういる。
  3. ^ また、前述ぜんじゅつのような初期しょきのコンピュータにおいて、パッチパネルの配線はいせんによるプログラミングで一種いっしゅのインタプリタのようなものを実装じっそうし、あたかもプログラム制御せいぎょのように使つかえるようなものをつくった、という逸話いつわ日本にっぽんにある[3]
  4. ^ いくつかのコンセプトの実証じっしょう目的もくてきとしていた機械きかいのため実用じつようてきではなかったが、Manchester Small-Scale Experimental Machine という先行せんこうれいがある。
  5. ^ 「お次第しだいき」ともいう。国語こくご学者がくしゃ水谷みずたに静夫しずおによる。

出典しゅってん

編集へんしゅう
  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まい付近ふきん