Ada_Ru форум

Обсуждение языка Ада

Re: [ada_ru] GNAT GPL 2007

Оставить новое сообщение

Сообщения

rainbow-2000
Re: [ada_ru] GNAT GPL 2007
2007-05-12 05:25:52

"Vladimir Teplouhov" <Vladimir.Teplouhov@gmail.com> writes:

А вот в случае с компьютером или самолетом с комп управлением

все становиться проще -

Да, но, программы для них пишут несовершенные люди. И, к сожалению, вне зависимости от уровня интеллекта, ошибки есть и иногда с очень печальными последствиями. Так, три случая вспомнилось.

Первый. Операция ВМФ США в Ливии. Палубные самолёты (по-моему это были F-111) имели систему оповещения и ухода из зоны поражения ракетами противника. Ливийцы дали залп (кажется это были наши ракеты :) ), не помню, какие были потери, помню что тот пилот, который выключил нафиг этот комплекс и, фактически пролетел между гребнями волн на критически малой высоте, остался жив (ракеты попали в море, так как не смогли повторить манёвр на таких скоростях). Остальным не повезло из-за ограничений по высоте.

Подобная же история была с каким-то A-310(20?), не помню уже, на показательных полётах. Упала тяга двигателей, самолёт стал снижаться, и вместо того, чтобы продолжить снижение, набрать спасительную скорость, и сделать аварийную посадку на одной из обозначенных для этого

площадок (высота позволяла), компьютер дал команду набора высоты, так как стояло ограничение. Конец был тоже грустный.

Ну и мега-крутой полёт "Ариана", когда из-за ошибки

высокоинтеллектуальных программистов, вооружённых супернадёжной Адой

:) , этот Ариан с многомиллионной начинкой, очень забавно изменил траекторию полёта и грохнулся где-то в океане. Самый дорогой, говорят, компьютерный баг в истории :)

>

Причем учти еще вот что - уровень интеллекта от тренировок мало зависит, так что чел с мозгами через 2 нед будет отличаться от программиста с 20 лет стажу только скоростью(чаще заглядывать в доки придется), а тупой кодер и через 20 лет программистом не станет... (правда опыт еще полезен для

От чего зависит уровень интеллекта (и что это такое) никто толком не знает на самом деле.

"Было у отца три сына. Старший умный был детина, средний был и так и сяк, младший вовсе был дурак... :) "

--

Извиняюсь за оффтоп,

Alexey

Хотел спросить почему все так не любят libre.adacore.com. Я вот вроде качал оттуда GNAT GPL 2006 при помощи менеждера загрузок. Нормально скачался.

12.05.07, rainbow-2000@yandex.ru<rainbow-2000@yandex.ru> написал(а):

 

"Vladimir Teplouhov" <Vladimir.Teplouhov@gmail.com> writes:

 

> А вот в случае с компьютером или самолетом с комп управлением

> все становиться проще -

 

Да, но, программы для них пишут несовершенные люди. И, к сожалению,

вне зависимости от уровня интеллекта, ошибки есть и иногда с очень

печальными последствиями. Так, три случая вспомнилось.

Первый. Операция ВМФ США в Ливии. Палубные самолёты (по-моему это были

F-111) имели систему оповещения и ухода из зоны поражения ракетами

противника. Ливийцы дали залп (кажется это были наши ракеты :) ), не

помню, какие были потери, помню что тот пилот, который выключил нафиг

этот комплекс и, фактически пролетел между гребнями волн на критически

малой высоте, остался жив (ракеты попали в море, так как не смогли

повторить манёвр на таких скоростях). Остальным не повезло из-за

ограничений по высоте.

 

ну, это даже не ошибка - просто вопрос хорошего взаимодействия

автоматики и человека. Если система спроектирована хорошо,

то вмешаться при необходимости в действия автомата не проблема...

В общем это скорее вопрос квалификации самого пилота,

чем программных ошибок. (ну и идеологии построения системы конечно,

если относиться например так как мелкософт к своим пользователям,

то в такой системе проще сразу заменить пилота балластом тк вмешаться

никуда он все равно не сможет)

 

Подобная же история была с каким-то A-310(20?), не помню уже, на

показательных полётах. Упала тяга двигателей, самолёт стал снижаться, и

вместо того, чтобы продолжить снижение, набрать спасительную скорость,

и сделать аварийную посадку на одной из обозначенных для этого

площадок (высота позволяла), компьютер дал команду набора высоты, так

как стояло ограничение. Конец был тоже грустный.

 

а это уже вопрос обработки не штатных ситуаций - тут надо чтобы

программы писали спецы в предметной области, а не спецы

по извращениям на Ц...

 

Вот для этого Ада тоже рулит - проще потратить 2 нед на обучение

спеца в предметной области программированию, и еще через 2 нед получить

пускай не очень оптимизированную, но зато надежную и понятную программу

без смысловых ошибок, чем взять Цника с 10 лет стажу и через 1 нед получить

хорошо оптимизированную программу с тщательно и очень

грубоко туда закопанными как миниум смысловыми ошибками,

которые потом в этой каше никакой специалист никакими

проверками уже не сможет найти...

(если еще и не будет че-нить с указателями и тп - вероятность очепятки

мало зависит от квалификации, а компилер Ц половину их не найдет)

 

Ну и мега-крутой полёт "Ариана", когда из-за ошибки

высокоинтеллектуальных программистов, вооружённых супернадёжной Адой

:) , этот Ариан с многомиллионной начинкой, очень забавно изменил

траекторию полёта и грохнулся где-то в океане. Самый дорогой, говорят,

компьютерный баг в истории :)

 

а это уже немного другая история...

Ада всего лишь один из алгоритмических языков,

и чем больше программа, тем больше может быть ошибок,

как ни крути... Поэтому тут со смысловыми ошибками

способ борьбы только один - увеличивать читаемость и понятность

исходника, ну и уменьшать его объем конечно. Для этого

надо уже думать где оптимален алгоритмический язык,

а где может быть лучше что-то другое, и не пытаться получить

от Ада то что все равно не может обычный алгоритмический язык,

это уже как миниум извращение :) Так что тут или выбор более

подходящего(читай - удобного для программиста или специалиста

в самой задаче) языка или метода программирования, либо DSL,

заточенный под саму задачу... Ну и конечно многократные проверки

самыми разными специалистами, для чего тоже плохо читаемые

извращения вроде Ц плохо подходят...

 

> Причем учти еще вот что - уровень интеллекта от тренировок мало зависит,

> так что чел с мозгами через 2 нед будет отличаться от программиста с 20

лет

> стажу только скоростью(чаще заглядывать в доки придется), а тупой кодер

> и через 20 лет программистом не станет... (правда опыт еще полезен для

 

От чего зависит уровень интеллекта (и что это такое) никто толком не

знает на самом деле.

"Было у отца три сына. Старший умный был детина, средний был и так и

сяк, младший вовсе был дурак... :) "

 

ну, если на обучение хватает и 2 нед, то уровень интеллекта уже

и не так важен - важно отношение, кто делает аккуратно все и все

проверяет, сначала думает и потом только делает, а кому пофиг все

и лепит сразу что придется не думая и не проверяя...

(кстати Рошалевские поделки тому хороший пример - не смотря

на отсутствие даже самих ошибок как таковых, умудряется

как-то сделать из обычных старых программ очень опасные вещи...

То сообщение об ошибке в архиве напечатает, но как-то скоромно-скромно

что его мало кто заметит, то по умолчанию включит какую-нить опасную

фигню в far - недавно только хорошо впух из-за пары новомодных

сУпеРкрюТых фич которые этот диверсант врубил по умолчанию,

я чуть данные не потерял, хотя формально ошибок вроде не было...)

Так что некоторым никакая квалификация и хоть 100 лет стажу

не помогут - все равно у таких будут получаться опасные поделки...

 

Vladimir

PS кстати, я тут подумал, и заметил такую вот фичу - на Ада-то через 2 нед

действительно уже можно чего-то писать, и при этом если такой модуль

будет прилинкован к системе то даже ошибки врядли нарушат

работу чего-то еще кроме него, а вот с Ц все интересней...

Выучить Ц можно наверно за столько-же если не быстрее, вот только

чтобы нормально научиться писать нужна тренировка каждый день(и без

перерывов - на Ада или паскале я и после перерыва в несколько лет сразу

могу написать хоть что, а вот после перерыва на Ц вообще обычно сразу

хорошо если виснет, а то и такие глюки что потом фиг найдешь) в течении

нескольких лет, а для Ада это в общем-то не обязательно, все опечатки

вычистит компилятор...

Ну и мега-крутой полёт "Ариана", когда из-за ошибки

высокоинтеллектуальных программистов, вооружённых супернадёжной Адой , этот Ариан с многомиллионной начинкой, очень забавно изменил

траекторию полёта и грохнулся где-то в океане. Самый дорогой, говорят, компьютерный баг в истории

 

Говорят много чего. Не было там никакого "компьютерного бага", и ошибка не у программистов была. Вины с арианом не было ни у программистов вообще ни у Ады в частности. Как по спецификации было велено, так и запрограммировали.

ВФ

On Sat, May 12, 2007 at 11:34:32AM +0400, Marina-Ala wrote:

 

Хотел спросить почему все так не любят libre.adacore.com. Я вот вроде качал оттуда GNAT GPL 2006 при помощи менеждера загрузок. Нормально скачался.

 

 

За то, что он не поддерживает докачку. Это особено актуально на диалапе и плохом интернете, когда два часа качаешь и в конце обрывается и приходиться начинать все с начала.

 

Между прочим, AWS уже давно умеет докачку...

--

Maxim Reznik

Hello Maxim,

 

Sunday, May 13, 2007, 6:47:31 PM, you wrote:

 

 

MR> On Sat, May 12, 2007 at 11:34:32AM +0400, Marina-Ala wrote:

 

Хотел спросить почему все так не любят libre.adacore.com. Я вот

вроде качал оттуда GNAT GPL 2006 при помощи менеждера загрузок.

Нормально скачался.

 

 

MR> За то, что он не поддерживает докачку. Это особено актуально на диалапе MR> и плохом интернете, когда два часа качаешь и в конце обрывается и MR> приходиться начинать все с начала.

 

 

Блин сейчас будете так же смеятся :)

Он не поддерживает докачку если нажать кнопку Download Selected Files Но вот если ткнуть прям файл (название это ссылка) то все качается с докачкой! ;) Ессно надо качать каждый файл отдельно но это мелочи. Блин целый день убил и не одна оборвавшаяся закачка произошла пока дошло :)

 

 

 

--

Best regards,

Alexey mailto:lial@...

On Sat, May 12, 2007 at 04:25:52PM +1100, rainbow-2000@... wrote:

Ну и мега-крутой полёт "Ариана", когда из-за ошибки

высокоинтеллектуальных программистов, вооружённых супернадёжной Адой :) , этот Ариан с многомиллионной начинкой, очень забавно изменил траекторию полёта и грохнулся где-то в океане. Самый дорогой, говорят, компьютерный баг в истории :)

 

 

Исходя из того, что писали про это, там ни Ада ни программеры не

виноваты. Перенесли ПО со старого железа на новое без должного

тестирования и проверки, вот оно и сломалось. Скорость новой ракеты была больше, чем старой и просто не влезала в регистр процессора :). ПО удовлетворяло старой спецификации железа, а для новой его решили не проверять, сэкономили :)

 

 

--

Извиняюсь за оффтоп,

 

Alexey

 

--

Maxim Reznik

Скорость новой ракеты

была больше, чем старой и просто не влезала в регистр процессора :)

 

Там было немного досаднее, она не влезала в определенный пользователем тип данных, в результате чего на Ариане 5 приключался банальный

Constraint_Error. Причем эта конкретная инструкция была обработчиком исключений не прикрыта преднамеренно, поскольку считалось что выбранные границы настолько велики что РН разрушится задолго до их достижения. Ну и наконец, по спецификации при возбуждении необработанного исключения данный блок требовалось полностью отключать. Что программа честно и выполнила. Почему собственно на этом примере и любят Аду обвинять, мол пользовались бы языком где есть только неограниченные типы и никаких исключений, все бы было в шоколаде. Но конечно очевидно что это переваливание с больной головы на здоровую.

 

ПО удовлетворяло старой спецификации железа, а для новой его решили не проверять, сэкономили :)

 

Именно. Как часто бывает в техногенных катастрофах, к аварии привела комбинация причин, но первопричина того что возникла сама комбинация - это дурацкое срезание копеечных углов на миллиардном проекте.

 

ВФ

Беру свои слова про удачную скачку обратно.

 

В прошлый раз мне просто повезло и связь не оборвалась.

 

Сейчас пытаюсь скачать, один менеджер говорит, что докачка не поддерживаеться, а второй скачивает несколько килобайт мусора и отключаеться.

 

Ну почему все американские сайты такие неправильные.

Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти