Датчик высоты на ЛМ "Игл" Аполлон - 11"

Автор Виктор Левашов, 27.11.2016 08:48:31

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Виктор Левашов

Да, вот, что нашёл про "Аду" языка в честь Ады Лавлейс для военных:

ЦитироватьЕсли Ada собирается выдать стандарт, желательно, чтобы он был недвусмысленно документирован. По меньшей мере две группы попытались сделать это; в результате обе выдали около 600 страниц формального текста. Это гораздо больше, чем необходимо, чтобы удостовериться в невозможности хотя бы твердо установить, что оба документа определяют один и тот же язык. Ошибка очевидной неуправляемости этих двух документов кроется не в двух группах, составивших их, не в принятом ими формализме, а лишь в самом языке: сами не обеспечив формального определения, могут ли его разработчики скрыть, что они предлагают неуправляемого монстра. То, что Ada уменьшит проблемы программирования и увеличит надёжность наших разработок до приемлемых границ, — это лишь одна из тех сказок, в которые могут поверить только люди с военным образованием.
Научная фантастика и научная реальность в информатике (Edsger W. Dijkstra, EWD952)

Не очень Эдсгер Дикстра военных инженеров уважает.

Виктор Левашов

На форуме большинство - военные инженеры.
Неужели нет желания ответить.
или просто нет программистов "Ада"?

dmitryskey

ЦитироватьВиктор Левашов пишет:
На форуме большинство - военные инженеры.
Неужели нет желания ответить.
или просто нет программистов "Ада"?
Скорее всего - третье. Я много чего встречал, даже с Коболом сталкивался и писал на его кузене ABAP/4, а вот Ады нигде не видел. Хотя нет - вру, PL/SQL корни имеет в Аде.

У меня такое впечатление, что язык был настолько тяжёл и формализован, что компиляторщики долго не могли совместить и прохождение формальных спецификаций, и генерацию эффективного кода - что для военной техники очень важно в силу традиционного отставания железа из-за длительности разработки.

Вот и получалось - прямо здесь и сейчас есть С в НАСА или Модула-2 в ИСС, как с ними бороться, более или менее понятно. Я читал требования к коду С от НАСА, там попросту зарезают использование опасных вещей вроде malloc/free, что легко проверяется. Про Модулу-2 в ИСС подробно в соседней ветке разобрали, собственно, пришли к консенсусу, что может это и не магистральная линия, но прямо здесь и сейчас вполне себе рабочий механизм.

dmitryskey

#23
ЦитироватьВиктор Левашов пишет:
Да, вот, что нашёл про "Аду" языка в честь Ады Лавлейс для военных:
ЦитироватьЕсли Ada собирается выдать стандарт, желательно, чтобы он был недвусмысленно документирован. По меньшей мере две группы попытались сделать это; в результате обе выдали около 600 страниц формального текста. Это гораздо больше, чем необходимо, чтобы удостовериться в невозможности хотя бы твердо установить, что оба документа определяют один и тот же язык. Ошибка очевидной неуправляемости этих двух документов кроется не в двух группах, составивших их, не в принятом ими формализме, а лишь в самом языке: сами не обеспечив формального определения, могут ли его разработчики скрыть, что они предлагают неуправляемого монстра. То, что Ada уменьшит проблемы программирования и увеличит надёжность наших разработок до приемлемых границ, — это лишь одна из тех сказок, в которые могут поверить только люди с военным образованием.
Научная фантастика и научная реальность в информатике (Edsger W. Dijkstra, EWD952)

Не очень Эдсгер Дикстра военных инженеров уважает.
Ну я бы критику промышленных языков программирования от ученых Computer Science смело бы игнорировал, они попросту лезут не свою область, хотя, безусловно, их разработки следует изучать и внедрять по мере необходимости - как это произошло со структурным программированием или идеями Оберона в Java (с точки зрения Вирта, разработчики Java "изучили исходные коды Оберона и, в частности, исходные коды обероновских сборщиков мусора. Потом они испортили Оберон синтаксисом Си и назвали получившееся словом Java"  ;)  . Ничего, кроме Паскаля, не "взлетело", в той же вполне себе фундаментальной физике как дело доходит до реальных расчетов, все на Фортране и С, ядро компьютерной алгебры по крайней мере в виде Maple тоже на С (со слов профессора из Waterloo University)

С Паскалем же сошлись звезды, и не по причине особой прозорливости Вирта. Основой было две вещи - применение для обучения (поэтому автор Turbo-Pascal, Delphi и C# Anders Hejlsberg хорошо его знал по учебе в европейском Technical University of Denmark) и такая структура языка, что был возможен однопроходный компилятор.

В 80-е был большой запрос на IDE с компилируемым языком для 8 и 16-битных систем, и Borland его удовлетворила, причем сделала это дешево (тогда $50 за полноценную среду разработки было просто даром). Я имел дело с Turbo-Pascal для CP/M на 64Kb ОЗУ, и поверьте мне, это производило неизгладимое впечатление - насколько это было удобно и практически мгновенно компилировалось - по сравнению с С на той же машине, где приходилось две дискеты тасовать из-за нескольких проходов компилятора.

PIN

На ADA написано бортовое ПО Ариан-5, нынешней Веги. Почти наверняка так же будет на Ариан-6 и будущих версиях Веги.
Почти все бортовое ПО ATV тоже на Аде было.
И ПО БЦВМ бОльшей части аппаратов, например, TAS-I тоже на Ада.

dmitryskey

ЦитироватьSOE пишет:
На ADA написано бортовое ПО Ариан-5, нынешней Веги. Почти наверняка так же будет на Ариан-6 и будущих версиях Веги.
Почти все бортовое ПО ATV тоже на Аде было.
И ПО БЦВМ бОльшей части аппаратов, например, TAS-I тоже на Ада.
А среда разработки какая - GNAT Pro?

opinion

Цитироватьdmitryskey пишет:
Я имел дело с Turbo-Pascal для CP/M на 64Kb ОЗУ, и поверьте мне, это производило неизгладимое впечатление - насколько это было удобно и практически мгновенно компилировалось - по сравнению с С на той же машине, где приходилось две дискеты тасовать из-за нескольких проходов компилятора.
Главная причина медленной компиляции С - необходимость многократно парсить заголовочные файлы, а вовсе на количество проходов парсера.. Для борьбы с этим в одном известном компиляторе есть опция "прекомпилированные заголовки".

А у вас, наверно, заголовки стандартных библиотек и ваш собственный код были на разных дискетах. Как говорится, каждый сам себе злобный буратино.
There are four lights

dmitryskey

#27
Цитироватьopinion пишет:
Цитироватьdmitryskey пишет:
Я имел дело с Turbo-Pascal для CP/M на 64Kb ОЗУ, и поверьте мне, это производило неизгладимое впечатление - насколько это было удобно и практически мгновенно компилировалось - по сравнению с С на той же машине, где приходилось две дискеты тасовать из-за нескольких проходов компилятора.
Главная причина медленной компиляции С - необходимость многократно парсить заголовочные файлы, а вовсе на количество проходов парсера.. Для борьбы с этим в одном известном компиляторе есть опция "прекомпилированные заголовки".

А у вас, наверно, заголовки стандартных библиотек и ваш собственный код были на разных дискетах. Как говорится, каждый сам себе злобный буратино.
Ха, на тот момент ещё бы были прекомпилированные заголовки - я в первый раз такое чудо увидел уже вроде 90-ых на Visual C++, вспомните, когда на gcc оно появилось-то - аж в версии 3.4, то бишь уже в 21 веке :-) В любом случае, наличие препроцессора даже с прекомпилированными заголовочными файлами вызывали необходимость в нескольких проходах с сохранением промежуточных результатов на диске. Турбо-Паскаль все это проделывал прямо в RAM. Да - и дискеты с компилятором С были защищены от записи, берегли их как могли, да и не факт, что там бы и места достаточно оставалось.

А на 8-битных машинах без винчестера тасовались дискеты, потом с жёстким диском стало получше, но все-равно гораздо медленнее, чем в Турбо-Паскале. Кстати, разница была существенной и для Turbo C уже на PC, но считалось, что тут уже серьёзный язык именно для разработки. Был правда финт ушами на 8-битных машинах с 128Kb - 64Кб выделялось под электронный диск, и если исходники и промежуточные файлы в этот объем влазили - то эффект был как ныне от перехода на SSD :-) Понятно, что на PC это было уже практически штатным методом работы.

Но мы в сторону немного отклонились - я хотел сказать, что активное использование Паскаля в промышленности не было заслугой Computer Science и Вирта, просто звезды сошлись так в 80-ые. Поэтому критику Ада от ученых можно не особо принимать во внимание, язык не стал широко использоваться не силу того, что разработчики не знали теорию ЯП - но и не умер - огромное спасибо SOE за примеры из космического применения

Виктор Левашов

Для меня простота и доступность компилятора Турбо-Паскаля сыграли решающее значение при написании дипломной работы.
У меня была 8088 на двух дисководах. Без жёсткого диска.
И ничего. Написал. И сдал. И файв ещё получил.

silentpom

"Да - и дискеты с компилятором С были защищены от записи, берегли их как могли, да и не факт, что там бы и места достаточно оставалось. " я работал дома с турбо си 2.0 на поиске, т.е. 8088 кастрированный, на болагрском дисководе 5.25, и ничего работало!  в школе чуть лучше 286 на 3.5 дисководе.  Прекомпилированные заголовки вроде были в borlanc c++ 3.0, но его я на 386й только запускал, действительно помогало, но важно было для программирования под винду где страшные хеадеры

silentpom

ЦитироватьВиктор Левашов пишет:
На форуме большинство - военные инженеры.
Неужели нет желания ответить.
или просто нет программистов "Ада"?
               
                  
я работал в одной конторе, связанной с форексом, у нее военно-американское прошлое, а потому там торговая платформа написанная на аде. как хардкорный с++ник я успешно тролил адских программистов за незнание современных концепций

silentpom

Цитироватьdmitryskey пишет:
Да - интегральные схемы пошли в массовое производство по программе Minuteman-II и Apollo с их бортовыми компьютерами.
а название двух фирмочек, отколовшихся от фейрчайлда угадаете?

silentpom

еще про аду - собственно бортовое по раптора написано на ней, вот только у самолета завоевания господства в воздухе по не сильно сложное. а у f-35 основная работа по земле, ПО значительно более сложное и на с++. так что даже из авионики аду вытесняют

dmitryskey

Цитироватьsilentpom пишет:
Цитироватьdmitryskey пишет:
Да - интегральные схемы пошли в массовое производство по программе Minuteman-II и Apollo с их бортовыми компьютерами.
а название двух фирмочек, отколовшихся от фейрчайлда угадаете?
А чего там угадывать - AMD да Intel :-) Или какой подвох есть :-)?

Виктор Левашов

Цитироватьsilentpom пишет:
"Да - и дискеты с компилятором С были защищены от записи, берегли их как могли, да и не факт, что там бы и места достаточно оставалось. " я работал дома с турбо си 2.0 на поиске, т.е. 8088 кастрированный, на болагрском дисководе 5.25, и ничего работало! в школе чуть лучше 286 на 3.5 дисководе. Прекомпилированные заголовки вроде были в borlanc c++ 3.0, но его я на 386й только запускал, действительно помогало, но важно было для программирования под винду где страшные хеадеры
у меня Филипс был. за 100 $ это 1992 год. 8088 , 6,4 Мг, 640 Кб, на барахолке купил. весь паяный перепаяный. у Филипаса видно блок питания было дохлый. я винт пытался поставить - не тянет. так и работал на двух дискетах. и на Борланд С курсовик написал. только дискеты нужно было по 1.200.  потом пришпандорил внешний блок питания, поставил винт на 40 Мб. вот жизнь счастливая пошла.
а старые дисководы я выкинул через полгода.
ну, да, вру.
хранил ещё несколько лет.
потом уж выкинул.
рыдая над помойкой.

Штуцер

ЦитироватьВиктор Левашов пишет:
Для меня простота и доступность компилятора Турбо-Паскаля сыграли решающее значение при написании дипломной работы.
О! Я этим баловался году в 1986-88. По работе. Плюс графика BGI.  :)
Но в виде обломков различных ракет
Останутся наши следы!

dmitryskey

#36
ЦитироватьШтуцер пишет:
ЦитироватьВиктор Левашов пишет:
Для меня простота и доступность компилятора Турбо-Паскаля сыграли решающее значение при написании дипломной работы.
О! Я этим баловался году в 1986-88. По работе. Плюс графика BGI.  :)  
И оверлеи :-)

А потом (насколько я помню, ноги росли из Paradox), был BDE, великий и ужасный :-) Сколько же народу в 90-ых и в начале 2000-ых с его помощью цеплялось к БД и клепало клиент-серверные формочки с 100500 контролов на каждой для управления всего во Вселенной. Мне иногда кажется, что ИТ и народ в ней только за счет этого и выжил в 90-ые.

И вы таки будете смеяться, но только пару лет назад у нас в конторе был выполнен проект по замене BDE на FireDAC в классическом клиент-серверном приложении (в просторечье называемом BackOffice), написанном на Delphi в 90-ых. Один из главных авторов сидит напротив меня, говорит, что выбор был между Visual FoxPro и Delphi (последний, может кто не в курсе, произносится американцами как Делфай). Работать в связке COM на Visual C++ и UI на Visual Basic было, по его словам тяжко. И что самое смешное - этот проект был выполнен для Гугла - их HR как с основания сидит на нашем приложении - так никуда слазить вроде бы не хочет. Уж не знаю, как они это совмещают с Linux Everywhere - наверно, просто виртуальную машину держат :-)

silentpom

Цитироватьdmitryskey пишет:
А чего там угадывать - AMD да Intel :-) Или какой подвох есть :-)?
нету :)

Виктор Левашов

ЦитироватьШтуцер пишет:
ЦитироватьВиктор Левашов пишет:
Для меня простота и доступность компилятора Турбо-Паскаля сыграли решающее значение при написании дипломной работы.
О! Я этим баловался году в 1986-88. По работе. Плюс графика BGI.  :)
насчёт графики. всем презираемый Q Basic выдавал графику на 8088 быстрее.  чем Турбо Паскаль BGI. И проще программный код был. Я с секундомером замерял. вот вам и Бэйсик, многими незаслуженно презираемый.

silentpom

в каком режиме? 16 цветный vga адски сложен для эффективного рисования, но можно было аккуратным ассемблированием выжать раза в 2 быстрее. но нам учитель сказал, что это все ерунда, пишите 320 на 200 сами свои функции - там копированием экрана на 286 было за доли секунды...