Воспоминания о языках программирования в авиации (и не только)

На 3-м курсе (осень 95) в МАИ надо было делать курсовой по аэродинамике. Все вооружились маевскими зелеными методичками страниц на 40-50. Все просто - в зависимости от варианта компоновочной схемы выбираешь из таблицы необходимый коэффициент, затем повторяешь это раз десять, подставляешь их в трехэтажную формулу и начинаешь расчет. На калькуляторе. Не инженерном. Часов шесть считаешь. Результат неудовлетворителен. Начинаешь искать математическую ошибку - повторный пересчет - часа четыре. Результат неудовлетворителен. Берем другой вариант - не помню подробности, кажется изменяем расстояние от рулевых поверхностей до центра масс и центра давления, но коэффициенты другие. Второй день приносит идентичный результат. Вообщем, дня через три-четыре все взвыли, пока не нашелся кто-то умный, который не подсказал, что в 24-м корпусе в терминальном классе можно работать со своей программой. Пол-дня на программу на фортране. Две минуты ожидания компиляции и вуаля. Играй коэффициентами уже в тексте программы и компоновка рождается на глазах. Первый раз в жизни испытал чувство, что я инженер, и могу что-то сотворить. И только благодаря ЭВМ.
А первые персоналки в институте появились примерно тогда же и конечно же на экономическом факультете (остальным-то зачем?). Книжка Фигурнова была "IBM PC для пользователя" - все за ней гонялись.
 
Последнее редактирование:
Реклама
А я свою первую программу написал на... калькуляторе МК-54. Была такая необычная машинка, стоила, как самый распространённый тогда инженерный калькулятор Б3-36, красивый такой! А этот был в обычном чёрном пластиковом корпусе, на гробик похож, да ещё и без аккумуляторов – только б/п или батарейки. Долго тогда выбирал, но любопытство победило. И не разочаровался. Он был просто незаменим для курсовиков по АГД или динамике полёта. Кто делал, тот помнит эти бесконечные таблицы данных, по которым рисуешь многочисленные графики... А каждое значение нужно рассчитать по определённой формуле! Народ часами сидел тыкал в калькулятор. А я тратил полчаса на то, чтобы забить в МК-шку формулу и отладить "прогу", а потом за 15 минут заполнял табличку. Народ прощучил тему и стал тупо ждать, когда я всё сделаю, а потом орал: только не стирай! И МК-шка моя шла по рукам... ;)
596616daf2350226e6790992.jpg

#ау
 
ПЛ/1 в институте был. Да и в машинных кодах разок программу писал.
Никогда не сталкивался и даже не слышал про pl/1 (даже пришлось загуглить, что за зверь). Машинный код вообще сто лет как никто на прямую не использует. Сколько вам лет, блин?

Сейчас всем правят c#, javascript, python + специализированный разные языки. Откуда вся эта древность всплыла?
 
Для ассемблера надо хорошо понимать железо, а не просто на кнопки нажимать и копипастить. Но надо железки продавать и побольше, поэтому придумали вот это все.
Ну наверное, потому что людям не нужно каждый раз изобретать велосипед. Лучше взять пусть не оптимальное решение, за то в разы более быстрое и дающее требуемый результат.
 
Бейсик ничё так себе как язык. Для быстрописания всяких левых поделий. На смену ему сегодня пришёл Питон. Тот же принцип программирования. Для критических систем не подходит. Фортран великолепен своей математической библиотекой, для числодробилок он просто лучший. Было дело, надо было с готовой программы на Фортране переписать под Паскаль, разобрался...
На паскале сложно не разобраться, это вообще изначально язык для обучения осваивающих программирование
 
Никогда не сталкивался и даже не слышал про pl/1 (даже пришлось загуглить, что за зверь). Машинный код вообще сто лет как никто на прямую не использует. Сколько вам лет, блин?

Сейчас всем правят c#, javascript, python + специализированный разные языки. Откуда вся эта древность всплыла?
Да я старый, как дерьмо мамонта. Перфокарты видел (не пользовался).
Но Фортран и Алгол, поминавшиеся выше - старше, чем PL/1.
PL/1 разработан фирмой IBM, и это был основной язык программирования в СССР для серии ЕС ЭВМ, скопированной с IBM.
 
Последнее редактирование:
Как не вспомнили Паскаль, а АДА? Как раз для критических систем используется, вот F-35 много чего для него на нём написано, для спутников используется в Америке...
Я до сих пор пишу на Lazarus - вполне себе нормально получается, оптимизация особенно работа с памятью нормально реализовано, хотя может и можно и более лучше написать эти библиотеки, но вполне себе нормально работает, особенно учитывая то, что получается нативный код...
Про Ада в самом первом комментарии человек упомянул :)
 
Как не вспомнили Паскаль, а АДА? Как раз для критических систем используется, вот F-35 много чего для него на нём написано, для спутников используется в Америке...
Я до сих пор пишу на Lazarus - вполне себе нормально получается, оптимизация особенно работа с памятью нормально реализовано, хотя может и можно и более лучше написать эти библиотеки, но вполне себе нормально работает, особенно учитывая то, что получается нативный код...
Про Ада в самом первом комментарии человек упомянул :)
 
Реклама
Да я старый, как дерьмо мамонта.
Но Фортран и Алгол, поминавшиеся выше - старше, чем PL/1.
PL/1 разработан фирмой IBM, и это был основной язык программирования в СССР для серии ЕС ЭВМ, скопированной с IBM.
Да уже прочитал.

Как забавно выходит, я лет на 20 если не больше вас моложе. Вы адепт свободной руки рынка, капитализма, западных авто трендов, хоть провели значительно часть жизни в СССР. Я же наоборот наелся так нормально современных реалий и вся эта картинка пиеуспевающего западного капиталистической мира мне совсем не близка. Живём в параллельных реальностях. Забавно.

#ау
 
скорее на логарифмической линейке))
Коллеги, не возражаете, если я все эти воспоминания тут про то, кто из форумчан какие языки программирования изучал в молодости, покрушу? (я вот тоже недавно поностальгировал и к удивлению своему спустя почти 40 лет вспомнил что-то по паскалю и даже написал небольшую программку, чтоб кое-что по-быстрому посчитать)))
Или жалко, и сделать под эти мемуары отдельную ветку в оффтопике?)
Прошу отреагировать тут: палец вверх или сердечко - снести, любая другая реакция - перенести куда-то и сохранить для потомков)) Вечером/ночью тогда по итогам этого "голосования" почищу тут
#ау
Может быть эти програмически-настольгические взрдачивания куда-нибудь в програмические ветки приклеить? Тогда через три поста там начнется оживленное обсуждение МС-21. ;)
 
Да я старый, как дерьмо мамонта. Перфокарты видел (не пользовался).
Но Фортран и Алгол, поминавшиеся выше - старше, чем PL/1.
PL/1 разработан фирмой IBM, и это был основной язык программирования в СССР для серии ЕС ЭВМ, скопированной с IBM.
Всё верно. IBM 360/370 в основе и PL/1 в качестве языка. Учил его в 1987-м на ЕС-1045.
 
ПЛК, работающие под управлением операционной системы, програмируются на языках МЭК 61131-3 (ST, IL, FBD, LD, SFC).
Без операционной системы - обычно на Си или ассемблере.
 
Никогда не сталкивался и даже не слышал про pl/1 (даже пришлось загуглить, что за зверь). Машинный код вообще сто лет как никто на прямую не использует. Сколько вам лет, блин?

Сейчас всем правят c#, javascript, python + специализированный разные языки. Откуда вся эта древность всплыла?
Ну например затем что программа написанная без всяких тредов на голом C работает примерно в 100 (СТО!!!) раз быстрее и жрет в 100 (СТО!) раз меньше памяти, чем новомодный код на питоне (пример прямо передо мной работает до сих пор, написана основа была в 1992 году еще). А код на Жабе всегда, без малейших исключений, истекает памятью, я еще ни единого исключения не встретил (даже во встроенных системах там память всегда утекает).

И были уже примеры когда хорошие программисты брали приложение которое занимало огромные объемы, писали свой вариант и он получался раз в 100 (не в 10) компактнее и быстрее. Последние примеры - код написанный когда то Бутенко и Флеровым. Так что для встроенных систем где нужна компактность - оно зачастую лучше на голом C писать и не извращаться. КОд на Вояджере до сих пор работает. Потому что его писали не быдлокодеры.

Язык Ада внедряли американские вояки решив что им нужно что то с типами. Изобрели верблюда в итоге (как известно верблюд это лошадь созданная комитетом по стандартизации). Им мало кто пользуется.
 
Раз уже пошла тут такая пьянка, то задам вопрос. Возможно тупой. А может и очень тупой. Вот смотрите, сейчас стремительным домкратом развиваются нейросети и прочий ИИ. И они уже могут сами писать код. А что если запилить такую прослойку в среде разработки на основе нейросети, которая сможет переводить современный высокоуровневый код на низкоуровневые языки. Вот, допустим, погромист написал код на современном высокоуровневом быдлоязыке, а ИИ его изучила, проанализировала и перевела на что-нибудь низкоуровневое и ресурсосберегающее, хоть на С, хоть прям на ассемблер. Ну а потом уже чтобы это компилировалось. Кто в теме, скажите, возможно ли это в принципе или то, что написано на всяких питонах и жабах, то на ассемблере выразить невозможно?
 
Ну например затем что программа написанная без всяких тредов на голом C работает примерно в 100 (СТО!!!) раз быстрее и жрет в 100 (СТО!) раз меньше памяти, чем новомодный код на питоне (пример прямо передо мной работает до сих пор, написана основа была в 1992 году еще). А код на Жабе всегда, без малейших исключений, истекает памятью, я еще ни единого исключения не встретил (даже во встроенных системах там память всегда утекает).

И были уже примеры когда хорошие программисты брали приложение которое занимало огромные объемы, писали свой вариант и он получался раз в 100 (не в 10) компактнее и быстрее. Последние примеры - код написанный когда то Бутенко и Флеровым. Так что для встроенных систем где нужна компактность - оно зачастую лучше на голом C писать и не извращаться. КОд на Вояджере до сих пор работает. Потому что его писали не быдлокодеры.

Язык Ада внедряли американские вояки решив что им нужно что то с типами. Изобрели верблюда в итоге (как известно верблюд это лошадь созданная комитетом по стандартизации). Им мало кто пользуется.
Напишите за полчаса-час какой-нибудь простой REST-Webservice на голом С, который будет обрабатывать HTTP-запросы от клиента, а для работы с данными использовать БД. На Яве я Вам такой напишу. И ничего там утекать не будет, просто сборщик мусора работает циклически, и между циклами может что-то накапливаться, но всё в итоге нормально убирается. Да и это процесс управляемый.
 
Раз уже пошла тут такая пьянка, то задам вопрос. Возможно тупой. А может и очень тупой. Вот смотрите, сейчас стремительным домкратом развиваются нейросети и прочий ИИ. И они уже могут сами писать код. А что если запилить такую прослойку в среде разработки на основе нейросети, которая сможет переводить современный высокоуровневый код на низкоуровневые языки. Вот, допустим, погромист написал код на современном высокоуровневом быдлоязыке, а ИИ его изучила, проанализировала и перевела на что-нибудь низкоуровневое и ресурсосберегающее, хоть на С, хоть прям на ассемблер. Ну а потом уже чтобы это компилировалось. Кто в теме, скажите, возможно ли это в принципе или то, что написано на всяких питонах и жабах, то на ассемблере выразить невозможно?
Так компилятор и так из Явы делает бинарный код с оптимизацией, по желанию может и нативный, т.е. оптимизированный ещё и под ОС. А Ява-машина его при выполнении ещё дальше оптимизирует. Видел примеры, когда такой код ничуть не проигрывал С по быстродействию. Зачем тут ещё что-то?
Попробуйте обработайте HTTP-запрос на ассемблере.
 
Реклама
Раз уже пошла тут такая пьянка, то задам вопрос. Возможно тупой. А может и очень тупой. Вот смотрите, сейчас стремительным домкратом развиваются нейросети и прочий ИИ. И они уже могут сами писать код. А что если запилить такую прослойку в среде разработки на основе нейросети, которая сможет переводить современный высокоуровневый код на низкоуровневые языки. Вот, допустим, погромист написал код на современном высокоуровневом быдлоязыке, а ИИ его изучила, проанализировала и перевела на что-нибудь низкоуровневое и ресурсосберегающее, хоть на С, хоть прям на ассемблер. Ну а потом уже чтобы это компилировалось. Кто в теме, скажите, возможно ли это в принципе или то, что написано на всяких питонах и жабах, то на ассемблере выразить невозможно?
Да не могут нейросети сами писать код. Они неплохо код конвертят, неплохо могут написать вам заготовку кода.

А вот с компиляторами - сложно сказать. Может оптимизация компиляторов тут и может помочь. Но не до конца. Я же не случайно пример привел. Из жизни причем работающей.

Код на C. Опрашивает сотни устройств и тысячи объектов. Один тред, тупо послали запросы составили табличку. Получили ответ нашли в табличке обработали. Занимает места нуль, работает со скоростью света.

Тот же код написанный нынешними кодерами. На каждый запрос создаем свой тред (то есть свой стек свои регистры и все прочее). Занимаем в треде память. Затем посылаем из треда запрос. Ждем в треде ответа. Обрабатываем.

Куча места занято, какждый тред последовательный (один запрос в единицу времени), и это еще если память динамически берется то еще и куча памяти. Работает такое примерно в 100 раз медленнее. Занимает примерно в 100 раз больше памяти. Никакой ИИ такое не переделает в первое. Ему просто негде научиться. ИИ то тупой, он просто угадывает _наиболее вероятный ответ на заданный ему запрос_. И того что он не делал он не сделает. ну разве что кто то ему подсунет тысячу примеров такой конвертации. Но кто бы это сделал то?
 
Назад