Лисп — семейство языков программирования, программы и данные в которых представляются системами линейных списков символов. Лисп был создан Джоном Маккарти для работ по искусственному интеллекту и до сих пор остаётся одним из основных инструментальных средств в данной области. Применяется он и как средство обычного промышленного программирования, от встроенных скриптов до веб-приложений массового использования, хотя популярным его назвать нельзя.
Объе́ктно-ориенти́рованное программи́рование (ООП) — методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию наследования.
Полиморфизм в языках программирования и теории типов — способность функции обрабатывать данные разных типов.
CORBA — технологический стандарт написания распределённых приложений, продвигаемый консорциумом OMG и соответствующая ему информационная технология. CORBA обеспечивает взаимодействие между системами, работающими под разными операционными системами, написанными на разных языках программирования и запущенных на разном вычислительном оборудовании. CORBA использует объектно-ориентированную модель, хотя системы, использующие CORBA, не обязательно должны быть объектно-ориентированными. CORBA — это пример парадигмы распределенной объектной системы.
Dylan — динамический объектно-ориентированный язык программирования, нацеленный на быструю разработку программ, разработанный, прежде всего, усилиями Apple.
Мно́жественное насле́дование — свойство, поддерживаемое частью объектно-ориентированных языков программирования, когда класс может иметь более одного суперкласса, интерфейсы поддерживают множественное наследование во многих языках программирования. Эта концепция является расширением «простого наследования», при котором класс может наследоваться только от одного суперкласса.
Отражение — процесс, во время которого программа может отслеживать и модифицировать собственную структуру и поведение во время выполнения. Парадигма программирования, положенная в основу отражения, является одной из форм метапрограммирования и называется рефлексивным программированием.
Мультиме́тод или мно́жественная диспетчериза́ция — механизм, позволяющий выбрать одну из нескольких функций в зависимости от динамических типов или значений аргументов. Представляет собой расширение одиночной диспетчеризации, где выбор метода осуществляется динамически на основе фактического типа объекта. Множественная диспетчеризация обобщает динамическую диспетчеризацию для случаев с двумя или более объектами.
Io — скриптовый, чисто объектно-ориентированный язык программирования с динамической типизацией. Язык был разработан Стивом Декортом в 2002 году. Реализация является кроссплатформенной, открытой и рассчитана на лёгкость встраивания в качестве скриптового языка.
Предметно-ориентированный язык — компьютерный язык, специализированный для конкретной области применения. Построение такого языка и/или его структура данных отражают специфику решаемых с его помощью задач. Является ключевым понятием языково-ориентированного программирования.
Интерфе́йс — программная/синтаксическая структура, определяющая отношение между объектами, которые разделяют определённое поведенческое множество и не связаны никак иначе. При проектировании классов, разработка интерфейса тождественна разработке спецификации.
Common Lisp — диалект языка программирования Лисп, стандартизированный ANSI. Был разработан с целью объединения разрозненных на момент начала 1980-х годов диалектов Лиспа; доступно несколько реализаций Common Lisp, как коммерческих, так и свободно распространяемых.
Emacs Lisp — диалект языка программирования Lisp, используемый в текстовых редакторах GNU Emacs и XEmacs. Бо́льшая часть Emacs реализована на Emacs Lisp. Иногда также сокращённо называется elisp, хотя может возникнуть путаница со старым диалектом, имеющим такое же название и никак не связанным с Emacs Lisp.
Common Type System — часть .NET Framework, формальная спецификация, определяющая, как какой-либо тип должен быть определён для его правильного выполнения средой .NET. Кроме того, данный стандарт определяет, как определения типов и специальные значения типов представлены в компьютерной памяти. Целью разработки CTS было обеспечение возможности программам, написанным на различных языках программирования, легко обмениваться информацией. Как это принято в языках программирования, тип может быть описан как определение набора допустимых значений и допустимых операций над этими значениями.
MACLISP — диалект языка программирования Lisp, разработанный в лаборатории искусственного интеллекта MIT, которая в то время называлась Project MAC
Метакласс — в объектно-ориентированном программировании это класс, экземпляры которого в свою очередь являются классами.
Программирование, управляемое данными представляет собой метод или даже парадигму программирования, при котором программный код, хотя и отделён от входных данных, но спроектирован таким образом, что логика программы определяется входными данными. В программе, управляемой данными, часть или даже все её свойства устанавливаются во время выполнения, что особенно важно, если программа составляется пользователем или должна им изменяться без перекомпиляции.
Kawa — реализация языка Scheme, диалекта языка Лисп, обеспечивающая тесную интеграцию с java-окружением.
PicoLisp — минималистичный свободный диалект языка программирования Лисп, рассчитанный на использование на Linux и других POSIX-системах.
ISLISP язык программирования из семейства языков LISP, спецификация которого была разработана рабочей группой ISO/IEC JTC 1/SC 22/WG 16. Целью разработки было определение компактного языка, который объединял бы в себе общие черты реально используемых в промышленных целях диалектов Лиспа и мог бы помочь преодолеть различия между ними.