Функциона́льное программи́рование — парадигма программирования, в которой процесс вычисления трактуется как вычисление значений функций в математическом понимании последних.
Вывод типов — в программировании возможность компилятора самому логически вывести тип значения у выражения. Впервые механизм вывода типов был представлен в языке ML, где компилятор всегда выводит наиболее общий полиморфный тип для всякого выражения. Это не только сокращает размер исходного кода и повышает его лаконичность, но и нередко повышает повторное использование кода.
Haskell — стандартизированный чистый функциональный язык программирования общего назначения. Является одним из самых распространённых языков программирования с поддержкой отложенных вычислений. Система типов — полная, сильная, статическая, с автоматическим выводом типов, основанная на системе типов Хиндли — Милнера. Поскольку язык функциональный, то основная управляющая структура — это функция.
Сценарный язык — высокоуровневый язык сценариев — кратких описаний действий, выполняемых системой. Разница между программами и сценариями довольно размыта. Сценарий — это программа, имеющая дело с готовыми программными компонентами, которые, однажды загруженные, в своей работе не зависят от дальнейшего наличия / отсутствия подключения к Сети.
Scala — мультипарадигмальный язык программирования, спроектированный кратким и типобезопасным для простого и быстрого создания компонентного программного обеспечения, сочетающий возможности функционального и объектно-ориентированного программирования.
Io — скриптовый, чисто объектно-ориентированный язык программирования с динамической типизацией. Язык был разработан Стивом Декортом в 2002 году. Реализация является кроссплатформенной, открытой и рассчитана на лёгкость встраивания в качестве скриптового языка.
Компилируемый язык программирования — язык программирования, исходный код которого преобразуется компилятором в машинный код и записывается в файл, с особым заголовком и/или расширением, для последующей идентификации этого файла, как исполняемого, операционной системой.
Мона́да — особый тип данных в функциональных языках программирования, для которого возможно задать императивную последовательность выполнения некоторых операций над хранимыми значениями. Монады позволяют задавать последовательность выполнения операций, производить операции с побочными эффектами и другие действия, которые сложно или вовсе невозможно реализовать в функциональной парадигме программирования другими способами.
REPL — форма организации простой интерактивной среды программирования в рамках средств интерфейса командной строки. Чаще всего этой аббревиатурой характеризуется интерактивная среда языка программирования Лисп, однако такая форма характерна и для интерактивных сред языков Erlang, Groovy, Haskell, Java, JavaScript, Perl, PHP, Python, Ruby, Scala, Smalltalk, Swift, Tcl и других.
Реактивное программирование — парадигма программирования, ориентированная на потоки данных и распространение изменений. Это означает, что должна существовать возможность легко выражать статические и динамические потоки данных, а также то, что нижележащая модель исполнения должна автоматически распространять изменения благодаря потоку данных.
Clojure — современный диалект Лиспа, язык программирования общего назначения с поддержкой разработки в интерактивном режиме, поощряющий функциональное программирование и упрощающий поддержку многопоточности. Clojure работает на платформах JVM и CLR. Clojure отличает философия «код как данные» (гомоиконность) и развитая система лисп-макросов.
Программная платформа Java — ряд программных продуктов и спецификаций компании Sun Microsystems, ранее независимой компании, а ныне дочерней компании корпорации Oracle, которые совместно предоставляют систему для разработки прикладного программного обеспечения и встраивания её в любое кросс-платформенное программное обеспечение. Java используется в самых разных компьютерных платформах от встраиваемых устройств и мобильных телефонов в нижнем ценовом сегменте, до корпоративных серверов и суперкомпьютеров в высшем ценовом сегменте.
Байт-код Java — набор инструкций, исполняемых виртуальной машиной Java. Каждый код операции байт-кода — один байт; используются не все 256 возможных значений кодов операций, 51 из них зарезервирован для использования в будущем.
Kotlin (Ко́тлин) — статически типизированный, объектно-ориентированный язык программирования, работающий поверх Java Virtual Machine и разрабатываемый компанией JetBrains. Также компилируется в JavaScript и в исполняемый код ряда платформ через инфраструктуру LLVM. Язык назван в честь российского острова Котлин в Финском заливе, на котором расположен город Кронштадт.
В данном списке представлены языки программирования, которые используются для создания программного обеспечения, использующего в качестве среды выполнения виртуальную машину Java (JVM). Некоторые из этих языков интерпретируются, а некоторые компилируются в байт-код Java и компилируются «на лету» во время исполнения.
Nashorn — движок JavaScript, разрабатываемый полностью на языке программирования Java компанией Oracle. Основан на Da Vinci Machine и доступен в составе Java 8.
Ceylon — объектно-ориентированный язык программирования высокого уровня со строгой статической типизацией и комплект средств разработки, разрабатываемые компанией Red Hat. Язык основан на Java, а программы написанные на Ceylon могут быть запущены на виртуальных машинах Java или на движке JavaScript.
ClojureScript — реализация языка Лиспа с компиляцией в JavaScript, что позволяет использовать Clojure для веб-программирования на стороне клиента.
Idris — чистый тотальный функциональный язык программирования общего назначения с Haskell-подобным синтаксисом и поддержкой зависимых типов. Система типов подобна системе типов языка Agda.