
- •Лекция 1 введение. Основы программирования
- •Инструментальное программное обеспечение
- •Машинные языки, языки ассемблера и языки высокого уровня
- •Технологии программирования
- •Идея и цель объектно-ориентированного программирования
- •Инструменты программирования Microsoft Visual Studio
- •Консольные и оконные приложения
Технологии программирования
Технологии программирования – это выбор метода и средств создания программ.
Текст программы на алгоритмическом языке программирования представляет собой линейную последовательность операторов присваивания, условных операторов и циклов. Программы часто содержали запутанные последовательности операторов, в которых было трудно уловить нить логических рассуждений. Таким способом можно решать не очень сложные задачи (≈ 100 строк кода). Все это привело к развитию структурного программирования.
Технология структурного программирования – технология формирования программ из фиксированного множества подпрограмм с использованием базовых конструкций (линейной, ветвления и цикла) исключая операторы безусловного перехода. Отличается от неструктурированного ясностью, простотой тестирования, отладки и легкостью модификации программ.
Цели структурного программирования – улучшить читабельность программы, повысить эффективность и надежность программы.
Неотъемлемой частью создания хорошо структурированных программ является принцип декомпозиции (декомпозиции крупных задач на меньшие по сложности и размеру задачи) и технология нисходящего программирования (или программирования сверху вниз) с пошаговой детализацией: решаемая задача разбивается на несколько подзадач (первая детализация). Далее каждая из подзадач разбивается на подзадачи, принадлежащие второму уровню детализации и т.д. Программист завершает процесс нисходящей разработки с пошаговой детализацией, когда алгоритм настолько детализирован, чтобы его можно было бы преобразовать в программу. Причем, главная программа будет представлять собой совокупность подпрограмм. Комбинируя эти подпрограммы, удается формировать итоговый алгоритм уже не из простых операторов, а из законченных блоков кода, имеющих определенную смысловую нагрузку.
Технология восходящего программирования (или программирования снизу вверх) – технология конструирования программ из уже имеющегося набора отдельных процедур и функций, подстраиваясь под которые, решается задача.
Важным этапом в развитии концепции структурного программирования явилось осознание необходимости структуризации данных. Появление таких структур, как записи, положило начало использованию в языках программирования механизмов абстрагирования типов (язык PL1), когда тип определялся как множество объектов + множество операций над ними. Это в свою очередь привело к появлению модульного программирования и инкапсуляции. Инкапсуляция позволяет рассматривать модуль как набор программных объектов, помещенных в капсулу.
В дальнейшем эти технологии привели к появлению объектно-ориентированного программирования.
Идея и цель объектно-ориентированного программирования
В длинных и сложных программах переменные и функции могут исчисляться сотнями. Это заметно усложняет создание и сопровождение таких программ, поскольку вам приходится помнить обо всем этом. Наличие переменных с одинаковыми именами в различных функциях может привести к нежелательным конфликтам. Объектно-ориентированное программирование как раз и было изобретено для того, чтобы большие программы можно было разделять на отдельные части.
Идея объектно-ориентированного программирования – разработка программы из классов объектов, которыми она манипулирует, а не из функций, которые над ними (объектами) выполняются.
Объектно-ориентированный подход лег в основу создания ОС Windows (1991 г.) фирмой Microsoft.
На идеях объектно-ориентированного программирования базируется технология визуального программирования. Визуальные среды программирования поддерживают возможность визуального дизайна, но код программы записывается с помощью текстового языка программирования.
Цель объектно-ориентированного программирования – повышение эффективности разработки программ. Преимущество программ сконструированных по технологии объектно-ориентированного программирования – повторное их использование для разработки других программ, расширяемость, надежность, мобильность.
Примеры объектно-ориентированных языков программирования: Delphi, С++, Java, Visual Basic For Applications (VBA).