Язы́к программи́рования — формальный язык, предназначенный для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель под её управлением.
Сильная и слабая типизация или строгая и нестрогая типизация — характеристика системы типов языка программирования, отражающая существенные ограничения на приведение типов при присваиваниях и операциях. Языки, в которых такие ограничения менее строгие, называют — слабо типизированными.
OCaml — объектно-ориентированный язык функционального программирования общего назначения. Был разработан с учётом безопасности исполнения и надёжности программ. Поддерживает функциональную, императивную и объектно-ориентированную парадигмы программирования. Самый распространённый в практической работе диалект языка ML.
Standard ML (SML) — компилируемый язык программирования общего назначения высшего порядка, основанный на системе типов Хиндли — Милнера.
Полиморфизм в языках программирования и теории типов — способность функции обрабатывать данные разных типов.
Обобщённый алгебраический тип да́нных — один из видов алгебраических типов данных, который характеризуется тем, что его конструкторы могут возвращать значения не своего типа, связанного с ним. Сконструированы под влиянием работ об индуктивных семействах в среде исследователей зависимых типов.

OpenAL — кроссплатформенный интерфейс программирования приложений (API) для работы с аудиоданными. Ключевой особенностью является работа со звуком в 3D-пространстве и использование эффектов EAX. Поддерживается компанией Creative.
Арифметика Пресбургера — это теория первого порядка, описывающая натуральные числа со сложением, но в отличие от арифметики Пеано, исключающая высказывания относительно умножения. Названа в честь польского математика Мойжеша Пресбургера, который в 1929 году предложил соответствующую систему аксиом в логике первого порядка, а также показал её разрешимость.

Launchpad — веб-сайт с системой совместной разработки программного обеспечения, разрабатываемый и обслуживаемый компанией Canonical. Доступ предоставляется бесплатно разработчикам открытого программного обеспечения, также существует платная подписка на услуги по публично-облачной модели для разработчиков программ с закрытым исходным кодом.
Portable C Compiler — один из ранних компиляторов для языка C, написанный Стивеном С. Джонсоном из Bell Labs в середине 70-х, основываясь частично на разработках Алана Снидера.
Языки квантового программирования — языки программирования, позволяющие выражать квантовые алгоритмы с использованием высокоуровневых конструкций. Их цель не столько создание инструмента для программистов, сколько предоставление средств для исследователей для облегчения понимания работы квантовых вычислений.
В компьютерных технологиях, программная транзакционная память представляет собой механизм управления параллелизмом, аналогичный механизму транзакций баз данных для управления доступом к совместно используемой памяти в параллельных вычислениях. Это альтернатива для синхронизации на основе блокировки. Транзакция в этом контексте является частью кода, который выполняет считывание и запись в разделяемую память. Считывание и запись логически происходит в единичный момент времени, а промежуточные состояния невидимы для других (результативных) транзакций. Идея обеспечения транзакций аппаратной поддержкой зародилась в 1986 году в работе и патенте Тома Найта. Идея получила публичное освещение благодаря Морису Херлихи и Элиоту Моссу. В 1995 году Нир Шавит и Дэн Тойту дополнили эту идею до программной транзакционной памяти (SТМ). STM по-прежнему находится в центре интенсивных исследований; возрастает её поддержка для практических реализаций.
Анализ потока управления — это статический анализ кода для определения порядка выполнения программы. Порядок выполнения выражается в виде графа потока управления.
Клу — объектно-ориентированный язык программирования, одним из первых реализовавший концепцию абстрактных типов данных и парадигму обобщённого программирования. Создан группой учёных Массачусетского технологического института под руководством Барбары Лисков в 1974 году, широкого применения в практике не нашёл, однако многие его элементы использованы при создании таких языков, как Ада, C++, Java, Sather, Python, C#.
Параметрический полиморфизм в языках программирования и теории типов — свойство семантики системы типов, позволяющее обрабатывать значения разных типов идентичным образом, то есть исполнять физически один и тот же код для данных разных типов.
Логика разделения, сепарационная логика — формальная система, субструктурная логика, применимая к верификации программ, содержащих изменяемые структуры данных и указатели, расширение логики Хоара. Разработана Джоном Рейнольдсом, Питером О’Хирном, Самином Иштиаком и Хонсёком Яном на основе работ Рода Бёрстола. Язык утверждений логики разделения является специальным случаем логики пучковых импликаций.
Язык модулей ML — система модулей, используемая преимущественно в языках программирования семейства ML, имеющая аппликативную семантику, иначе говоря, представляющая собой небольшой функциональный язык, оперирующий модулями.
Дефункционализация в программировании — техника преобразования программы на этапе компиляции, заменяющая функции высшего порядка на вызов одной-единственной функции применения функции к аргументу.
Джеймс Хирам Моррис — учёный в области информатики. Занимал должность декана в школе информатики Карнеги — Меллона, а также в кампусе университета Карнеги — Меллона в кремниевой долине.
Управление памятью на основе регионов — способ управления памятью, при котором каждый создаваемый в памяти объект приписывается к определённому «региону».