
Достоинства структурного программирования:
Структурное программирование позволяет значительно сократить число вариантов построения программы по одной и той же спецификации, что значительно снижает сложность программы и, что ещё важнее, облегчает понимание её другими разработчиками.
В структурированных программах логически связанные операторы находятся визуально ближе, а слабо связанные — дальше, что позволяет обходиться без блок-схем и других графических форм изображения алгоритмов (по сути, сама программа является собственной блок-схемой).
Сильно упрощается процесс тестирования и отладки структурированных программ.
Для системного программирования наиболее подходят языки: С, С++, Ассемблер. При трансляции для проверки типов в выражениях предназначен этап семантического анализа.
На этапе синтаксического анализа при трансляции выявляются ошибки типа «пропущена точка с запятой».
Объектно-ориентированное программирование
Современная технология разработки программных продуктов, в том числе и операционной системы Windows, базируется на концепции объектно-ориентированного программирования, в которой выдерживается единый подход к данным и программам. В основе всего лежит понятие объекта, который объединяет в себе как алгоритмы, так и данные, обрабатываемые этими алгоритмами. В результате упрощается не только разработка программ, но и технология работы пользователя, которому предоставляется возможность при работе в интерактивном (диалоговом) режиме применять наглядные графические инструменты и различные подсказки.
Основными элементами объектно-ориентированного программирования являются:
Класс – совокупность объектов, характеризующихся общностью применяемых методов обработки или свойств.
Объект - это совокупность свойств (параметров) определенных сущностей и методов их обработки (программных средств) (экземпляр класса).
Событие, которое происходит с объектом – изменение состояния объекта.
Метод, который выполняется над объектом – программа действий над объектом или его свойствами.
Свойство – характеристика объекта, его параметр. Все объекты наделены определенными свойствами.
Базовыми понятиями объектно-ориентированного программирования являются:
Полиморфизм – использование одного имени для задания общих для класса действий, что означает способность объектов выбирать внутренний метод исходя из типа данных. Означает взаимозаменяемость объектов с одинаковым интерфейсом.
Наследование – свойство ООП, которое может быть смоделировано с помощью таксономической классификационной схемы (иерархии). Позволяет описать новый класс на основе уже существующего (родительского), при этом свойства и функциональность родительского класса заимствуются новым классом.
Инкапсуляция – свойство языка программирования, позволяющее объединить и защитить данные и код в объект и скрыть реализацию объекта от пользователя (прикладного программиста). При этом пользователю предоставляется только спецификация (интерфейс) объекта. Означает возможность заключать в отдельный модуль процедуры работы с объектом.