От низкоуровневого программирования к

Download Report

Transcript От низкоуровневого программирования к

Тема:
От низкоуровневого
программирования к
визуальному.
Исполнитель:
Белкин Илья
Руководитель:
Т.В. Остапенко
2014 год г.Артём
Цель: исследование достоинств и
недостатков низкоуровневого
программирования WinAPI в сравнении
с визуальным программированием.
Объект исследования –
визуальное и низкоуровневое
программирование

Задачи:


Рассмотреть проблемы
визуального и низкоуровневого
программирования при
разработке оконного
приложения
Сделать сравнительный анализ
визуального и низкоуровневого
программирования методом
морфологического ящика
Продемонстрировать
практическое применение
низкоуровневого
программирования для
разработки оконного
приложения «Анимированный
осциллограф на WinAPI в С++»
Гипотеза, которую нужно
доказать:


При разработке оконного приложения
только низкоуровневое программирование
позволяет создавать быстродействующие
приложения, не требующие много памяти.
Владение низкоуровневым
программированием WinAPI определяет
уровень квалификации программиста.
«640 килобайт памяти должно
хватить каждому»
«640 килобайт памяти должно
хватить каждому»
Программисты старой школы помнят слова Билла
Гейтса в 1980 годы «640 килобайт памяти должно
хватить каждому». Когда фирма IBM в 1984 году
приступила к разработке новой операционной
системы для компьютеров IBM PC/AT, новая ОС
должна была преодолеть ограничение в OS DOS на
640 КБ памяти для прикладных программ и
реализовать поддержку режима многозадачности.
Это говорит о том, какие жёсткие требования
приходилось соблюдать программистам в начале
эпохи развития компьютеров.
Низкоуровневое
программирование
– использование системных функций WinAPI
напрямую для создания окон, работы с графикой,
чтобы писать то, что невозможно выразить на языке
программирования или это получается слишком
неэффективно.
Визуальное программирование
– способ создания программы для ЭВМ путём
манипулирования графическими объектами вместо
написания её текста. Профессиональные
программисты не восприняли в свое время все эти
графические объекты всерьез, а пытающиеся
научиться программировать на уровне
пользователя, столкнувшись с несоответствием
декларируемой простоты и реальными
характеристиками возможностей так и остались
дилетантами в программировании.
Для и анализа плюсов и минусов низкоуровневого и
визуального программирования был использован метод
морфологического ящика.
Компоненты:
Визуальное программирование
Низкоуровневое программирование на WinAPI
Признаки:
Трудоёмкость написания программы
Удобство использования
Размер программы
Быстродействие
Возможности
Работа на разных платформах
Признаки
Низкоуровневое
Визуальное
программирование программирование
на WinAPI
бнб
Среда разработки
Visual C++, ассемблер
Lazarus, С++ Builder,
Borland Delphi, Visual
Studio, Qt
Трудоёмкость
написания
программы
нет визуализации
достаточно накидать
кнопок на форму и
написать их процедуры
Удобство
использования
необходимо следить за
использованием памяти
не нужно заботиться о
памяти
Быстродействие
быстрее только, если
писать целиком на
ассемблере
ниже из-за большого
объёма приложения
Признаки
Низкоуровневое
программирование на
WinAPI
Визуальное
программирование
бнб
Размер программы малый размер конечных
файлов
«пустое» приложение на
Delphi «весит» ~300 КБ
Возможности
Разработка драйверов,
использующих команды
процессора
Разработка больших
проектов удобная
Работа на разных
платформах
Позволяет работать под
Windows, MacOS, Linux.
Позволяет раотать под
Android, Windows, MacOS,
iOS, Linux.
Выводы:




Если мы представим, что избавились от минусов
программирования на WinAPI, чаша весов склонится в сторону
низкоуровневого программирования
Использование функций WINAPI даёт свои плюсы. Быстрота
написания, малый размер
Большие проекты предусматривают совместный труд множества
программистов. В возможности легкой командной работы
хорошо себя зарекомендовала технология объектноориентированного программирования.
Этими достоинствами обладает визуальное программирование.
Низкоуровн
евое
программи
рование
Достоинства
Недостатки
Предоставление
программисту полного
контроля над архитектурой
ПК
Возможность работы с
несколькими ГПУ
Возможность загрузки
образа
Необходимость знания
особенностей архитектуры ПК
для эффективного
программирования
Отсутствие переносимости
между архитектурами ГПУ
Разнородность средств
разработки для ГПУ различных
производителей
Визуальное Быстрота разработки
программи Лёгкость освоения
рование
Стандартизация внешнего
вида программ
Проблематичность перехода на
другую среду разработки
Затруднённое использование
нестандартных компонентов
Наличие недокументированных
особенностей компонент
Заключение:

WinAPI – это основа, в которой должен
разбираться любой программист,
пишущий под Windows. Уровень
квалификации программиста
определяется умением работать и с
низкоуровневыми и визуальными
приложениями.
Пример низкоуровневого оконного приложения,
разработанного в среде Microsoft Visual C++ 2008
с использованием функций WinAPI
«Анимированный осциллограф»
Спасибо за ВНИМАНИЕ