Энциклопедия языков программирования
Добро пожаловать!
Прогопедия — свободная энциклопедия языков программирования. Все тексты доступны на условиях свободной лицензии GNU Free Documentation License. На данном этапе развития проекта регистрация для доступа в редакторский интерфейс осуществляется по приглашениям.
Язык программирования — формальная знаковая система, при помощи которой записываются компьютерные программы. По разным оценкам, в настоящее время существует от двух с половиной до десяти тысяч различных языков программирования.
В Прогопедии сведения о языках программирования организованы в виде трехуровневой структуры: "язык" → "реализация" → "версия". Также описаны диалекты языков программирования (хотя вопрос, что считать языком, а что диалектом, является довольно спорным).
Классификация языков осуществляется по поддерживаемым парадигмам и системам типизации данных. Разбиения на языки высокого и низкого уровня нет, так как оно более условно, устаревает со временем, появляются языки сверхвысокого уровня и т.д. Большинство представленных в энциклопедии языков можно считать языками высокого уровня. Также в Прогопедии не проводится разделения на интерпретируемые и компилируемые языки: для многих языков, традиционно считавшихся интерпретируемыми, сейчас существуют компиляторы, и наоборот. Возможна также комбинация интерпретации и компиляции: компиляция в байт-код. Таким образом, классификация по принципу интерпретируемости или компилируемости языка не имела бы большого смысла.
На данный момент в энциклопедии ru.progopedia.com описано:
- языков программирования: 171,
- диалектов: 83,
- реализаций: 349,
- версий: 735.
Статья недели
Dart — язык программирования для веб-разработки с открытым исходным кодом, созданный Google. Цель создания языка — заменить JavaScript в роли универсального языка веб-разработки.
В настоящее время существует три способа запустить программу на Dart:
- скомпилировать в JavaScript при помощи dart2js и запустить результат в любом браузере.
- выполнить код напрямую в Dartium — версии Chromium со встроенной поддержкой Dart.
- использовать Dart VM — отдельную виртуальную машину, входящую в Dart SDK и позволяющую запускать программы в консольном режиме.
Изображение недели
Логотип Miranda
Интересные факты
- Самый известный эзотерический язык, не являющийся Тьюринг-полным — HQ9+.
- Объектно-ориентированная парадигма была впервые представлена в Simula.
- Название INTERCAL расшифровывается как Compiler Language With No Pronounceable Acronym.
Примеры программ
- CamelCase (примеров: 54)
- Hello, World! (примеров: 163)
- Квадратное уравнение (примеров: 61)
- Факториал (примеров: 156)
- Числа Фибоначчи (примеров: 136)
Языки программирования, диалекты, реализации и версии
- 01_
- A+
- A++
- ABAP
- Abundance
- Action!
- Ada (диалекты: Ada 2005, Ada 2012, Ada 83, Ada 95, SPARK)
- Agda
- Alef
- ALGOL (диалекты: ALGOL 58, Algol 60)
- Amiga-E
- AMMORIA
- APL
- APLAN
- ARIBAS
- AS/400 CL
- Assembler
- AWK
- Axum
- B
- Baltie
-
BARSIC
-
BARSIC
- BARSIC 10.65
- BARSIC 10.66
- BARSIC 10.67
- BARSIC 10.68
- BARSIC 10.69
- BARSIC 10.70
- BARSIC 10.71
- BARSIC 10.72
- BARSIC 10.73
- BARSIC 10.74
- BARSIC 10.75
- BARSIC 10.76
- BARSIC 10.77
- BARSIC 10.78
- BARSIC 10.79
- BARSIC 10.80
- BARSIC 10.81
- BARSIC 10.82
- BARSIC 10.83
- BARSIC 10.84
- BARSIC 10.85
- BARSIC 10.86
- BARSIC 10.87
- BARSIC 10.88
- BARSIC 10.89
- BARSIC 10.90
- BARSIC 10.91
- BARSIC 10.92
- BARSIC 10.93
- BARSIC 10.94
- BARSIC 10.95
- BARSIC 10.96
- BARSIC 10.97
- BARSIC 10.98
- BARSIC 10.99
- BARSIC 11.00
- BARSIC 11.01
- BARSIC 11.02
- BARSIC 11.03
- BARSIC 11.04
- BARSIC 11.05
- BARSIC 11.06
- BARSIC 11.07
- BARSIC 11.08
- BARSIC 11.09
- BARSIC 11.10
- BARSIC 11.11
- BARSIC 11.12
- BARSIC 11.13
- BARSIC 11.14
- BARSIC 11.15
- BARSIC 11.16
- BARSIC 11.17
- BARSIC 11.18
- BARSIC 11.19
- BARSIC 11.20
- BARSIC 11.21
- BARSIC 11.22
- BARSIC 11.23
-
BARSIC
-
Basic
(диалекты:
Applesoft BASIC,
Commodore BASIC,
GW-BASIC,
MSX BASIC,
Microsoft BASIC,
Turbo BASIC,
Visual Basic)
- 1771-DB BASIC
- AMOS BASIC
- AT&T BASIC
- Altair BASIC
- AmigaBASIC
- Applesoft BASIC Interpreter in Javascript
- Applesoft Lite
- Atari Microsoft BASIC I/II
- BASIC A+
- BASIC-11
- BASIC-256
- BASICA
- Bywater BASIC
- Cassette BASIC
- Color BASIC
- Commodore BASIC
- DOS33
- Dartmouth BASIC
- EXIL
- FreeBASIC
- GW-BASIC
- Galaksija BASIC
- Great Cow BASIC
- MBASIC
- MSX BASIC
- Microsoft Visual Basic
- Mono VB.NET
- NBASIC
- PureBasic
- QBasic
- QuickBASIC
- STOS Basic
- SmallBASIC
- VB.NET
- VBScript
- Visual Basic for Applications
- WordBasic
- hbasic
- bc
- BCPL
- Befunge
- BitBitJump
- Boo
- Brainfuck (диалекты: Blub, Boolfuck, BrainSub, Braincopter, Brainfork, Brainloller, COW, Ook!, Pi, Smallfuck, Spoon, Unary, pbrain)
- C (диалекты: ANSI C, C11, C99, K&R C)
- C# (диалекты: Cω, ECMA-334, ISO/IEC 23270:2003, Polyphonic C#)
-
C++
(диалекты:
C++03,
C++11,
C++98)
- Acorn C/C++
- Borland C++ Builder
-
Digital Mars C/C++
- Digital Mars C/C++ 8.0
- Digital Mars C/C++ 8.10
- Digital Mars C/C++ 8.12
- Digital Mars C/C++ 8.13
- Digital Mars C/C++ 8.15
- Digital Mars C/C++ 8.17
- Digital Mars C/C++ 8.18
- Digital Mars C/C++ 8.18A
- Digital Mars C/C++ 8.18C
- Digital Mars C/C++ 8.18D
- Digital Mars C/C++ 8.18E
- Digital Mars C/C++ 8.20
- Digital Mars C/C++ 8.22
- Digital Mars C/C++ 8.23
- Digital Mars C/C++ 8.25
- Digital Mars C/C++ 8.26
- Digital Mars C/C++ 8.27
- Digital Mars C/C++ 8.28
- Digital Mars C/C++ 8.29
- Digital Mars C/C++ 8.30
- Digital Mars C/C++ 8.31
- Digital Mars C/C++ 8.32
- Digital Mars C/C++ 8.33
- Digital Mars C/C++ 8.34
- Digital Mars C/C++ 8.35
- Digital Mars C/C++ 8.36
- Digital Mars C/C++ 8.37
- Digital Mars C/C++ 8.38
- Digital Mars C/C++ 8.39
- Digital Mars C/C++ 8.40
- Digital Mars C/C++ 8.41
- Digital Mars C/C++ 8.42
- Digital Mars C/C++ 8.43
- Digital Mars C/C++ 8.44
- Digital Mars C/C++ 8.45
- Digital Mars C/C++ 8.46
- Digital Mars C/C++ 8.47
- Digital Mars C/C++ 8.48
- Digital Mars C/C++ 8.49
- Digital Mars C/C++ 8.50
- Intel C/C++
- MIPSpro C/C++
- Microsoft Visual C++
- Open Watcom C/C++
- Open64 C/C++
- PGI C++ Workstation
- Sun Studio C/C++
- Watcom C/C++
- g++
- Cat
- Ceylon
- Chef
- CHIP-8
- Clarion (диалекты: Clarion, Clarion for DOS, Clarion#)
- CMS-2
- COBOL
- Comment
- Cool
- CPL
- Cyclone
- D
- D4
- Dart
- DASL
- Dierickx D
- Dylan
- E
- ECMAScript (диалекты: ActionScript, JavaScript)
- Eiffel
- Entropy
- Erlang
- Euphoria (диалекты: orac)
- EXEC 2
- F#
- Factor
- Falcon
- FALSE
- FOCAL
- Foma
- Forth (диалекты: Toka)
- FORTRAN (диалекты: F, FORTRAN 66, FORTRAN 77, Fortran 2003, Fortran 2008, Fortran 90, Fortran 95, High Performance Fortran)
- FP
- Funky
- G
- G-code
- GAP
- Genius Extension Language
- gnuplot
- Go
- Grocery List
- Groovy
- Hack VM
- Hanoi Love
-
Haskell
(диалекты:
Haskell 98,
O'Haskell)
- GHC
- Gofer
- HBI и HBC
- Haskell++
- Helium
- Hugs
- Hugs98 for .NET
- Jaskell
- Jhc
- O'Hugs
- Template Haskell
- YHC
- Yale Haskell
-
nhc98
- nhc98 1.04
- nhc98 1.06
- nhc98 1.08
- nhc98 1.10
- nhc98 1.12
- nhc98 1.14
- nhc98 1.14a
- nhc98 1.16
- nhc98 1.18
- nhc98 pre-release 1
- nhc98 pre-release 10
- nhc98 pre-release 11
- nhc98 pre-release 12
- nhc98 pre-release 13
- nhc98 pre-release 14
- nhc98 pre-release 15
- nhc98 pre-release 16
- nhc98 pre-release 17
- nhc98 pre-release 18
- nhc98 pre-release 19
- nhc98 pre-release 2
- nhc98 pre-release 3
- nhc98 pre-release 4
- nhc98 pre-release 5
- nhc98 pre-release 6
- nhc98 pre-release 7
- nhc98 pre-release 8
- nhc98 pre-release 9
- nhc98 release 1.00
- nhc98 release 1.02
- HQ9+
- Icon (диалекты: Extended Icon)
- IDL
- Instruction List
- INTERCAL
- Io
- ISWIM
- J
- Java
- K
- KRC
- LabVIEW
- Ladder Diagram
- Limbo
- Lisp (диалекты: Clojure, Common Lisp, Lisp Machine Lisp, Scheme)
- Logo
- LOLCODE
- Lua
- LUX
- Malbolge
- MATLAB
- Mercury
- Mesa
- Miranda
-
ML
(диалекты:
CAML,
Standard ML)
- Caml Light
- Caml Special Light
- Dependent ML
- Edinburgh ML
- Extended ML
- GAML
- HaMLet
- HaMLet S
- Heavy CAML
- Lazy ML
- ML Kit
- MLj
- MLton
- MOSCOW ML
- MicroML
-
Objective CAML
- Objective Caml 1.00
- Objective Caml 1.01
- Objective Caml 1.02
- Objective Caml 1.03
- Objective Caml 1.04
- Objective Caml 1.05
- Objective Caml 1.06
- Objective Caml 1.07
- Objective Caml 2.00
- Objective Caml 2.01
- Objective Caml 2.02
- Objective Caml 2.03
- Objective Caml 2.04
- Objective Caml 3.00
- Objective Caml 3.01
- Objective Caml 3.02
- Objective Caml 3.03 ALPHA
- Objective Caml 3.04
- Objective Caml 3.05
- Objective Caml 3.06
- Objective Caml 3.07
- Objective Caml 3.08.0
- Objective Caml 3.08.1
- Objective Caml 3.08.2
- Objective Caml 3.08.3
- Objective Caml 3.08.4
- Objective Caml 3.09.0
- Objective Caml 3.09.1
- Objective Caml 3.09.2
- Objective Caml 3.09.3
- Objective Caml 3.10.0
- Objective Caml 3.10.2
- Poly/ML
- SML#
- SML.NET
-
SML/NJ
- SML/NJ 110.41
- SML/NJ 110.43
- SML/NJ 110.40
- SML/NJ 110.42
- SML/NJ 110.44
- SML/NJ 110.45
- SML/NJ 110.46
- SML/NJ 110.47
- SML/NJ 110.48
- SML/NJ 110.49
- SML/NJ 110.50
- SML/NJ 110.51
- SML/NJ 110.52
- SML/NJ 110.53
- SML/NJ 110.54
- SML/NJ 110.55
- SML/NJ 110.56
- SML/NJ 110.57
- SML/NJ 110.58
- SML/NJ 110.59
- SML/NJ 110.60
- SML/NJ 110.61
- SML/NJ 110.62
- SML/NJ 110.63
- SML/NJ 110.63.1
- SML/NJ 110.63.2
- SML/NJ 110.64
- SML/NJ 110.65
- SML/NJ 110.69
- SMLtoJs
- Successor ML
- TILT
- sml2c
- Modula (диалекты: Modula-2, Modula-2+, Modula-3, Objective Modula-2)
- Nemerle
- Nesla
- Nimrod
- Oberon (диалекты: Active Oberon, Component Pascal, Oberon, Oberon-2, Zonnon)
- Objeck
- Objective-C
- Omgrofl
- Onyx
- Opa
- Oz (диалекты: Mozart)
-
Pascal
(диалекты:
Extended Pascal,
Object Pascal,
PASCAL-XSC,
Standard Pascal)
- Borland Delphi
- Borland Pascal
- Free Pascal
- GNU Pascal
- HP Pascal
- HiSoft Pascal
- IP Pascal
- Irie Pascal
-
Pascal ABC
- Pascal ABC 1.7
- Pascal ABC 1.8
- Pascal ABC 1.9
- Pascal ABC 2.0
- Pascal ABC 2.1
- Pascal ABC 2.2
- Pascal ABC 2.3
- Pascal ABC 2.4
- Pascal ABC 2.5
- Pascal ABC 2.5.3
- Pascal ABC 2.6
- Pascal ABC 2.6.2
- Pascal ABC 2.6.3
- Pascal ABC 2.6.4
- Pascal ABC 2.6.5
- Pascal ABC 2.7
- Pascal ABC 2.7.2
- Pascal ABC 2.7.3
- Pascal ABC 2.7.4
- Pascal ABC 3.0
- Pascal-XT
- PascalABC.NET
- Prospero Extended Pascal
- Turbo Pascal
- UCSD Pascal
- Virtual Pascal
- Perl
- PHP
- Picat
- Piet
- Pike
- PL-11
- PL-516
- PL/0
- PL/65
- PL/B
- PL/C
- PL/I
- PL/M
- Plankalkül
- POP-11
- PowerShell
- Processing
-
Prolog
(диалекты:
Edinburgh Prolog,
ISO Prolog,
Strawberry Prolog)
- Arity Prolog
- Arity/Prolog32
-
B-Prolog
- B-Prolog 1.0
- B-Prolog 1.2
- B-Prolog 1.5
- B-Prolog 1.6
- B-Prolog 2.0
- B-Prolog 2.1
- B-Prolog 3.0
- B-Prolog 3.1
- B-Prolog 3.2
- B-Prolog 4.0
- B-Prolog 5.0
- B-Prolog 5.0-a
- B-Prolog 5.0-b
- B-Prolog 6.0
- B-Prolog 6.0 beta
- B-Prolog 6.1
- B-Prolog 6.2
- B-Prolog 6.4
- B-Prolog 6.5
- B-Prolog 6.6
- B-Prolog 6.7
- B-Prolog 6.7-1
- B-Prolog 6.7-3
- B-Prolog 6.8
- B-Prolog 6.9
- B-Prolog 7.0
- B-Prolog 7.1beta4
- B-Prolog 7.4-3
- B-Prolog 8.0
- BinProlog
- Brain Aid Prolog
- Ciao Prolog
- CxProlog
- ECLiPSe CLP
- EZY Prolog
- GNU Prolog
- IF/Prolog
- JIProlog
- K-Prolog
- MINERVA
- Open Prolog
- PDC/Turbo Prolog
- Poplog (Prolog)
- Qu-Prolog
- SICStus Prolog
- SWI-Prolog
- Trinc-Prolog
- Visual Prolog
- YAP
- Python
- R
- REFAL
- REXX
- Roco
- RPL
- Ruby
- Rust
- S-lang
- Sanscript
- SASL
-
Scala
-
Scala for JVM
- Scala 1.0.0-b2
- Scala 1.0.0-b4
- Scala 1.0.0-b5
- Scala 1.0.0-b6
- Scala 1.0.0-b8
- Scala 1.1.0-b1
- Scala 1.1.0-b3
- Scala 1.1.1.0
- Scala 1.1.1.3
- Scala 1.2.0.0
- Scala 1.2.0.1
- Scala 1.3.0.10
- Scala 1.3.0.2
- Scala 1.3.0.3
- Scala 1.3.0.4
- Scala 1.3.0.7
- Scala 1.3.0.9
- Scala 1.4.0.0
- Scala 1.4.0.1
- Scala 1.4.0.2
- Scala 1.4.0.3
- Scala 1.4.0.4
- Scala 2.0.0
- Scala 2.1.0
- Scala 2.1.1
- Scala 2.1.2
- Scala 2.1.3
- Scala 2.1.4
- Scala 2.1.5
- Scala 2.1.6
- Scala 2.1.7
- Scala 2.1.8
- Scala 2.2.0
- Scala 2.3.0
- Scala 2.3.1
- Scala 2.3.2
- Scala 2.3.3
- Scala 2.4.0-final
- Scala 2.5.0-final
- Scala 2.5.1-final
- Scala 2.6.0-final
- Scala 2.7.7-final
- Scala 2.8.0-final
-
Scala for JVM
- Scratch
- Seed7
- Shakespeare
- Simula (диалекты: Simula-67)
- Smalltalk (диалекты: Smalltalk-80)
- SNOBOL
- Sparkel
- SQL (диалекты: T-SQL)
- Squirrel
- STAF/STAX
- Tcl
- TermWare
- TeX
- Unix shell (диалекты: Bourne shell)
- Unlambda
- Vala
- VHDL
- Whirl
- Whitespace
- Wolfram Mathematica
- X10
- XC
- Аналитик
- Глагол
- ДССП
- ПРОФТ
- РАПИРА