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

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

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

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

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

Софт (Программы) Для Counter - Strike
НЕМНОГО О ЛИЧНОСТНЫХ ОСОБЕННОСТЯХ КОМПЬЮТЕРНЫХ ПРЕСТУПНИКОВ
Физическое хранение, методы кодирования информации
Российские национальные IP-сети
WordPad: Изменение настроек редактора
Возможность системы CompactPCI иметь более 8 слотов
Зао «Лайт Коммуникейшн» Сообщает О Начале Производства Устройств Netping Pwr-220 V2 И Netping 2/Pwr-220 V2
Нарушение правил эксплуатации ЭВМ, системы ЭВМ или их сети
Обыск и выемка
Уголовно-правовой анализ ст? 274 гл? 28 УК РФ "Нарушение правил эксплуатации ЭВМ, системы ЭВМ или их сети"
Основы работы в среде Microsoft Windows XP
Монтирование и размонтирование дисков
Виды пластиковых карточек
Подсказки програмного обеспечения и программы присоединенного филиала
Темп развития CompactPCI
Просмотр свойств клипа
Резервное копирование данных. Стоит ли платить деньги?
ОБСЛУЖИВАНИЕ ДИСКОВ
Проект СКС
ДЕЙСТВИЯ ПРИ ЗАРАЖЕНИИ ВИРУСОМ
ПЕРИФЕРИЙНЫЕ УСТРОЙСТВА
Экспортные законы
Эрг-упражнения для улучшения осанки
Разработка и распространение компьютерных вирусов
Электронный подход
Назначение деловых игр
Работы ученых
Поддержка драйвера сжатых дисков в MS DOS
Видеоадаптеры
Отложенная печать документов
Программа Sendmail
Краткий обзор возможностей программы Ехсеl 7.0
Протокол Internet (IP)
WordPad: Вставка времени и даты
Получение изображений со сканера или цифровой камеры
Обзор дисковых устройств
Загрузочная запись
Экспорт изображений в файл
Наиболее распространенные возможности Internet
Электронная почта (e-mail)
Языки программирования высокого уровня
Проблемы формирования информационного общества в Украине
Печать фотографий через Интернет
Чарльз Бэббидж
Работа накопителя
Рисование произвольной линии
Нелокальные переходы в UNIX
Использование нестандартных значков
Поиск данных по ключевым словам (WAIS)
Создание, использование и распространение вредоносных программ для ЭВМ
Спам и как с ним бороться
Структура конструкций и поколения ЭВМ
Внешние каналы украинского сегмента сети Іnternet
Анализ развития украинского сегмента сети Internet
Неправомерный доступ к компьютерной информации (ст. 272 УК)