Парадигмы программирования

Моделирование парадигм программирования


Создание и использование коллекций изученных задач, решения которых представлены в виде готовых компонентов, накапливаемых в общей информационной среде, дают основание перехода от библиотек к языкам КП. Нужна лишь подходящая парадигма программирования, допускающая эволюцию не только области применения ИС, но и пространства реализационных решений по созданию самой ИС. Ведущие парадигмы структурированного и объектно-ориентированного программирования ограничивают такую эволюцию рамками стандартных вычислительных моделей [41]. При необходимости это ограничение преодолевают привлечением ФП, о чем свидетельствует рост рейтинга систем функционального программирования (СФП), используемых в самодеятельных проектах, доведенных до завершения. Выигрыш дает приспособленность СФП к быстрой отладке, верификации, лаконизм, гибкость и моделирующая сила. Все это позволяет рассматривать СФП как эффективную инструментально-методическую основу информационной среды обучения современному программированию [[8],[22], [23],[37],[54]].

Исторически практика программирования складывается, можно сказать кристаллизируется, вокруг мощных библиотек подпрограмм и коллекций типовых компонентов, разрабатываемых на базе сравнительно узкого круга языков и в рамках технологий программирования, сложившихся почти полвека назад. Эти полвека не прошли даром. Появились технические возможности, дающие новое звучание методам работы с данными, что открывает перспективу более комфортабельной организации труда для очередного поколения программистов, особенно на этапе обучения профессии.

Современные ИТ сделали доступным для практики богатейший материал, само обилие которого является серьезной проблемой для его освоения и применения [[82]]. Этот материал является базой для оттачивания профессионального мастерства по определению ИС из готовых компонентов. Работа с компонентами подразумевает многократность использования, вариативность реализации и повторность разработки. Это влечет необходимость учета разных критериев и требований, подвергающихся непредсказуемой эволюции.
Функциональный подход к компонентному программированию позволяет формализовать на метауровне особенности разных технологий программирования, что дает основания для методики активного обучения программированию и конструированию ИС из компонентов СФП.

Сборка программы из автономно развиваемых компонентов требует формулировки достигаемой ими цели, понимание которой гарантирует корректность полученного результата. Формулировать цели частей программы - процесс отнюдь не тривиальный. В его основе лежат разные, трудно сопоставимые, подходы к классификации понятий, отчасти преставимые как парадигмы программирования.

В данном ознакомительном курсе не рассмотрены такие парадигмы, как учебное и теоретическое программирование, программирование баз данных, сайтов, сервисов, языки разметки и ряд других, освоение которых происходит естественно на практике при начальном обучении программированию. В таблице 15.1. указаны курсы Интернет-Университета информационных технологий, дополняющие материал лекций данного курса.

Таблица 15.1. Материалы Интернет-Университета, дополняющие лекции курса.№Тема лекцииАвторы, название курса и URL
1Многоликое программирование

Баженова И.Ю., Сухомлин В.А. Введение в программирование http://www.intuit.ru/department/pl/plintro/

Непейвода Н.Н. Стили и методы программирования http://www.intuit.ru/department/se/progstyles/

2Определение языков программированияВояковская Н.Н., Москаль А.Е., Булычев Д.Ю., Терехов А.А. Разработка компиляторов http://www.intuit.ru/department/sa/compilersdev/
3Ассемблер Новиков Ю.В., Скоробогатов П.К. Основы микропроцессорной техники http://www.intuit.ru/department/hardware/mpbasics/6.2.1. Ассемблер MPASM
4Машинно ориентированное программирование

Галатенко В.А. Программирование в стандарте POSIX http://www.intuit.ru/department/se/pposix/

Язык программирования C http://www.intuit.ru/department/pl/cpl/

Якушева Н.М. Visual Basic http://www.intuit.ru/department/pl/vb/
5Макрообработка текстовХрамцов П.,Б., Брик С.А., Русак А.М., Сурин А.И. Введение в HTML http://www.intuit.ru/department/internet/htmlintro/
6Языки управления процесс

Курячий Г.В., Маслинский К.А. Операционная система Linux http://www.intuit.ru/department/os/linux/

Костромин В.А.Основы работы в ОС Linux http://www.intuit.ru/department/os/baselinuxwork/ Оболочка bash
7Функциональное программирование Городняя Л.В. Основы функционального программирования http://www.intuit.ru/department/pl/funcpl/
8Стандартное системное программирование

Страуструп Бьерн Язык программирования C++ для профессионалов http://www.intuit.ru/department/pl/cpp2/

Биллиг В.А. Основы программирования на C# http://www.intuit.ru/department/pl/csharp/

Андреева Т.А. http://www.intuit.ru/department/pl/plpascal/ Программирование на языке Pascal
9Декларативное программирование

Алексеев В.Е., Таланов В.А. Структуры данных и модели вычислений http://www.intuit.ru/department/algorithms/dscm/

Шрайнер П.А. Основы программирования на языке Пролог http://www.intuit.ru/department/pl/plprolog/
10Объектно-ориентированное программирование

Мейер Бертран http://www.intuit.ru/department/se/oopbases/

Основы объектно-ориентированного программирования http://www.intuit.ru/department/se/ooad/Основы объектно-ориентированного проектирования

11Языки параллельного программирования.Барский А.Б. Параллельное программирование http://www.intuit.ru/department/se/parallprog/
12Функции высших порядков

Сузи Р.А. http://www.intuit.ru/department/pl/python/ Язык программирования Python

Верещагин Н.К., Шень А.Х. Языки и исчисления http://www.intuit.ru/department/calculate/lancalc/
13Оптимизация программ.Чеповский А.М., Макаров А.В. Скоробогатов С.Ю. Common Intermediate Language и системное программирование в Microsoft .NET http://www.intuit.ru/department/pl/cil/
14Разработка программ

Терехов А.Н. Введение в технологию программирования http://www.intuit.ru/department/se/introprogteach/

Леоненков А.В. Нотация и семантика языка UML http://www.intuit.ru/department/pl/umlbasics/

Котляров В.П. http://www.intuit.ru/department/se/testing/ Основы тестирования программного обеспечения
15Перспективы парадигм программированияКулямин В.В. Компонентный подход в программировании http://www.intuit.ru/department/se/compprog/
<


Содержание раздела