PARADIGM APPROACH TO FACTORIZATION OF DEFINITIONS OF PROGRAMMING LANGUAGES AND SYSTEMS
ПАРАДИГМАЛЬНЫЙ ПОДХОД К ФАКТОРИЗАЦИИ ОПРЕДЕЛЕНИЙ ЯЗЫКОВ И СИСТЕМ ПРОГРАММИРОВАНИЯ

A.P. Ershov Institute of Informatics Systems
2018 System Informatics  
Парадигмальный подход к факторизации определений языков и систем программирования Городняя Л.В. (Институт систем информатики СО РАН, Новосибирский государственный университет) Статья посвящена проблеме факторизации определений языков и систем программирования. В качестве основного параметра факторизации выбрана семантическая декомпозиция в рамках анализа парадигм программирования. Такой выбор позволяет выделять автономно развиваемые типовые компоненты систем программирования. Типовые компоненты
more » ... должны быть приспособлены к конструированию различных информационных систем. Кроме того, их существование позволяет формировать методику обучения разработке компонентов информационных систем. Попутно показана дистанция в понятийной сложности между программированием и разработкой систем программирования. Ключевые слова: определение языков программирования, факторизации определений, декомпозиция программ, критерии декомпозиции, парадигмы программирования, семантические системы, разработка программ, методы обучения программированию. 1. Введение Многие работы по методам разработки программных систем зависят от практичности подходов к декомпозиции программ, что можно рассматривать как проблему факторизации программ и средств их представления на базе языков программирования (ЯП), отлаживаемых с помощью систем программирования (СП). Общее понятие факторизации основано на декомпозиции сложных объектов в произведение более простых объектов, из которых перемножение даёт исходный объект при условии, что выбор более простых объектов обусловлен определённым фактором, позволяющим предельно простые объекты отличать от более сложных. Даже при факторизации чисел эта задача, имеющая строгое определение, становится сложной при переходе к большим числам. Такое понятие достаточно естественно может быть перенесено на представления программ, определений ЯП и реализаций СП при условии определения факторов для выделения простых объектов и определения техники произведения для восстановления исходного сложного объекта из результата факторизации. 2 Городняя Л.В. Парадигмальный подход к факторизации определений языков и систем программирования Если техника произведения может быть сведена к общепринятым методам сборки программ из типовых компонентов, то выбор факторов для выделения простых составляющих в случае программ обладает значительным разнооборазием. Не удивительно, что на весьма представительных конференциях, посвященных обсуждению всех проблем программирования, рассматриваются лишь отдельные штрихи проблемы факторизации программ на материале конкретных наиболее популярных ЯП, таких как Си, Java, Python [7]. В данной статье рассматривается парадигмальный подход к выбору факторов и аналогов произведения для факторизуемых представлений программ, определений ЯП и реализаций СП, использующий семантическую декомпозицию формализованных определений. Проблема факторизации в программировании осложнена разнообразием используемых средств и широким спектром противоречащих друг другу критериев качества программ. Основная цель декомпозиции программ -обеспечение многократности использования отлаженных фрагментов. Именно многократность использования является аргументом доверия программным системам. Конструирование систем из отлаженных компонентов не всегда обладает удобной комбинаторикой. Возможность улучшения конструктива без чрезмерного роста трудозатрат на повторное программирование и отладку обусловлено выбором критериев декомпозиции программ. Нередко критерии декомпозиции отражают структуру декомпозируемого текста программы. Чаще имеет место учёт особенностей квалификации разработчиков программы. При решении сложных задач критерии декомпозиции программ отражают актуальность подзадач по шагам разработки. Долгоживущие программы эксплуатируются дольше времени её авторского сопровождения. Системы программирования обычно проектируются именно как долгоживущие программы. Это достаточная причина высокой вероятности неавторского улучшения СП. Всё это объясняет, почему нужны объективные критерии декомпозиции ЯП, отражающие возможность автономного развития выделенных компонентов СП. К этой проблеме примыкает слабость методики обучения разработке компонентов программ и программных комплексов. Для разработки СП такая методика усложнена необходимостью полноценного ознакомления с основными и фундаментальными парадигмами программирования (ПП), включая параллельные вычисление [2]. Основные парадигмы имеют производственное значение. Они поддерживают жизненный цикл разработки программ. Фундаментальные парадигмы имеют образовательное значение. Они обеспечивают формирование расширяемой системы понятий, необходимых для освоения экстенсивно развивающегося пространства задач, решаемых с помощью ИТ.
doi:10.31144/si.2307-6410.2018.n12.p1-26 fatcat:vpznzggn3vbetb6c47qjzauafa