プログラム言語(読み)プログラムげんご(英語表記)programming language

精選版 日本国語大辞典 「プログラム言語」の意味・読み・例文・類語

プログラム‐げんご【プログラム言語】

出典 精選版 日本国語大辞典精選版 日本国語大辞典について 情報

デジタル大辞泉 「プログラム言語」の意味・読み・例文・類語

プログラム‐げんご【プログラム言語】

プログラミング言語

出典 小学館デジタル大辞泉について 情報 | 凡例

日本大百科全書(ニッポニカ) 「プログラム言語」の意味・わかりやすい解説

プログラム言語
ぷろぐらむげんご
programming language

コンピュータプログラムを書き表す際の、形式および意味の取決めをいう。プログラミング言語ともいわれる。意味内容をもったことがらを定まった形式で表すというのは、定まったことばで表すということに等しい。そこでコンピュータ分野では、こうした取決めの一つ一つを言語languageとよぶ習慣がある。あわせて言語学での用語を借用して、形式の取決めを構文則(シンタックスsyntax)、意味の取決めを意味則(セマンティクスsemantics)、これらを総合して文法(グラマーgrammar)という。

[筧 捷彦]

機械語と高水準言語

コンピュータは与えられたプログラムに従って情報処理を遂行する。そのプログラムは命令の列であり、定められた形式のビット(デジタル情報量の基本単位)の組合せで表現されてメモリーにしまわれている。コンピュータごとに定められているこの表現形式を総称して機械語machine languageという。

 機械語では、個々の命令がどんなビット組合せになっているかを人が覚えて書き下していかなければならない。数値指示する場合でも、その数値を二進法表現に変換して、ビット組合せに書き下さなければならない。そこで、命令には名前をつけてその名前を書き、数値はごく普通に十進法で書けばいいようにしたいという要求に応じてつくられたプログラム言語を、アセンブリ言語assembly languageという。また、コンピュータに計算をさせるのに、四則演算をどの順に行い、必要ならば途中結果をしまっておいて再利用する、などの手順を人が考えて書き下さなくても、計算したい結果を数式の形で書けばいいようにしたい。こうした要求に応じてつくられたプログラム言語を一般に高水準言語high-level(あるいはhigh-order)languageあるいは、コンパイラ言語compiler languageという。

[筧 捷彦]

言語処理系

アセンブリ言語で書き表したプログラムは、機械語での命令列に変換して、初めてコンピュータがそのプログラムの指示に従った情報処理(これをそのプログラムの実行executionという)を行ってくれる。この変換を行うために用意したプログラムをアセンブラという。同様に高水準言語で書き表したプログラムも、そのプログラムが示す計算を行う機械語の命令列に変換して、初めてコンピュータ上で実行できる。この変換を行うために用意したプログラムをコンパイラ(翻訳系)という。

 一般に、特定のプログラム言語で書き表したプログラムをコンピュータ上で実行するために、用意してある一連のプログラムやシステムを言語処理系language processorという。アセンブラやコンパイラのように、ある言語で書いたプログラムを他の言語に書き換えるものを変換系translatorという。変換前のプログラムをソースプログラムsource programといい、変換後のプログラムをオブジェクトプログラムobject programという。オブジェクトプログラムに並ぶ命令をオブジェクトコードobject codeという。

 言語処理系のなかには、機械語に変換することなしに、そのプログラム言語で書いたプログラムそのもの、または適当な別形式に変換した後のプログラムを逐一解釈しながら代理実行する方式をとるものもある。これをインタープリターinterpreter(「通訳」の意)という。

[筧 捷彦]

言語の世代

プログラム言語の発達を追って、世代分けすることがある。これによれば機械語を第1世代言語first generation language、アセンブリ言語を第2世代言語second generation language、コンパイラ言語を第3世代言語third generation languageという。

 多くの実務用のプログラムでは、画面設計をどうしておくか、そこにどのような入力が行われ、それに応じてどのような計算をして結果表示を行うかがその設計の根幹を占める。それなら実際に画面上に部品を配置し、テストデータを入れて、望む計算結果が得られるように式を書き込む、といった操作を積み重ねることで、必要なプログラムが自動的に組みあがるシステムがあればよい。こうした要求にこたえる形で生まれてきた言語を、第4世代言語fourth generation languageという。表計算言語とか、ビジュアル言語ともよばれている。

 なお、第5世代言語fifth generation languageという語もあるが、これは日本の通商産業省(現経済産業省)が1980年代に行ったプロジェクトのスローガンとして使われたもので、論理プログラム言語をさしていた。

[筧 捷彦]

言語の種類

機械語、アセンブリ言語、コンパイラ言語などは、いずれもデータを組み合わせてなんらかの計算を施してその結果を記録する、という動作を繰り返す形でプログラムを組み立てる。もちろん途中結果に応じて繰り返し回数を変えたり、処理の内容を変えたりもする。このように処理の手順を克明に指示する方式のものを手続き型プログラム言語procedural programming languageという。

 多くのプログラム言語は手続き型プログラム言語である。早くに設計され、いまなお広く使われているものに、科学技術計算用の FORTRAN(フォートラン)、事務処理用の COBOL(コボル)がある。教育目的でつくられたBASIC(ベーシック)は、インタープリター方式で始まったこともあってパーソナルコンピュータ(パソコン)時代にも使われた。システム作成用には、C(シー)言語や C++(シープラスプラス)などが使われている。

 処理の手順を指示する手続き型という骨組みそのものが、プログラムをつくる際のむずかしさを増長させているのではないかという疑義から、まったく異なる骨組みをもつプログラム言語も試みられてきた。プログラムを書くのは、目的とする情報処理を行いたいからである。それなら目的とする情報処理そのものを書き表す方式を探ればよい。

 ある入力に対して特定の結果を出すというのは、数学でいう関数にほかならない。それなら基本となるいくつかの関数を用意しておき、それらから複雑な関数を組み立てていくための仕組みを提供する。プログラムはこれらを使って目的とする関数を定義する形で書くことにすればよい。この方式のものを関数プログラム言語functional program languageという。その出発は LISP(リスプ、記号処理用プログラム言語の一つ)にみることができるが、代表的な関数プログラム言語には ML(エムエル)がある。

 また、入力と出力とがどんな関係にあるか(あってほしいのか)を書くことでプログラムとすることもできる。関係を書き表すには、いわゆる論理演算(「かつ」「または」「ならば」など)を基本とすればよい。この方式のものを論理プログラム言語logic program languageという。論理プログラム言語の代表は、PROLOG(プロローグ)である。

[筧 捷彦]

オブジェクト指向

現実の問題に対処するためのプログラムをつくるにあたって、現実に存在する「もの(オブジェクトobject)」をそのままコンピュータの上に映し込むという発想が有効に機能する。そこで、こうした発想を自然に反映できる形のプログラム言語が生まれてきた。画面上での図形表示を活かした入出力(GUI。graphical user interfaceの略称。グイともいう)が各種プログラムの主流となるにつれて広まった。

 オブジェクト指向言語としては、Smalltalk(スモールトーク)がその出発点となった。それぞれの言語がオブジェクト指向の機能を取り入れつつあるが、とくにC++は C言語を出発点として生まれた。Java(ジャバ)は、新しくつくられたオブジェクト指向言語であり、インタープリターを使ってインターネット上の、どのコンピュータでも実行できることを意図してつくられた。

[筧 捷彦]

出典 小学館 日本大百科全書(ニッポニカ)日本大百科全書(ニッポニカ)について 情報 | 凡例

最新 心理学事典 「プログラム言語」の解説

プログラムげんご
プログラム言語
program language

プログラム言語とは,コンピュータに行なわせる処理の手順を記述するものであり,低次のものから高次のものまで種々のレベルがある。プログラム言語で記述されたコンピュータの処理手順がプログラムである。

 コンピュータによる処理は中央処理装置central processing unit(CPU)で行なわれるが,CPUへの指示は0-1のビットパターンで与えられる。この0-1のビットパターンで表わされる指示は機械語machine languageとよばれている。CPUに与えられた機械語による指示に応じてCPUの内部状態と出力が決まるが,これらも0-1のビットパターンで表わされる。直接機械語で記述されたプログラムは人間には扱い難いので,人間にとってよりわかりやすい記述を行なうために,個々の機械語による指示を対応する文字列,たとえば二つのビット列の和を取る指示を表わすADDなどで記述するものとしてアセンブリー言語assembly languageが作成された。アセンブリー言語で記述されたプログラムをコンピュータに実行させるときは,対応する機械語による記述に変換したものをCPUに読み込ませる。この変換をコンパイルcompileという。アセンブリー言語は機械語と直接対応する低次の言語であるが,より人間が扱いやすい記述方法による高次の言語は高級言語high-level languageとよばれている。機械語はCPUの種類に応じて異なったものが用意されるが,高級言語は直接機械語と対応するものではなく,異なったCPUに対して共通の言語を用いることができる。高級言語で書かれたプログラムの場合は,その処理を実行するCPUに合わせた機械語にコンパイルされて実行される。現在広く用いられている高級言語として,Cおよびその機能拡張版であるC++(シープラスプラス)がある。Cは,UNIXというオペレーティングシステムOSの開発のために作られたものであるが,UNIX以外のOSでも広く用いられている。1980年代になって,良いプログラムを書くことがより容易に,かつより楽しくなるように,オブジェクト指向プログラムのためのクラス型と,ジェネリックプログラムgeneric programのためのテンプレートtemplateの機能をCに加え,ストラウストラップStroustrup,B.によってC++が開発された(Stroustrup,2000)。また,「ほとんどすべての計算機の上で,適度に効率の良い処理系が実現できるような強力で融通性に富む言語の必要性」から(Jensen,K.,& Wirth,N.,1975),ビルトWirth,N.(1968)によってPascalが開発された。Pascalは,アルゴリズムを表現するための言語あるいは教育用言語として適していると評価された。

 高級言語はCPUとは独立に設計できるが,その用途に合わせて種々のものが開発されている。古くは1950年代に科学技術計算のための言語としてFORTRANが開発された。1960年ごろには人工知能や数式処理などの記号処理のためにLISPが開発された。同じ1960年代に学びやすい言語としてBASICが開発されたが,1980年代に普及したマイコンあるいはパソコンで採用され,現在でもWindows OSにおける主要言語の一つとなっている。統計計算用として注目を集めているものにRがある。Rは統計計算とグラフィックスのためのフリーソフトで,そのプログラムが公開されているので,世界中の研究者がプログラムの開発に参加している。

 コンピュータに処理させることを文字(テキスト)で記述するプログラム言語は,スクリプト言語scripting languageとよばれることがある。スクリプト言語で記述された処理手続きをスクリプトという。スクリプト言語にはPythonやJava Scriptなどがある。Pythonは,プログラミングの専門家でない人に使ってもらうために開発されたといわれているように,言語としての約束事(文法)が他の言語と比べて簡単になっている。Java Scriptはウェブブラウザ上で実行されるスクリプト言語であり,ホームページの作成において利用されている。

 異なる種類のコンピュータ上で同じプログラムを実行するための方法として,プログラムを実行するためのプログラムである仮想マシンvirtual machine(VM)を用意して,そのVM上でプログラムを実行するものがある。たとえば,プログラム言語Javaで書かれたプログラムはJavaVM上で実行されるので,異なったコンピュータに対してそれぞれのJavaVMを用意しておけば,Javaで書かれたプログラムはそれぞれのコンピュータにおけるJavaVMによって実行することができる。
〔岡本 安晴〕

出典 最新 心理学事典最新 心理学事典について 情報

百科事典マイペディア 「プログラム言語」の意味・わかりやすい解説

プログラム言語【プログラムげんご】

プログラミング言語とも。コンピューターに処理したい内容を伝えるには,それをコンピューターが理解できるプログラムの形で記述する必要があるが,その際の規則・文法をもつ体系をいう。初期のプログラムは機械語と対応するアセンブリー言語で書かれたため言語としての側面は弱かったが,FORTRANにはじまる高水準言語では言語的性格がいっそう明確になった。FORTRAN,PL/I,Cなどの処理系はコンパイラーに,ベーシック(BASIC),APL,リスプ(LISP)などの処理系は逐一機械語に翻訳して実行するインタプリターが多い。その他の高水準言語にはAdo,ALGOLCOBOL,LOGO,PASCALなどがある。
→関連項目自然言語処理人工知能低水準言語

出典 株式会社平凡社百科事典マイペディアについて 情報

ブリタニカ国際大百科事典 小項目事典 「プログラム言語」の意味・わかりやすい解説

プログラム言語
プログラムげんご
programming language

コンピュータに解釈できるようにつくられた人工言語。コンピュータへの指令であるプログラムを書くのに使われるためプログラム言語あるいはプログラミング言語といわれる。初期にはコンピュータが直接解読して作動することができる機械語が用いられたが,人の使う自然言語とあまりにもかけ離れプログラムの作成効率が悪いため,より自然言語に近くなるようにアセンブラ言語や,人間に理解しやすい記号や代数表現を用いて書ける高級言語が開発された。プログラム言語の設計は一通りではなく,その目的に応じてデータの形式,処理方法,文法などに違いが出てくる。たとえば,計算機のシステムをつくるにはより機械語に近い処理が可能な Cが使われ,科学技術計算には数値の扱いに適したフォートランが使われる。プログラミングの技法に応じて設計される場合も多く,手続き型言語のほか,論理構造を組み立てるのに適した PROLOGなどの論理型言語や関数を組み合わせて新しい関数をつくる LISPなどの関数型言語といった非手続き型言語がある。また,現実の「もの」を中心に考える C++などのオブジェクト指向プログラミング言語(→オブジェクト指向プログラミング)はプログラムの作成効率を上げるのに役立った。機種依存性がない言語である Javaインターネットに向いていることから世界中に広まった。

出典 ブリタニカ国際大百科事典 小項目事典ブリタニカ国際大百科事典 小項目事典について 情報

パソコンで困ったときに開く本 「プログラム言語」の解説

プログラム言語

一般にはプログラムを作るための文法を指します。一定のルールと用語を用いて処理内容を書き、それを実行ファイルに変換して利用します。BASIC(ベーシック)、C(シー)言語、Java(ジャバ)などが有名です。
⇨実行ファイル、プログラム、マクロ

出典 (株)朝日新聞出版発行「パソコンで困ったときに開く本パソコンで困ったときに開く本について 情報

IT用語がわかる辞典 「プログラム言語」の解説

プログラムげんご【プログラム言語】

「プログラミング言語」の別称。⇒プログラミング言語

出典 講談社IT用語がわかる辞典について 情報

今日のキーワード

激甚災害

地震や風雨などによる著しい災害のうち、被災地域や被災者に助成や財政援助を特に必要とするもの。激甚災害法(1962年成立)に基づいて政令で指定される。全国規模で災害そのものを指定する「激甚災害指定基準に...

激甚災害の用語解説を読む

コトバンク for iPhone

コトバンク for Android