コンピューティング

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
階差機関多項式関数の解を計算する機械
とある大学の計算機室 (2003)

コンピューティング: computing)の古来の意味は「数えること」と「計算すること」であり、算術ないしは数学計算を指した。現在は転じてコンピュータによる数値計算や、より広くデータ処理(data processing)や情報処理 (information processing) といったコンピュータを使う活動全般も指すことがある。

日本語ではどちらも「計算」と呼んでいるが、対応する英語にはcalculationcomputationがある。条件分岐などを伴う複雑な計算がcalculationではなくcomputationである。

定義[編集]

Computing Curricula 2005[1] では「コンピューティング」を次のように定義している。

一般にコンピューティングは、コンピュータを必要としたり、コンピュータの恩恵を受けたり、コンピュータを作ったりする何らかの目的を持った活動全般と定義することができる。従ってコンピューティングには、様々な目的のためにハードウェアやソフトウェアのシステム設計し構築すること、各種情報を処理し構造化し管理すること、コンピュータを使って科学的な勉強をすること、コンピュータシステムが知的に振る舞うようにすること、コミュニケーションメディアやエンターテインメントメディアを作ったり使ったりすること、何らかの目的に沿って情報を検索し収集すること、などなどを含む。このリストは事実上無限であり、可能性は広大である。

「コンピューティング」はもっと狭く定義されることもあり、ACMは1989年の報告書「学問分野としてのコンピューティング」(Computing as a Discipline)[2]において、以下のように定義した。

コンピューティングの学問分野は、情報の記述や変換のアルゴリズム的な処理に関する体系的研究である。それには、理論、分析、設計、効率、実装、応用が含まれる。コンピューティングの根底にある基本的姿勢は「(効率的に)自動化することができるものは何か?」である。

Computing Curricula 2005[1] では、「コンピューティング」の意味が文脈に左右されることも認識している。

コンピューティングはまた、文脈によってはもっと具体的な意味を持つこともある。例えば、情報システムの専門家がいうコンピューティングは、ソフトウェア技術者のいうコンピューティングとは多少違っている。文脈を問わず、コンピューティングをうまく行うことは複雑で困難なこともある。社会にはコンピューティングをうまく行える人々が必要なので、コンピューティングを職業としてだけでなく、学問領域としても考えなければならない。

コンピュータはデータを読み取り、格納し、操作し、表示する機械である。最も一般的な例は様々なパーソナルコンピュータである。他にも、携帯電話MP3プレーヤーゲーム機などもコンピュータの一種である。

科学[編集]

計算科学[編集]

computational science

コンピュータ科学[編集]

computer science

コンピュータ科学は、コンピュータおよびコンピューティングにおける科学的かつ数学的なアプローチである[3][4]技術工学の側面もある。

コンピュータの実装と応用についての実践的技術を扱う分野と純粋に理論的な分野とに分けられる。後者を理論計算機科学と細分類することもある。たとえば、コンピュータグラフィックスなどは実世界での応用的側面が強い前者であり、非常に抽象的な計算問題の基本的性質を研究する計算複雑性理論は後者である。他にコンピューティングの実施・実装に注力する分野もある。例えばプログラミング言語理論英語版は計算の記述方法を研究するが、コンピュータプログラミングそのものの研究ではプログラミング言語を使う際の様々な側面を研究し、マンマシンインタフェース人間にとってコンピュータを使いやすくする方法を探究する。

コンピューティングの歴史[編集]

コンピューティングの歴史は計算機の歴史より長く、現代的なコンピュータが登場する以前は紙とペンや、チョークと石版などを使っていた。

コンピューティングはの表現方法と密接に関連している。しかし「数」の抽象概念が生じるずっと以前から、文明の目的にかなう数学的概念が存在していた。例えば、数を数える際の基本である全単射、測定で使用する基準との比較、直角を作るための辺の長さが3-4-5の直角三角形などである。

数の概念は結局、物を数えることを他人に教えていくうちに具体的で馴染み深いものになっていった。どんな言語にも少なくとも「1」と「2」に対応する単語が存在し、クロウタドリなどの動物にも物の数を区別できるものがいる[5]

歴史上最も古くからある既知の計算道具はアバカスであり、紀元前24世紀ごろにバビロンで発明されたとみられている。砂の上に線をひき、そこに石を置いて計算していた。そろばんはその後改良されていき、今も計算道具として使われている。これが既知の最古の計算器で、ギリシアで新たな計算手法が生まれる2000年以上前から存在していた。

コンピュータの構成[編集]

ハードウェア[編集]

コンピュータのハードウェアは、コンピュータプログラムと呼ばれる一連の記述に従ってデータを操作する機械である。自動的に計算する機能の無い計算機も含む「計算機械」という言葉もある。プログラムにはコンピュータがそのまま実行できる形式(機械語バイナリ)がある。人間がそれを直接記述することもあるが、現在ではもっぱら、より人間が読んで理解し易く記述し易い、プログラミング言語によるソースコードがもっぱら使われる。ある問題を解決するアルゴリズムをプログラムとして記述することで、コンピュータでその問題を解決することができる。バイナリは一般にプロセッサオペレーティングシステム(OS)の種類に対応して異なるが、プログラミング言語は一般にそういった差異に影響されないよう設計されている。プログラミング言語で書かれたプログラムは、プログラミング言語処理系と呼ばれるコンパイラインタプリタというプログラムにより、解釈実行されたり変換されたりする。

プログラムを複数動作させるような場合の、個々の動作実体(インスタンス)をプロセスと呼ぶ。

コンピュータプログラム[編集]

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

ソフトウェア[編集]

「ソフトウェア」は、もともと、コンピュータプログラムという概念が出来た[6]後、ハードウェアの対義語として便利なため多用されるようになった曖昧な語である。だいたい、コンピュータプログラム群と関連するデータの集まりである、何らかの目的のためにコンピュータのストレージ内に格納されている1つ以上のコンピュータプログラムとデータを指す、データ処理システムの操作に関する一連の「プログラム、手続き、アルゴリズム」とその「ドキュメンテーション」である、ハードウェアに直接命令を提供することで、あるいは別のソフトウェアの入力として作用することで機能を実行する、などといったように、あいまいに言われている。ソフトウェアは実際に触れることはできないもののこと[7]などといった定義もある。さらには派生して様々な形態のデータ、すなわちフイルム、テープ、レコードなどといったメディアの中身の著作物のことも(たとえば「ビデオデッキ」をハードウェアとするのに対して)ソフトウェアと言うようになった[8]こともあったが、近年ではそれらには「コンテンツ」という、より適切な表現が使われることが多い。

アプリケーションソフトウェア[編集]

アプリケーションソフトウェアはユーザーの特定の仕事を支援するよう設計されたソフトウェアである。例えば、企業アプリケーション会計ソフトウェアオフィススイートグラフィックソフトウェアメディアプレーヤーなどがある。多くのアプリケーションは主に文書を扱う。近年ではコンピュータにシステムソフトウェアだけでなく、アプリケーションソフトウェアもプレイントールされていることも多い。単独でも販売される。

アプリケーションソフトウェアに対して、コンピュータ自身の資源管理などといった、特定の応用目的以外の仕事を行うソフトウェアをシステムソフトウェアと言う。他の分野にたとえるとわかりやすい。例えば、ショッピングモールは買い物客が探している商品を直接提供することはないが、小売店にスペースとサービスを提供し、小売店が買い物客に商品を提供する。鉄橋は鉄道の線路を支持し、川の上を列車が通行できるようにする。それによって旅客を輸送できる。

アプリケーションソフトウェアは、特定のコンピューティングプラットフォームやシステムソフトウェアで特定の目的を果たすのに使われる。Microsoft Office などのアプリケーションは、いくつかの異なるプラットフォームで動作するバージョンがある。特定のプラットフォームでのみ動作するアプリケーションは、Windows地理情報アプリケーション、Android教育アプリケーション、Linux用ゲームなどと呼ばれる。

アプリケーションソフトウェアをアプリケーションと略すこともあるが、正しくは「アプリケーションソフトウェアで出来ること」が「アプリケーション」である(たとえば「ワープロソフト」と「ワードプロセッシング」の関係を考えればよい)。特定のプラットフォームでしか使えない人気アプリケーションが登場すると、そのプラットフォーム自体の人気が高まる。そのようなアプリケーションをキラーアプリと呼ぶ。

日本語では「アプリケーションソフトウェア」を「応用ソフト」と訳した成り行きからシステムソフトウェアにあたるものが「基本ソフト」などともされるが、一部マスメディアはオペレーティングシステムの言い換え語として「オペレーティングシステム (基本ソフト)」などとしている。

関連項目[編集]

(必要以上に、またきちんと選別せず羅列されています)

科学と理論[編集]

ハードウェア[編集]

命令レベルの分類[編集]

メモリが日常化して、CPUを命令レベルで性能向上させる方向に注目が集まった。命令フェッチと実行のサイクルを高速化する様々な手法が開発された。

ソフトウェア[編集]


ビジネス・コンピューティング[編集]

人間的要素[編集]

コンピュータセキュリティ[編集]

データ[編集]

数値データ[編集]

文字データ[編集]

その他のデータ関連項目[編集]

メカトロニクス[編集]

専門団体[編集]

標準化団体[編集]

脚注[編集]

  1. ^ a b The Joint Task Force for Computing Curricula 2005. Computing Curricula 2005: The Overview Report (pdf)
  2. ^ Computing As a Discipline (pdf)
  3. ^ Denning, P. J.; Comer, D. E.; Gries, D.; Mulder, M. C.; Tucker, A.; Turner, A. J.; Young, P. R. (Jan 1989). “Computing as a discipline”. Communications of the ACM 32: 9–23. doi:10.1145/63238.63239.  volume = 64 編集 "Computer science and engineering is the systematic study of algorithmic processes-their theory, analysis, design, efficiency, implementation, and application-that describe and transform information."
  4. ^ Wegner, P. (October 13–15, 1976). “Research paradigms in computer science”. Proceedings of the 2nd international Conference on Software Engineering. San Francisco, California, United States: IEEE Computer Society Press, Los Alamitos, CA. "Computer science is the study of information structures" 
  5. ^ コンラート・ローレンツ 『ソロモンの指環 動物行動学入門』
  6. ^ 1951年には、成書The Preparation of Programs for an Electronic Digital Computerが出版され世界中で広く読まれている。
  7. ^ Wordreference.com: WordNet 2.0”. Princeton University, Princeton, NJ. 2007年8月19日閲覧。
  8. ^ software..(n.d.).”. Dictionary.com Unabridged (v 1.1). 2007年4月13日閲覧。

外部リンク[編集]