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

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

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

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

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

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

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

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

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

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

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

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