単語記事: プログラミング言語

編集  

プログラミング言語とは、コンピュータにおけるソフトエアを開発することを的に作られた人工言語である。つまり、ソフトを作るときに書いたりする、映画とかで研修室の画面に流れてたりする、ムズカシソーなアレ

概要

プログラミング言語歴史は、コンピュータこと電子計算機よりも長いわけだが、面倒なのでここではスルー。詳しくは、Wikipedia:階差機関にでも。

プログラミング言語は、コンピュータへの命令することを第一に作られている。それを支援する、構造記述、表現が備わっていることが普通である。また、日本語英語といった自然と異なり、曖昧な解釈はできない[1]

一般に歴史的な理由と使える領域の広さから、C言語プログラマーの一般教養言となっている。

高級言語と低級言語

プログラミング言語には高級言と低級言がある。

低級言語

低級言とは、機械語及びアセンブリ言語(アセンブラ)のことである。

アセンブリ言語は、機械語英語などの自然などで解釈しやすいように作られたものだが、いずれもCPUの処理手順を1つずつ記述しなければいけない。しかもCPU毎に言仕様が違うため、あるCPU用に書いた機械語プログラムを全く別のCPUに再利用することはできない。

また、論理的には1つの処理も、複数の手順を踏まえないといけないので記述数が膨大になりやすく、現在では処理手順の細かい最適化を行う際に部分的に使われることが多い。 

高級言語

対して高級言とは、自然ベースに人間の論理に合わせて作られたプログラミング言語す。CPU仕様から自由ならば高級言である。

低級言よりは習得が楽ではあるが、高級言機械語翻訳するコンパイラーやインタープリターの性が悪いと、非効率で処理の遅いプログラムになる恐れがある。

高級言の中でも、記述内容が機械語に近いもの(例えばメモリへの書き込みの方法やタイミング定できるなど)ほど低級で、人間の感覚に近いもの(オブジェクト指向など)をより高級とする考え方もある。

近年の様々なパラダイムを取り込み洗練された言に親しんでいる人から見ると、過去の言は野暮ったく低級のように見えてしまうかもしれないが、あくまでも人間の考え方に近いか遠いかの違いを表す表現であって、言の優劣を論じる用ではない。パフォーマンスの問題から言えば、むしろ低級な言ほど(労を惜しまなければ)できることの種類が多く、高級な言ほど処理速度が遅くなる傾向にある。

実際の言の優劣は、言仕様の良し悪しよりも入手可ライブラリの量と質や処理系最適化レベル開発環境の充実度、動作可なプラットフォームの普及状態などによって決まってしまうことが少なくない。

コンパイラ言語とスクリプト言語

実行する前にコンパイルという変換作業を必要とするものをコンパイラと呼び、操作や処理を記述したプログラムをそのままインタプリタに解釈させ実行する言スクリプト言語(インタプリタ)と呼ぶ。言仕様そのものの違いではなく、処理系の違いなのだが(スクリプト言語でも別途コンパイラを作ってコンパイルしてから実行するようにすればコンパイラといえなくもない)、実用上は両者を区別することが多い。

一つのアプリケーション上で動作し、アプリケーション上の操作を一括して行うように記述できるものもプログラミング言語(スクリプト言語)と呼ぶことができるが、一般にはマクロと呼ばれて汎用プログラミング言語とは分けて扱われる。

一般的な傾向としては処理速度マクロ < スクリプト言語 < コンパイラ < 機械語 の順番だが、処理系最適化プログラマの技量(使用するアルゴリズム)によって大きく変わってしまうこともあるので、「〜で書かれているから速い」という考え方があてはまらない場合もありえる。

静的型付けと動的型付け

ほとんどの高級言の概念が実装されているが、が実行前に決まっていなければならないかどうかで静的型付けと動的型付けに分かれる。

型付け

プログラミング言語におけるパラダイム

プログラミング言語では、その言に対するパラダイムが存在する。
パラダイムとは、プログラムを離れて一般的な広義で言えば、物の捉え方の事をす。
プログラミング言語におけるパラダイムとは、プログラミング言語の捉え方を表したものである。
以下に、代表的なパラダイムを記述する。詳細はプログラミングパラダイムの記事参照

これらは、排他的な特徴ではないため、当然複数のパラダイムをを併せ持つ言が存在する。そのような言マルチパラダイム言という。多くの言マルチパラダイム言だが、特に多くのパラダイムを実現している言して言うことが多い(例: C++, D言語)。

主なプログラミング言語(高級言語)

主なスクリプト言語

プログラミング言語が作られる目的(一覧)

現在プログラミング言語は非常に多く存在しているが、言が作られる理由にはさまざまな理由がある。

面倒なことに、言内でもバージョンやら実装の違いがあって、トラブルの原因になったりもする。とても面倒。

関連動画

タグ検索「プログラミング」

関連商品

関連コミュニティ

関連用語

脚注

  1. *曖昧さがないといっても実行時の話で、言仕様書の段階では曖昧さが取り除ききれていない場合も少なくない。リファレンス実装がこの問題を解決している場合もある。

【スポンサーリンク】

携帯版URL:
http://dic.nicomoba.jp/k/a/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E
ページ番号: 194930 リビジョン番号: 2559334
読み:プログラミングゲンゴ
初版作成日: 08/06/03 03:46 ◆ 最終更新日: 18/02/04 00:25
編集内容についての説明/コメント: コラムの分離
記事編集 / 編集履歴を閲覧
このエントリーをはてなブックマークに追加

この記事の掲示板に最近描かれたお絵カキコ

お絵カキコがありません

この記事の掲示板に最近投稿されたピコカキコ

ピコカキコがありません

プログラミング言語について語るスレ

124 : ななしのよっしん :2017/12/31(日) 12:58:01 ID: lmgGkC95A+
紹介をダラダラ書くならせめて
汎用/DSL とか スクリプト系/コンパイル系/変換系とか整理しておくれ

型付けっ先に出てくるとかどうなの
動的型付けが評価されるのはDBとの親和性くらい
125 : deadbull :2017/12/31(日) 14:35:28 ID: HvZscS9Puz
>>124
> 言紹介をダラダラ書くならせ
すみません。長いと自分でも思います。別記事に分離した方がよろしいでしょうか。

> 汎用/DSL とか スクリプト系/コンパイル系/変換系とか整理しておくれ
文面を用意していただければ、検討はさせていただきます。
126 : ななしのよっしん :2018/01/20(土) 00:51:41 ID: /XhwdqXBq1
まず何より前につっこむとさ、概要、詳細、関連項と流れる記事の一般的なフォーマット視して後ろにコラムを付ける書き方がクソだし、まとめと書いておきながらその後から細々書く構成もクソだし、こんなんコードレビューで来たら読まずに捨てるよ。
プログラミング言語」の記事として言断の代物。
127 : deadbull :2018/01/20(土) 07:50:07 ID: HvZscS9Puz
>>126
> 一般的なフォーマット視して後ろにコラムを付ける書き方がクソ
どこにどういう構成で書くのが適切と考えていらっしゃるか見当がつきませんが、>>125に基づき分割提案させて頂きました。
128 : ななしのよっしん :2018/01/28(日) 18:41:46 ID: /XhwdqXBq1
概要、詳細、関連項と流れる記事の一般的なフォーマット」と書いてあるでしょ。読めよw
別に記事の書き方なんぞ自由だしとやかく言う権利はないが、その記事のメインの内容が了した後で他の項とつなぐから関連項は末尾にあるのであって、特に表現上の理由がなければそれを崩すことに必然的な理由はない。普通の本の中で次とか参考文献がいきなりん中あたりにあったらおかしいだろ。
他の人のツッコミもそうだけど、君はやってることが独断的に過ぎる。個人的な感想を言えば、文章の長さ、内容等々からもそれは感じられるし、君にとって良いことが他の人にとっても良いわけではないという事を考えてなさすぎ。
129 : deadbull :2018/01/28(日) 21:40:38 ID: HvZscS9Puz
>>128
コラムではなく記事の一部にせよというご意見でしょうか。

> 君はやってることが独断的
個人の意見なのでコラム(https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%A9%E3%83%A0)として書きました。なお、ご存知なさそうなので書き添えておきますが、ニコニコ大百科に個人の意見を書くことは禁止されておりません(http://dic.nicovideo.jp/id/425486)。

> 特に表現上の理由がなければ
個人の意見を書くことは禁止されていないと言っても、個人の意見は一般的意見とは分けて書かれるべきかと思いますので、表現上の理由としては十分かと考えます。
> 君にとって良いことが他の人にとっても良いわけではないという事を考えてなさすぎ。
異論は認めると何回も記しているように、また、万人にとって最良な言というものはないとも書いているように、そういったことは既に考慮済みです。
130 : ななしのよっしん :2018/01/28(日) 21:44:25 ID: ZXcHF5xzHW
この記事の構成で問題あるようには見えんけど
131 : ななしのよっしん :2018/01/28(日) 22:06:54 ID: y30+sxVL4A
実際のコードで例えるならコメントどうでもいい長文書いてる上にイベントハンドラに直接コード垂れ流して「本質的に何だよ」って状態
リファクタリングすべき
132 : deadbull :2018/01/28(日) 22:25:38 ID: HvZscS9Puz
>>131
> リファクタリングすべき
否定はしません。文面をご用意いただければ検討はいたします。
133 : deadbull :2018/01/31(水) 22:21:09 ID: HvZscS9Puz
>>130にはこの構成でよいと言っていただきましたが、こういった話題は議論しだすと長くなるのが常なので、
掲示板を分離するためにも分割は予定通り実行して、アクセス経路は当記事の関連項から確保し、
コラムについて当記事からの分離以外に関するご摘は分割後の掲示板でのみお受けしようと思います。
急上昇ワード
ニコニコニューストピックス
  JASRAC許諾番号: 9013388001Y45123
  NexTone許諾番号: ID000001829