概要
プログラミング言語とは、コンピュータを動かすプログラムを書くための人工言語である。
Pixivでは、コンピュータ言語の擬人化のイラストにこのタグが付けられることが多い。
主なプログラミング言語
注:ここでいう「低級」、「高級」は記述する命令がハードウェアが実行する命令に近い具体的なものなのか、プログラムを組む際に指示しやすいように抽象化したものなのかという違いをさす。ハードウェア寄りのものを「低級」、命令が抽象化されているものを「高級」という。
「インタプリタ言語」あるいは「コンパイラ言語」といった呼称も見掛けることがあり、例えば「C言語はコンパイラ言語」「JavaScriptはインタプリタ言語」と言われたりする。しかしその言語がどちらかと言えばインタプリタ向き、あるいはコンパイラ向きの特性を備えているという違いに過ぎず、どちらとも判別しがたい言語も多く存在する。さらにコンパイラで中間表現にコンパイルしそれをインタプリタで実行するという中間コード型実行も一般化している現在、こういった分類は無意味になりつつある。
低級言語
- アセンブリ言語(機械語をそのまま命令に置き換えたもの。機種の数だけ種類がある)
難解プログラミング言語
- Brainf*ck
高級言語
命令型の言語
- FORTRAN
- COBOL
- BASIC
- C言語 (低級言語に近い特徴を持ち、ハードウェア寄りの記述を得意とする)
- Pascal
- Perl
- Lua
- Hot Soup Processor
- Ada
- (PHP) …ver4よりオブジェクト指向対応したため、どちらとも言える状態
- シェルスクリプト
オブジェクト指向言語
- C++ (もともとはC言語のオブジェクト指向拡張だが、現在ではC言語との互換性は失われている)
- Objective-C(C言語にオブジェクトシステムを取り付けたもの。C言語との互換性は保たれている)
- Java
- C#
- Dart
- Delphi (Pascalの方言)
- go
- R言語
- Ruby
- Rust
- Python
- Javascript (Javaとは赤の他人で制式名称はECMAScriptである)
- Kotlin(Java仮想マシンで動く言語)
- Swift
- (PHP)
- S言語
- (Scala)
関数型の言語
- LISP
- Clojure (LISPの方言でJava仮想マシンで動く)
- OCaml (オブジェクト指向とのハイブリッド)
- Haskell
- F# (OCamlやHaskellを参考に作成した.NET用の言語)
- (Scala) (オブジェクト指向とのハイブリッドでJava仮想マシンで動く)
※()がある物は人によって意見が分かれる言語