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

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

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

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

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

Система программного обеспечения ЕС ЭВМ
Преступления в сфере компьютерной информации
Темп развития CompactPCI
Проблемы создания квантовых компьютеров
Последовательный и прямой доступ
Эрг-упражнения для улучшения осанки
Электронные вычислительные машины (ЭВМ)
Интерфейсы жестких дисков
«ВАКЦИНАЦИЯ» ПРОГРАММ
Java, как объектно-ориентированный язык
Рисование прямоугольника или квадрата
Дисплей (монитор)
Основные стимулы трудовой деятельности в индустриальном, постиндустриальном и информационном обществе
Компьютеры в сельском хозяйстве
Накопители информации в компьютере
Законы Безопасности
Нормативно-техническая документация
СТРУЙНЫЕ ПЛОТТЕРЫ (СП, INK-JET PLOTTER)
Создание и использование сводных таблиц EXCEL
Про недавний случай с вирусом. Будьте осторожны
Глобальный уровень
Поля элемента таблицы раздела диска
Языки описания сценариев на подъеме
Компонент вывода
Системные и локальные шины
Загрузка в альтернативном режиме
TCO '95
Предпосылки создания квантовых компьютеров
Применение математической логики в информатике
WordPad: Внедрение специальных объектов
Что такое сжатые диски
Управление доступом к файпам и каталогам
Microsoft – лидер по производству программного обеспечения
Логическое хранение и кодирование информации
Ресурсная и социокультурная концепции информационной среды как пространства социальных коммуникаций
Процесс Разработки Программного Обеспечения, Программы На Заказ
Что Такое Кодеки И Где Их Можно Скачать
Информационная Безопасность В Деятельности Современных Организаций
Компоненты, модули, мамботы в CMS Joomla
Windows Vista как платформа
Локальные средства (ERwin, BPwin, S-Designor, CASE.Аналитик)
Поиск адреса по доменному имени
ТИПЫ ЛКС
Анимация На Рабочем Столе Вашего Компьютера
Просмотр графики в Программе просмотра изображений и факсов
Работа с файлами в редакторе Paint
Генерация сеток конечных элементов в GEOSTAR
Зао «Лайт Коммуникейшн» Сообщает О Начале Производства Устройств Netping Pwr-220 V2 И Netping 2/Pwr-220 V2
Контроллеры жестких дисков
Неправомерный доступ к компьютерной информации
Как Сделать Резервное Копирование Почты Mozilla Thunderbird
Физическая среда передачи в локальных сетях
Универсальный мультисенсор SVEA совмещает в себе датчик освещенности и присутствия
Использование Web для привлечения покупателей
ВОПРОС ДОВЕРИЯ К РЕЗУЛЬТАТАМ ДЕЯТЕЛЬНОСТИ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА