Главная | Соглашение | Публикация статей

"Адские" мифы
Категория: Статьи

Довольно часто с Адой связывают набор устойчивых заблуждений, препятствующих как распространению языка, так и осознанному выбору Ады в качестве языка реализации проекта.
Ада – мертвый язык, на нем сейчас никто не программирует. В действительности, Ада уверенно занимает нишу больших встроенных систем с повышенными требованиями к надежности. По сравнению с "коробочными" продуктами для Windows, такие системы не так заметны, поскольку либо существуют в одном экземпляре (какой смысл тиражировать программу, управляющую движением поездов метро), или распространяются как часть системы, в которую они встроены (бортовое программное обеспечение).
Ада – язык, предназначенный исключительно для военных применений. Ада действительно была разработана при участии Министерства обороны США, однако отсутствуют какие-либо технические, административные или иные причины, препятствующие использованию Ады для разработки гражданских систем. Количество "гражданских" проектов, основанных на этом языке, сегодня сопоставимо с количеством "военных" проектов.
Ада – слишком большой и сложный язык, для того чтобы использовать его в небольшом проекте. Объем и сложность всех современных индустриальных языков практически одинаковы, и чтобы убедиться в этом, достаточно просто сравнить объем их описаний. Этот миф восходит к началу 80-х годов, когда Аду сопоставляли с Паскалем, Фортраном 77 или Бейсиком.
Программистов, знающих Аду, мало, изучение языка с нуля требует чрезмерных усилий и времени. На самом же деле, настоящую трудность представляет отыскание специалистов, понимающих специфику встроенных систем и способных создавать качественные программы для них. Так, например, компания BAE, один из активных пользователей языка Ада, не требует от кандидатов знания этого языка; вместо этого ищутся люди, знакомые со встроенными системами и процессами создания программного обеспечения индустриального качества. После найма таких людей требуется всего две недели для обучения их языку Ада.
Наш личный опыт показывает, что программистам, знакомым с той или иной разновидностью Паскаля, требуется всего несколько дней, чтобы начать разрабатывать несложные программы на Аде.
Существующие Ада-технологии неэффективны; и трансляторы, и порождаемый ими код, отличаются низкой производительностью. Этот миф также восходит к первой половине 80-х годов, когда появились первые реализации Ады, фактически всего лишь доказывавшие "теорему существования Ада-транслятора, соответствующего стандарту". Достаточно провести ряд несложных экспериментов, запрограммировав некоторую модельную задачку на Аде, Паскале и Си/Си++, и сравнив (при сопоставимых параметрах компиляторов) затем скорость компиляции, объем порождаемого кода и скорость его выполнения, чтобы убедиться, что какой-либо специфической неэффективности, свойственной Аде, просто не существует. Можно также отметить, что система программирования GNAT при объеме исходных текстов более 40 Мбайт, на 90% реализована на Аде, и построение ее из исходных текстов (в его ходе она трижды сама себя компилирует) на современном ПК занимает не более получаса.
Существующие реализации Ады крайне дороги. Это верно, однако следует иметь в виду, что существует публично доступная версия системы программирования GNAT, которая бесплатно и на совершенно законных основаниях может быть взята из программного репозитория Нью-йоркского университета (ftp://cs.nyu.edu/pub/gnat) вместе с исходными текстами

"Адские" мифы

Статьи по теме:

Средства Защиты Компьютера И Максимальная Его Безопасность
Банковские операции с использованием вычислительной техники
Мобильная Торговля Optimum - Управление Торговыми Представителями
Логический номер сектора
Компьютеры на страже закона
Использование компьютеров
Установка Системы Видеонаблюдения В Офис
О Windows Vista
Электронная почта
Ада и Си
Софт (Программы) Для Counter - Strike
МЕТОДЫ ЗАЩИТЫ ОТ КОМПЬЮТЕРНЫХ ВИРУСОВ
ПРЕСТУПЛЕНИЕ В СФЕРЕ КОМПЬЮТЕРНОЙ ИНФОРМАЦИИ
Мошенничество С Телефонами
НЕМНОГО О ЛИЧНОСТНЫХ ОСОБЕННОСТЯХ КОМПЬЮТЕРНЫХ ПРЕСТУПНИКОВ
РАСКЛАДКА ПРОВОДОВ
Типы Даных В С++ И Отличия От Java
Правовое регулирование отношений в области "компьютерной информации"
Компьютеры в учреждениях
Условия и предпосылки информатизации
TCO '95
Американские проекты создания информационной супермагистрали
Базовые сведения о X.500
Базовые понятия Windows
История открытия и развитие метода компьютерной томографии
Запись фильма с видеомагнитофона или видеокамеры
Способы совершения компьютерных преступлений
Информатизация
Критерий пользователя ЭС
Удаленный доступ (telnet)
Отремонтируйте разрешения для вялого компьютера
Открытие документа из папки
Сокращение занимаемого Windows XP дискового пространства
Интегрирование модулей PADS в программную среду предприятия
Internet и политика
Содержимое таблицы FAT
Версии языка Java. Средства разработки
Самая популярная операционная система сегодня для CompactPCI систем
Рисование многоугольников
«Откат» к предыдущей версии Microsoft Windows
FED monitors
Система программного обеспечения ЕС ЭВМ
Шина EISA
Количество Интернет-Атак На Банки Продолжает Расти
Интерфейсы и мобильность Windows Vista
Проверка Софта На Лицензионность
Сетевой аудит в NetWare 4.x
Google о вредоносных программах Интернета
Метрики Кода И Их Практическая Реализация В Subversion И Clearcase. Часть 1 - Метрики
Общие положения об необходимости устройств резервного копирования
течественное законодательство в борьбе с компьютерными преступлениями
Создание эффекта перехода
Многие споры вокруг проблемы "кибернетика и мышление"
Правовые аспекты
Изменение оформления Рабочего стола