Модуль (программирование)

Модуль (программирование)

Модуль — функционально законченный фрагмент программы, оформленный в виде отдельного файла с исходным кодом или поименованной непрерывной её части (например, Active Oberon), предназначенный для использования в других программах. Модули позволяют разбивать сложные задачи на более мелкие в соответствии с принципом модульности. Обычно проектируются таким образом, чтобы предоставлять программистам удобную для многократного использования функциональность (интерфейс) в виде набора функций, классов, констант. Модули могут объединяться в пакеты и, далее, в библиотеки. Удобство использования модульной архитектуры заключается в возможности обновления (замены) модуля, без необходимости изменения остальной системы. В большинстве случаев различные модули могут запускаться как на одном сервере, так и на разных, для распределения нагрузки и создания распределенной архитектуры.

История концепции модулей

История концепции модулей, как единиц компиляции, восходит к языкам Фортран II и Кобол, то есть к концу 1950-х годов[1][2]. В 1976 году появилась публикация, в которой была развита концепция модульности — о языке Mesa (англ.), который был разработан в Xerox PARC. В 1977 году подробно ознакомился с этой концепцией ученый Никлаус Вирт, общаясь с разработчиками в Xerox PARC.[3] Эти идеи были использованы Виртом при создании языка Модула-2, публикация о котором вышла в 1977 году[4].

Поддерживающие языки

Языки формально поддерживающие концепцию модулей: IBM S/360 Assembler, Кобол, RPG, ПЛ/1, Ада, D, F  (англ.), Фортран, Haskell, Blitz BASIC, OCaml, Паскаль, ML, Модула-2, Оберон, Компонентный Паскаль, Zonnon, Erlang, Perl, Python и Ruby. В IBM System i использовались «модули» от языков RPG, Кобол и CL, когда программировалась в среде ILE.

Модульное программирование может быть осуществлено, даже когда синтаксис языка программирования не поддерживает явное задание имён модулям.

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

Примечания

  1. A brief history of FORTRAN
  2. COBOL Subprograms
  3. Никлаус Вирт. Краткая история Modula и Lilith, перевод с англ. с комментариями в тексте Р. Богатырева
  4. The History of Modula-2 and Oberon

Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "Модуль (программирование)" в других словарях:

  • Модуль — (от лат. modulus  «маленькая мера»): В Викисловаре есть статья «модуль» Мо …   Википедия

  • Модуль (значения) — Модуль (от лат. modulus  «маленькая мера»)  составная часть, отделимая или хотя бы мысленно выделяемая из общего. Модульной обычно называют вещь, состоящую из чётко выраженных частей, которые нередко можно убирать или добавлять, не разрушая вещь… …   Википедия

  • Контрактное программирование — (design by contract (DbC), programming by contract, contract based programming)  это метод проектирования программного обеспечения. Он предполагает, что проектировщик должен определить формальные, точные и верифицируемые спецификации… …   Википедия

  • Связанность (программирование) — Связанность (англ. coupling) или зависимость (англ. dependency) характеристика взаимосвязи модуля с другими модулями. Это степень, в которой каждый программный модуль полагается на другие модули. Связанность обычно… …   Википедия

  • Функциональное программирование на Питоне — Функциональное программирование является одной из парадигм, поддерживаемых языком программирования Python. Основными предпосылками для полноценного функционального программирования в Python являются: функции высших порядков, развитые средства… …   Википедия

  • Функциональное программирование на Python — Функциональное программирование является одной из парадигм, поддерживаемых языком программирования Python. Основными предпосылками для полноценного функционального программирования в Python являются: функции высших порядков, развитые средства… …   Википедия

  • Объектно-ориентированное программирование на Python — Объектно ориентированное программирование на Python  программирование на Python с использованием парадигмы ООП: с самого начала Python проектировался как объектно ориентированный язык программирования[1]. Содержание 1 Введение 1.1 …   Википедия

  • Аспектно-ориентированное программирование — Парадигмы программирования Агентно ориентированная Компонентно ориентированная Конкатенативная Декларативная (контрастирует с Императивной) Ограничениями Функциональная Потоком данных Таблично ориентированная (электронные таблицы) Реактивная …   Википедия

  • Эволюционное программирование — Содержание 1 Эволюционное программирование 2 Современное эволюционное программирование …   Википедия

  • Компонентно-ориентированное программирование — Парадигмы программирования Агентно ориентированная Компонентно ориентированная Конкатенативная Декларативная (контрастирует с Императивной) Ограничениями Функциональная Потоком данных Таблично ориентированная (электронные таблицы) Реактивная …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»