プログラミング言語
■毎日更新無料動画!
■未公開流出画像満載

[Wikipedia|▼Menu]
□記事を途中から表示しています
[最初から表示]


プログラミング言語の実行

プログラミング言語を使うには、設計者が言語を設計して処理系を実装し、ユーザーがその言語でプログラムを書く必要がある。その際に重要となるのは、「仕様」と「実装」である。


仕様

プログラミング言語の仕様は、その言語で書かれたソースコードが与えられたとき、プログラムとしての動作がどうなるのかを決定する定義を与えることを目的としている。

プログラミング言語仕様には、以下のようないくつかの形式がある。

言語の構文と意味論の明確な定義。構文は形式文法を使って記述され、意味論定義は自然言語または形式意味論で書かれるのが一般的である(形式意味論で意味論を記述した例として Standard ML[13]Scheme[14] がある)。

その言語のコンパイラの動作を記述したもの(例えば、C++FORTRAN の仕様)。言語の構文と意味論はその記述から推定され、自然言語や形式言語で書かれる。

リファレンス実装やモデル実装。対象言語で書かれることもある(例えば、PrologANSI REXX[15])。構文と意味論は、リファレンス実装の動作を見れば明らかである。


実装

プログラミング言語の実装とは、ハードウェアおよびソフトウェアを構成して、そのプログラミング言語で書かれたプログラムを実行する方法を提供するものである。プログラミング言語の実装には大きく分けて2つの方法がある。コンパイラインタプリタである。一般にある言語をコンパイラとインタプリタの両方で実装することが可能である。

コンパイラの出力は、ハードウェアで実行される場合とインタプリタで実行される場合がある。コンパイラの出力したものをインタプリタで実行する方式は、コンパイラとインタプリタの区別が曖昧な場合もある。例えば、BASICの実装には、行単位でソースをコンパイルして実行するようなものもある。

一般にコンパイラの出力(実行ファイル)を直接ハードウェアで実行する方が、インタプリタで実行するよりもずっと高速である。

インタプリタでの実行を改善する技法として、ジャストインタイムコンパイル方式がある。


歴史

プログラミング言語年表も参照


初期の発展

世界初のプログラミング言語は、いわゆるデジタルコンピュータの登場する前に存在した。19世紀には、プログラム可能な織機自動ピアノ向けの巻紙があり、そこには現代的分類で言えばドメイン固有言語とされるプログラミング言語でプログラムが書かれていた。20世紀初頭には、タビュレーティングマシンによってパンチカードを使ったデータの機械処理が始まっている。1930年代から1940年代にかけて、アルゴリズムを表現する数学的抽象表現を提供するラムダ計算アロンゾ・チャーチ)とチューリングマシンアラン・チューリング)が考案された。ラムダ計算はその後の言語設計にも影響を与えている[16]

1940年代、世界初の電子式デジタルコンピュータ群が製作された。1950年代初期のコンピュータである UNIVAC IIBM 701 では機械語を使っていた。機械語によるプログラミングは、間もなくアセンブリ言語によるプログラミングに取って代わられた。1950年代後半になると、アセンブリ言語でマクロ命令が使われるようになり、その後 FORTRANLISPCOBOL という3つの高級プログラミング言語が開発された。これらは改良を加えられ現在でも使われており、その後の言語開発に重大な影響を与えた[17]。1950年代末、ALGOLが登場し、その後の言語に様々な影響を与えている[17]。初期のプログラミング言語の仕様と使い方は、当時のプログラミング環境の制約(パンチカードによるプログラム入力など)にも大きく影響されている[18]


改良

1960年代から1970年代末ごろまでに、現在使われている主な言語パラダイムが開発されたが、その多くはごく初期の第三世代プログラミング言語のアイデアの改良である。

APL - 配列プログラミングを導入した言語。関数型プログラミングにも影響を与えた[19]

PL/I (NPL) - FORTRANとCOBOLの長所を取り入れて1960年代初期に設計された。

Simula - 世界初(1960年代)のオブジェクト指向プログラミングを採用した言語。1970年代中頃には純粋なオブジェクト指向言語であるSmalltalkが登場した。

C言語 - 1969年から1973年にかけてシステムプログラミング言語として開発され、現在でもよく使われている[20]

Prolog - 1972年に設計された論理プログラミング言語。

ML - 1978年に開発された言語で、LISPをベースとした静的型付け関数型言語の先駆けとなった。


★制服でHなバイト★
1日5万円★日払い★

[次ページ]
[オプション/リンク一覧]
[記事の検索]
[おまかせ表示]
[トップページ]
[ニュースをチェック!]
[列車運行情報]
Size:66 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:Mamenoki