Язы́к программи́рования — формальный язык, предназначенный для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель под её управлением.

Алго́л — название ряда языков программирования, применяемых при составлении программ для решения научно-технических задач на ЭВМ. Разработан комитетом по языку высокого уровня IFIP в 1958-1960 годах. Кардинально переработан в 1964-1968 годах. Один из первых языков высокого уровня. Был популярен в Европе, в том числе в СССР, в качестве языка как практического программирования, так и академического языка, но в США и Канаде не смог превзойти распространённый там Фортран. Оказал заметное влияние на все разработанные позднее императивные языки программирования — в частности, на язык Pascal.

UML — язык графического описания для объектного моделирования в области разработки программного обеспечения, для моделирования бизнес-процессов, системного проектирования и отображения организационных структур.

Форма́льный язы́к в математической логике, информатике и лингвистике — множество конечных слов над конечным алфавитом. Понятие языка чаще всего используется в теории автоматов, теории вычислимости и теории алгоритмов. Научная теория, которая имеет дело с этим объектом, называется теорией формальных языков.
Форма Бэкуса — Наура — формальная система описания синтаксиса, в которой одни синтаксические категории последовательно определяются через другие категории. БНФ используется для описания контекстно-свободных формальных грамматик. Существует расширенная форма Бэкуса — Наура, отличающаяся лишь более ёмкими конструкциями.
yacc — компьютерная программа, служащая стандартным генератором синтаксических анализаторов (парсеров) в Unix-системах. Название является акронимом «Yet Another Compiler Compiler». Yacc генерирует парсер на основе аналитической грамматики, описанной в нотации BNF или контекстно-свободной грамматики. На выходе yacc выдаётся код парсера на языке программирования Си.

Джон Бэкус — американский учёный в области информатики, руководитель команды создателей первого высокоуровневого языка программирования Фортран, изобретатель формы Бэкуса — Наура — одной из самых распространённых и универсальных нотаций для определения синтаксиса формальных языков, лауреат премии Тьюринга (1977).
Аппликативное программирование — один из видов декларативного программирования, в котором написание программы состоит в систематическом осуществлении применения одного объекта к другому. Результатом такого применения вновь является объект, который может участвовать в применениях как в роли функции, так и в роли аргумента и так далее. Это делает запись программы математически ясной. Тот факт, что функция обозначается выражением, свидетельствует о возможности использования значений-функций — функциональных объектов — на равных правах с прочими объектами, которые можно передавать как аргументы, либо возвращать как результат вычисления других функций.
Z-нота́ция — формальный язык спецификации, используемый для описания и моделирования программ и их формальной верификации.
UniTESK — технология тестирования программного и аппаратного обеспечения на основе формальных спецификаций, разработанная в Институте системного программирования РАН. Технология представляет собой сочетание хорошо зарекомендовавших себя техник, которые могут применяться в различных комбинациях, взаимно сочетаясь и усиливая друг друга. Это делает технологию гибкой и настраиваемой под существующие процессы разработки на всех этапах жизненного цикла разработки программного обеспечения от сбора и анализа требований до сопровождения.
Исчисление взаимодействующих систем в информатике — исчисление процессов, разработанное Робином Милнером в 1980 году. Исчисление работает с моделью неразделяемых коммуникаций между ровно двумя участниками. Формальный язык включает примитивы для описания параллельной композиции, выбора между действиями и рамки ограничений. CCS полезен для оценки качественной корректности свойств таких как взаимная блокировка или «живая блокировка».

В информатике и инженерии программного обеспечения формальными методами называется группа техник, основанных на математическом аппарате для спецификации, разработки и верификации программного и аппаратного обеспечения. Использование формальных методов для проектирования программного и аппаратного обеспечения обусловлено ожиданиями того, что, как и в других инженерных областях, использование математического анализа может существенно поднять надёжность систем. При этом формальные методы довольно сложны, требуют специальной подготовки, временных и ресурсных вложений, и при этом нередко основываются на не всегда достижимых в реальных условиях предположениях. Это приводит к тому, что формальные методы чаще всего находят применение в проектировании высокоточных систем, где важность безопасности оправдывает любые средства.
Specification and Description Language (SDL) — это язык спецификаций с формальной семантикой. Предназначен для получения недвусмысленных описания поведения реактивных и распределенных систем. Разработан и стандартизован МККТТ. Основывается на моделях расширенных конечных автоматов для описания поведения системы и абстрактных типах данных. Является смешанным языком спецификаций, так как позволяет определять как динамическую часть системы, так и статическую.

Мета-объектное средство — это стандарт для разработки, управляемой моделями, разработанный OMG.
TLA+ — язык спецификаций, основанный на теории множеств, логике первого порядка и темпоральной логике действий (англ. TLA, temporal logic of actions). Разработан Лесли Лэмпортом, исследователем теории распределённых систем.
Estelle — метод формального описания распределённых систем, коммуникационных протоколов, основанный на расширенной конечно-автоматной модели. Разработан и стандартизован ISO для описания протоколов модели OSI. Раздельно определяет как общую архитектуру распределённой системы, так и поведение отдельных компонентов. Использует синтаксис стандартного языка Паскаль.
LOTOS — стандартизованный язык спецификации, первоначально предназначавшийся для описания коммуникационных и распределённых систем. LOTOS состоит из двух взаимодополняющих языков: язык описания абстрактных типов данных ACT ONE и язык описания поведения в виде алгебры процессов.

Теория языков программирования — раздел информатики, посвящённый вопросам проектирования, анализа, определения характеристик и классификации языков программирования и изучением их индивидуальных особенностей. Тесно связана с другими ветвями информатики, результаты теории используются в математике, в программной инженерии и лингвистике.
Спецификация (стандарт, определение) языка программирования — это предмет документации, который определяет язык программирования, чтобы пользователи и разработчики языка могли согласовывать, что означают программы на данном языке. Спецификации обычно являются подробными и формальными и в основном используются разработчиками языка, в то время как пользователи обращаются к ним в случае двусмысленности: например, спецификация языка C++ часто цитируется пользователями из-за сложности. Сопутствующая документация включает справочник по языку программирования, который специально предназначен для пользователей, и логическое обоснование языка программирования, которое объясняет, почему спецификация написана именно так; последние обычно более неформальны, чем спецификации.
Редько Владимир Никифорович — академик НАН Украины (2000), доктор физико-математических наук, профессор, Заслуженный деятель науки и техники Украины.