プログラミング言語単語

160件
プログラミングゲンゴ
4.1千文字の記事
  • 19
  • 0pt
掲示板へ

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

概要

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

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

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

高級言語と低級言語

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

低級言語

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

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

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

高級言語

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

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

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

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

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

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

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

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

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

静的型付けと動的型付け

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

型付け

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

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

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

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

主なスクリプト言語

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

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

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

関連動画

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

関連商品

関連コミュニティ

関連用語

脚注

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

子記事

兄弟記事

  • なし

【スポンサーリンク】

  • 19
  • 0pt
記事編集 編集履歴を閲覧

ニコニ広告で宣伝された記事

テトオリジナル曲 (単) 記事と一緒に動画もおすすめ!
提供: 黒麦酒
もっと見る

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

お絵カキコがありません

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

ピコカキコがありません

プログラミング言語

149 ななしのよっしん
2020/08/29(土) 20:44:43 ID: lmgGkC95A+
顧客が本当に必要だったものを精密に察して、愚かな人類を懇々と説きせて、理解・納得させる折伏められている
👍
高評価
0
👎
低評価
0
150 ななしのよっしん
2020/09/02(水) 05:12:54 ID: jVtPCHQ+TX
自動生成に過大な期待をかける人が見る度に
プログラミング言語って人間の愚かな間違いを摘してくれるように発展してきたのになんでそんなに自然に信頼置きたいの?って思ってしまう
👍
高評価
0
👎
低評価
0
151 ななしのよっしん
2020/09/30(水) 00:17:18 ID: /XhwdqXBq1
自然みたいに仕様かける言なんてそれこそ半世紀以上前からあるよ。COBOLっていうんだけど。
👍
高評価
0
👎
低評価
0
152 ななしのよっしん
2020/11/21(土) 22:06:13 ID: Z/hm3yw/4Q
Zen言ライセンス関係のごたごたを見て
なんで日本エンジニアってのはこうなんだろうと情けなく思った
👍
高評価
0
👎
低評価
0
153 ななしのよっしん
2020/11/22(日) 16:35:26 ID: lmgGkC95A+
>>152
バイナリ配布は認めないけどソース開できます…?
何したいのかわからん 頭悪すぎ

あと変に主語でかくするのも勘弁な
👍
高評価
0
👎
低評価
0
154 ななしのよっしん
2021/12/16(木) 13:36:51 ID: ZX4ICWqi+R
高級言を例えるならば、
でも扱えて取り回しもいい汎用魔法(コレ)
難しいけど絶大な古代魔法マシン語アセンブラなど)

な感じ
👍
高評価
0
👎
低評価
0
155 ななしのよっしん
2021/12/18(土) 21:41:25 ID: lmgGkC95A+
汎用をすというのがそもそも理に反しているのだ
高級言DSLでいいのだ
👍
高評価
0
👎
低評価
0
156 ななしのよっしん
2022/02/27(日) 12:37:48 ID: ZXcHF5xzHW
ローレベルハイレベルすぎるからローレベルハイレベルから始めるのがオススメだよ!
👍
高評価
2
👎
低評価
0
157 ななしのよっしん
2023/12/12(火) 05:32:06 ID: 0JGdcO1oJY
Python以上に分かりやすく簡単、ライブラリも豊富で、機械語ほどじゃなくてもC/C++レベルの実効速度が速いプログラミング言語開発出来ないものだろうか?
👍
高評価
0
👎
低評価
0
158 ななしのよっしん
2024/04/10(水) 16:35:58 ID: Jpi/M6Cgvx
>>157
nimとか? Python以上かどうかはともかく、向こうに似せてるから同等にはわかりやすいと思われるし最終的にはC++に落ちるから実行速度は速いぞ
はnim嫌いだけど

あとライブラリは言自体の特徴じゃないんで(標準ライブラリの意味ならすまんち)
👍
高評価
0
👎
低評価
0