Язы́к программи́рования — формальный язык, предназначенный для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель под её управлением.
++ — компилируемый, статически типизированный язык программирования общего назначения.
Система типов — совокупность правил в языках программирования, назначающих свойства, именуемые типами, различным конструкциям, составляющим программу — таким как переменные, выражения, функции или модули. Основная роль системы типов заключается в уменьшении числа багов в программах посредством определения интерфейсов между различными частями программы и последующей проверки согласованности взаимодействия этих частей. Эта проверка может происходить статически или динамически, а также быть комбинацией обоих видов.
Объе́ктно-ориенти́рованное программи́рование (ООП) — методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию наследования.
Объектно-ориентированный язык программирования (ОО-язык) — язык, построенный на принципах объектно-ориентированного программирования.
OCaml — объектно-ориентированный язык функционального программирования общего назначения. Был разработан с учётом безопасности исполнения и надёжности программ. Поддерживает функциональную, императивную и объектно-ориентированную парадигмы программирования. Самый распространённый в практической работе диалект языка ML.
Standard ML (SML) — компилируемый язык программирования общего назначения высшего порядка, основанный на системе типов Хиндли — Милнера.
Полиморфизм в языках программирования и теории типов — способность функции обрабатывать данные разных типов.
Коммента́рии — пояснения к исходному тексту программы, находящиеся непосредственно внутри комментируемого кода. Синтаксис комментариев определяется языком программирования. С точки зрения компилятора или интерпретатора, комментарии — часть текста программы, не влияющая на её семантику. Комментарии не оказывают никакого влияния на результат компиляции программы или её интерпретацию. Помимо исходных текстов программ, комментарии также применяются в языках разметки и языках описания.
Инкапсуляция — в информатике, процесс разделения элементов абстракций, определяющих её структуру (данные) и поведение (методы); инкапсуляция предназначена для изоляции контрактных обязательств абстракции (протокол/интерфейс) от их реализации. На практике это означает, что класс должен состоять из двух частей: интерфейса и реализации. В реализации большинства языков программирования обеспечивается механизм сокрытия, позволяющий разграничивать доступ к различным частям компонента.
Абстра́ктный тип да́нных (АТД) — это математическая модель для типов данных, где тип данных определяется поведением (семантикой) с точки зрения пользователя данных, а именно в терминах возможных значений, возможных операций над данными этого типа и поведения этих операций.
Инкапсуля́ция — размещение в оболочке, изоляция, закрытие чего-либо инородного с целью исключения влияния на окружающее. Например, поместить радиоактивные отходы в капсулу, закрыть кожухом механизм, убрать мешающее в ящик или шкаф.
- Инкапсуляция в медицине и в зоологии — образование соединительнотканной капсулы, часто с последующим её обызвествлением, вокруг чуждых для организма веществ. Также термин «микрокапсулирование» используется в технологии защиты инородных терапевтических клеток, секретирующих лекарственный препарат, от иммунной системы организма с помощью микрокапсул из полупроницаемой, но иммунозащитной мембраны.
- Инкапсуляция в информатике, программировании — обеспечение доступности главного, выделение основного содержания путём помещения всего мешающего, второстепенного в некую условную капсулу.
- Инкапсуляция в логике — элемент процесса абстрагирования.
- Инкапсуляция в приборостороении — нанесение защитных оболочковых покрытий, тонких плёнок. Широко применяется в процессе создания микроэлектроники и печатных плат.
- Инкапсуляция — метод построения модульных сетевых протоколов
Объе́кт в программировании — сущность в цифровом пространстве, обладающая состоянием и поведением, имеющая поля и методы. Как правило, при рассмотрении объектов выделяется то, что объекты принадлежат одному или нескольким классам, которые определяют поведение объекта. Термины «экземпляр класса» и «объект» взаимозаменяемы. Аналогия: объект — то, что сделали по чертежу, класс — это чертёж.
Склеро́з — замена функциональной ткани органов плотной соединительной тканью. Склероз не является самостоятельным заболеванием, а служит проявлением другого основного заболевания.
Мо́дульное программи́рование — организация программы как совокупности небольших независимых блоков, называемых модулями, структура и поведение которых подчиняются определённым правилам.
Инкапсуля́ция в компью́терных сетя́х — это метод построения модульных сетевых протоколов, при котором логически независимые функции сети абстрагируются от нижележащих механизмов путём включения или инкапсулирования этих механизмов в более высокоуровневые объекты. Например, когда приложению требуется послать сообщение с помощью UDP, то производится последовательность действий:
- в первую очередь приложение заполняет специальную структуру данных, в которой указывает информацию о получателе ;
- передаёт сообщение, его длину и структуру с информацией о получателе обработчику протокола UDP ;
- обработчик UDP формирует датаграмму, в которой в качестве данных выступает сообщение, а в заголовках находится UDP-порт получателя ;
- обработчик UDP передаёт сформированную датаграмму обработчику IP ;
- обработчик IP рассматривает переданную UDP датаграмму как данные и предваряет их своим заголовком ;
- полученный пакет обработчик IP передаёт на канальный уровень, который опять-таки рассматривает данный пакет как «сырые» данные;
- обработчик канального уровня, аналогично предыдущим обработчикам, добавляет в начало свой заголовок и, в большинстве случаев, добавляет конечную контрольную сумму, тем самым формируя кадр;
- далее полученный кадр передаётся на физический уровень, который осуществляет преобразование битов в электрические или оптические сигналы и посылает их в среду передачи.
Запись — агрегатный тип данных, инкапсулирующий без сокрытия набор значений различных типов.
Тип-произведение — конструкция в языках программирования и интуиционистской теории типов, тип данных, построенный как декартово произведение исходных типов; другими словами — кортеж типов, или «кортеж как тип». Использованные типы и порядок их следования определяют сигнатуру типа-произведения; порядок следования объектов в создаваемом кортеже сохраняется на протяжении его времени жизни согласно заданной сигнатуре.
Типобезопасность — свойство языка программирования, характеризующее безопасность и надёжность в применении его системы типов.
Язык модулей ML — система модулей, используемая преимущественно в языках программирования семейства ML, имеющая аппликативную семантику, иначе говоря, представляющая собой небольшой функциональный язык, оперирующий модулями.