ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
無料
ブラウザよりも高速アクセス!
 

方言 (プログラミング言語)

索引 方言 (プログラミング言語)

プログラミング言語における方言(ほうげん)は、自然言語の方言と同様に基本的な文法や機能を共通しながら、細かい振る舞いに差違の見られる類縁言語の事をいう。ただし、外部ライブラリにより機能の拡張を行なう場合は、他の方言でも同様に拡張が可能なので方言とは言われない。多くの場合ライブラリは複数の方言に対応し、差違を吸収できるように作られている。また、Pascal、Modula、Modula-2、あるいはC言語とC++のように進化の過程で言語的な能力を変化させたものはたとえ類縁関係にあっても方言とは言われない。 プログラミング言語においては、ソースコードの互換性が方言の性質を決定する。逆に同じソースコードを同じプラットフォームにおいて同じ意味で解釈しても、吐き出される実行コードは処理系ごとに異なっている事が普通である。なぜならコードはコンパイラ最適化などの段階を経るため、利用者にとって「同じである」と判断される動作さえ行えば、実際の内部構造は問わないからである。言語仕様によっては、これら最適化などの段階についても仕様のうちに内包して制御する。 最も頻繁に見られる方言の例は、統一仕様をもった言語に対して複数のコンパイラ、インタプリタが独自の拡張仕様を盛り込むケースである。BASICはこの種の典型で、一応は規格が存在するのだが、言語間での互換性はほとんどないに等しい状態となった。近年ではJavaScriptなどもブラウザ間の互換性が問題となっている。 逆に、特に定まった規格がなく、処理系=仕様という形態から方言が生じたケースも多い。LISPはS式表現とcar, cdr, eval, condといった基本的な語彙があればほとんど自由に機能拡張ができるため、Common Lispが策定されるまでは無数の方言が乱立する状態にあった。現在普通に使われる処理系はCommon Lisp系、Scheme系、GNU EmacsのEmacs Lisp程度で以前よりは安定した状態にあるが、それでも実装毎の差違がかなり見られる。 CもLISPに近い経緯をたどった言語で、かつては処理系毎にかなりの実装差が見られた。しかしANSI C規格が出現した事で非互換性の問題はほぼ解消し、方言と呼べるような違いは初期のK&RスタイルとANSIスタイル、GCC拡張機能の差違程度となっている。 ほうげん.

21 関係: 実装ライブラリプログラミング言語インタプリタオブジェクトファイルコンパイラコンパイラ最適化ソースコードBASICC++C言語Common Lisp自然言語GNU EmacsGNUコンパイラコレクションJavaScriptLISPModula-2PascalScheme方言

実装

実装(じっそう、implementation)とは、何らかの機能(や仕様)を実現するための(具体的な)装備や方法のこと。.

新しい!!: 方言 (プログラミング言語)と実装 · 続きを見る »

ライブラリ

ライブラリ()は、汎用性の高い複数のプログラムを再利用可能な形でひとまとまりにしたものである。ライブラリと呼ぶ時は、それ単体ではプログラムとして作動させることはできない実行ファイルではない場合がある。ライブラリは他のプログラムに何らかの機能を提供するコードの集まりと言うことができる。ソースコードの場合と、オブジェクトコード、あるいは専用の形式を用いる場合とがある。たとえば、UNIXのライブラリはオブジェクトコードをarと呼ばれるアーカイバでひとまとめにして利用する。図書館()と同様にプログラム(算譜)の書庫であるので、索引方法が重要である。 また、ソフトウェア以外の再利用可能なものの集合について使われることもある。.

新しい!!: 方言 (プログラミング言語)とライブラリ · 続きを見る »

プログラミング言語

プログラミング言語(プログラミングげんご、programming language)とは、コンピュータプログラムを記述するための形式言語である。なお、コンピュータ以外にもプログラマブルなものがあることを考慮するならば、この記事で扱っている内容については、「コンピュータプログラミング言語」(computer programming language)に限定されている。.

新しい!!: 方言 (プログラミング言語)とプログラミング言語 · 続きを見る »

インタプリタ

インタプリタ(interpreter)とは、プログラミング言語で書かれたソースコードないし中間表現を逐次解釈しながらするプログラムのこと。.

新しい!!: 方言 (プログラミング言語)とインタプリタ · 続きを見る »

オブジェクトファイル

ブジェクトファイル またはオブジェクトコード とは、コンパイラがソースコードを処理した結果生成される、コード生成の結果であるバイナリコードを含む中間的なデータ表現のファイルである。中身は、機械語バイナリとそれに付随するシンボルテーブルやリロケーションテーブルといった付加情報であり、さらにデバッグ支援情報や近年はリンク時最適化等のための高度な情報が含まれる場合もある。オブジェクトファイル群をリンクすることによって最終的な実行ファイルやライブラリが作成される。オブジェクトファイルのほとんどは機械語である(コンピュータのCPUが直接実行できるコード)。オブジェクトファイルフォーマットはコンパイラやアセンブラが生成するオブジェクトファイルのファイルフォーマットである。.

新しい!!: 方言 (プログラミング言語)とオブジェクトファイル · 続きを見る »

コンパイラ

ンパイラ(英:compiler)とは、コンピュータ・プログラミング言語の処理系(言語処理系)の一種で、高水準言語によるソースコードから、機械語に(あるいは、元のプログラムよりも低い水準のコードに)変換するプログラムである。.

新しい!!: 方言 (プログラミング言語)とコンパイラ · 続きを見る »

コンパイラ最適化

ンパイラ最適化(こんぱいらさいてきか、Compiler optimization)の記事では、コンピュータ・プログラムの最適化に関する話題のうち、もっぱらコンパイラに関係するものに関して説明する。最も一般的な要求はプログラムの実行時間を最小化することであり、その次に使用するメモリ量を最小化することである。また、携帯可能なコンピュータが増えるにつれて、消費電力を最小化するという最適化も生まれてきた。 一部のコード最適化問題はNP完全問題であることが示されている。実際には、プログラマがコンパイラによる最適化の完了を待てる時間の上限なども考慮してコンパイラ最適化を実装する(最適化はCPU時間とメモリを多大に使用する)。かつては、コンピュータのメモリ実装量も実行できる最適化を制限する要因だった。 コンパイラメーカによっては、「コンパイラの最適化の能力が売り上げや評判に大きく影響する」と信じている場合があり、そういう信念に従って「最適化コンパイラ」と銘打つことがある。少なくとも、同程度にバグが無いコンパイラ同士であれば、という前提の範囲内なら、最適化の能力が高いほうが魅力的と言えるであろう。.

新しい!!: 方言 (プログラミング言語)とコンパイラ最適化 · 続きを見る »

ソースコード

青で示されているのが有効なコードである。 ソースコード(source code)とは、コンピュータプログラミング言語で書かれた、コンピュータプログラムである文字列(テキストないしテキストファイル)のことである。.

新しい!!: 方言 (プログラミング言語)とソースコード · 続きを見る »

BASIC

BASIC(ベーシック)は手続き型プログラミング言語のひとつ。 名前は「beginner's all-purpose symbolic instruction code」(「初心者向け汎用記号命令コード」を意味する)のバクロニムである。.

新しい!!: 方言 (プログラミング言語)とBASIC · 続きを見る »

C++

C++(シープラスプラス)は、汎用プログラミング言語の一つである。日本語では略してシープラプラ、シープラなどとも呼ばれる。.

新しい!!: 方言 (プログラミング言語)とC++ · 続きを見る »

C言語

C言語(シーげんご)は、1972年にAT&Tベル研究所のデニス・リッチーが主体となって開発したプログラミング言語である。英語圏では単に C と呼んでおり、日本でも文書や文脈によっては同様に C と呼ぶことがある。.

新しい!!: 方言 (プログラミング言語)とC言語 · 続きを見る »

Common Lisp

Common Lisp(コモン・リスプ)は、コンピュータ・プログラミング言語 Lispの標準(の、ひとつ)であり、Lisp方言のひとつである。Common Lispの略称はCL(ごくまれにclispとも。なおCLISPという実装が実在するので混同回避のためあまり用いられない)。規格はANSIによる ANSI INCITS X3.226-1994 (R2004) 。仕様を指すこともあれば、実装を指すこともある。いくつかの、フリーソフトウェアの定義に合致したライセンスによりライセンスされている実装や、オープンソースの定義に合致したライセンスによりライセンスされている実装や、プロプライエタリなライセンスによりライセンスされている実装がある。 Lispの基本的な特徴の他、いくつかのプログラミングパラダイムのLispへの取り込みについて標準を提供しているという、マルチパラダイムプログラミング言語という面がある。.

新しい!!: 方言 (プログラミング言語)とCommon Lisp · 続きを見る »

自然言語

自然言語(しぜんげんご、natural language)とは、人間によって日常の意思疎通のために用いられる、文化的背景を持って自然に発展してきた言語である。分類として、音声言語と文字言語、口頭言語と書記言語、口語と文語といったような分類があるが、いずれも似ているようだが着目点や対比軸が異なる分類であり、混同してはならない。また、以上のような分類がいずれも当たらない言語もあり、例えば日本手話(「日本語対応手話」とは異なる)がそうである。.

新しい!!: 方言 (プログラミング言語)と自然言語 · 続きを見る »

GNU Emacs

GNU Emacs(グヌー・イーマックス)は最も有名で、かつ最も多く移植されているEmacsテキストエディタであり、GNUプロジェクト創設者のリチャード・ストールマンにより作成された。GNU Emacsは他のEmacs系エディタと同様に、チューリング完全なプログラミング言語で拡張可能である。GNU Emacsは「今日利用できる最もパワフルなテキストエディタ」と称されている。GNU Emacsは基盤となるシステムからの適切なサポートにより、複数の文字集合を含むファイルを表示することが可能だが、1999年の時点で既にほとんどの人間言語を同時に表示することが可能であった。GNU Emacsはその歴史を通じてGNUプロジェクトの中心となるコンポーネントであり、さらにフリーソフトウェア運動のフラグシップである。GNU Emacsは、他のEMACS派生と区別する場合にGNUMACSと略されることがある。GNU Emacsのうたい文句は「拡張可能で自己説明的なテキストエディタ」である。.

新しい!!: 方言 (プログラミング言語)とGNU Emacs · 続きを見る »

GNUコンパイラコレクション

GNU Compiler Collection(グニューコンパイラコレクション)は、GNUのコンパイラ群である。略称は「GCC(ジーシーシー)」。GNUツールチェーンの中核コンポーネント。.

新しい!!: 方言 (プログラミング言語)とGNUコンパイラコレクション · 続きを見る »

JavaScript

JavaScript(ジャバスクリプト)とは、プログラミング言語のひとつである。Javaと名前が似ているが、全く異なるプログラミング言語である(後述の#歴史を参照)。 JavaScriptはプロトタイプベースのオブジェクト指向スクリプト言語であるが、クラスなどのクラスベースに見られる機能も取り込んでいる。 ウェブブラウザ上で動作し動的なウェブサイト構築やリッチインターネットアプリケーションの開発に用いられる。また、2010年以降はnode.jsなどのサーバサイドJavaScript実行環境や各種ライブラリの充実により、MEANに代表されるように、Web開発の全ての領域で活用されるようになってきている。.

新しい!!: 方言 (プログラミング言語)とJavaScript · 続きを見る »

LISP

LISPは、プログラミング言語である。 によって記述される。-->前置記法などが特徴である。 1958年にはじめて設計されたLISPは、現在広範囲に使用されている高水準プログラミング言語の中でもFORTRANに次いで2番目に古い。ただし、FORTRANと同様に、現在のLISPは初期のものから非常に大きく変化している。 これまでに多数の方言が存在してきたが、今日最も広く知られるLISP方言は、Common LispとSchemeである。 元々、LISPは、アロンゾ・チャーチのラムダ計算表記法に影響を受け、コンピュータープログラムのための実用的かつ数学的な表記法として作られた。そして、すぐに人工知能研究に好まれるプログラミング言語になった。最初期のプログラミング言語として、LISPは計算機科学にて、木構造、ガベージコレクション、動的型付け、条件分岐、高階関数、再帰、セルフホスティング、コンパイラを含む多くのアイディアを切り開いた。 LISPの名前は、「list processor」に由来している。リストはLISPの主要なデータ構造であり、LISPソースコードはそれ自体がリストからできている。その結果、LISPプログラムはソースコードをデータとして操作することができ、プログラマーは、マクロ・システムで新しい構文やLISP埋め込みの新しいDSLを作成できる。 コードとデータの互換性は、LISPにそのすぐに認識できる構文を与える。すべてのプログラム・コードはS式または入れ子のリストとして書かれる。関数呼び出しまたは構文は先頭が関数または演算子の名前で、その続きが引数であるリストとして書かれる。具体的には、3つの引数を取る関数fは、(f arg1 arg2 arg3)として呼び出される。.

新しい!!: 方言 (プログラミング言語)とLISP · 続きを見る »

Modula-2

Modula-2(モジュラ・ツー)は、コンピュータのプログラミング言語の一種で、1978年頃にチューリッヒ工科大学のニクラウス・ヴィルトにより、先立って構想されたプログラミング言語「Modula」の後継として創案されたものである。汎用手続き型言語で、構文の多くは同様にヴィルトの手掛けたPascal言語に基いたものとなっている。名前「Modula-2」は「モジュールの」を意味する英語「modular」に由来する。.

新しい!!: 方言 (プログラミング言語)とModula-2 · 続きを見る »

Pascal

Pascal(パスカル)は、ニクラウス・ヴィルトの設計(デザイン)によるコンピュータ・プログラミング言語である。ALGOL(直接的にはその一派生である、ヴィルトが関与したALGOL W)などの影響があるが、個人の設計であることに由来する簡素だがよく整った言語仕様(構文と意味)を持つ。用途の中に教育を意識しており、構造化された制御構造など、その当時「良きプログラミングの慣習」と考えられていたことの影響もある。一方で批判者からは、あくまでも教育用に過ぎない言語だ、といったような評もあることにはあったが、PascalコンパイラをPascalで書ける(いわゆる言語処理系のブートストラップ)ことをはじめ、Pascalで書かれた#実用プログラム例は多くある。名前は、哲学者・数学者・科学者で、機械式計算機を製作するなど技術者でもあったブレーズ・パスカルにあやかったものである。.

新しい!!: 方言 (プログラミング言語)とPascal · 続きを見る »

Scheme

Scheme(スキーム)はコンピュータ・プログラミング言語 Lispの方言のひとつで、静的スコープなどが特徴である。仕様(2017年現在、改7版まで存在する)を指すこともあれば、実装を指すこともある。Schemeにより、Lisp方言に静的スコープが広められた。.

新しい!!: 方言 (プログラミング言語)とScheme · 続きを見る »

方言

方言(ほうげん)は、ある言語が地域によって別々な発達をし、音韻・文法・語彙(ごい)などの上で相違のあるいくつかの言語圏に分かれた、と見なされたときの、それぞれの地域の言語体系のこと。ある地域での(他の地域とは異なった面をもつ)言語体系のこと。地域方言とも言い、普通、「方言」と言うと地域方言を指す。一方、同一地域内にあっても、社会階層や民族の違いなどによって言語体系が違う場合は社会方言と言う。.

新しい!!: 方言 (プログラミング言語)と方言 · 続きを見る »

出ていきます入ってきます
ヘイ!私たちは今、Facebook上です! »