Комментарии 38
К сожалению это фейк. В 2024 году 3.1 ими не используется. Пруф: https://kotaku.com/southwest-airlines-windows-3-1-blue-screen-crowdstrike-1851603013
Одно дело дискеты - физические устройства, которые действительно неудобны и ненадежны (даже во времена массового распространения дискет с ними постоянно были проблемы), и другое дело - софт, который в принципе может устареть только "морально", но никак не материально:) Программа - это же абстракция, чисто математическая сущность, как она может устареть? Да, там могут быть найдены ошибки, но они и в новом софте есть.
И в этой связи неприятно, когда разработчики отказываются от поддержки старых ОС, например убирают из современных компиляторов возможность сборки под старые системы.
например убирают из современных компиляторов возможность сборки под старые системы.
Это все не от хорошей жизни - поддержка старого, требует ресурсов и (очень часто), несущих костылей в коде, чтобы все это работало. Со временем, если не делать периодическую чистку, все это превратится в дикий бардак, который будет невозможно поддерживать и тем более развиваться. Поэтому выбирают меньшее из зол, но все равно, приходится чем-то жертвовать, без этого никуда. Никто, в своем уме, если что-то не требует ресурсов, не будет это выкидывать из своего кода.
Но можно было отдать то, что не нужно, тем, кто готов это поддерживать. Кажется, в своё время китайцы просили Майкрософт продать им winxp в момент, когда они отказались от поддержки. А жаль, система была популярна. Может, и сейчас бы жила - трудолюбивые желтые люди латали бы дыры, писали софт
ну коли речь зашла о компиляторах в оригинальном ответе - то все они нынче open source, и собственно никто не мешает брать это и поддерживать для старых систем - только вот желающих кот наплакал :) Ибо вы со временем устанете постоянно актуализировать состояние нового кода и своих несущих костылей.
[как в том мультике] Кот та, поди, не маааленький.
Как показывает практика, для поддержки хорошо спроектированного софта требуется не больше 20 человек. И для огромного количества "устаревшего" железа кот их с лихвой умудряется наплакать. Кодеров там хватает не только на поддержку, но и на конкуренцию, срачи в рассылках и гонки веток. Что, конечно же, положительно сказывается на работе проекта.
Ваша же ветка дискусси выглядит забавно:
Neo: Жаль, что хозяева закрывают актуальный проект.
aegoroff: поддержка стоит денег
Radisto: если нет денег, продайте проект
aegoroff: [что-то про компиляторы]
Не надо прикрывать боязнь конкуренции и желание продвинуть новые фичи (а также возможные тёрки между отделами корпораций, тут я не уверен) ценой поддержки. Она тут вообще не причём. Владельцы просто поменяли видение продукта и теперь хотят, чтобы пользователи тоже это сделали. А их оправдание тяжестью поддержки это просто враньё и отмазки, и не надо их повторять.
Справедливости ради, MS одни из немногих кто упарывается в поддержку старых продуктов и старых api очень, ооочень долго
Вы до сих пор можете запустить 32битный win95 софт в win11 без перекомпиляции, не весь конечно уже, но всеже
Увы, но это не так. Я могу запустить 32битный win95 софт без перекомпиляции, но сделать это гораздо проще в Wine, чем в Win11.
Особенно, если этот софт делает хоть что-то сложнее, чем показ окошек.
Там целая беда с dependency hell, ворохом библиотек и прочего хлама. Как раз сейчас мучаю софт, писанный на Visual Basic 6 для запуска его в 11. В Wine запустился после двух команд. В 7 нужно было качать ворох библиотек, часть которых уже нет на сайте MS, и тащить их пришлось из "дикого интернета" или из Wine. В 11 спустя полгода неспешных попытак по вечерам выходных всё ещё безрезультатно.
В 7 нужно было качать ворох библиотек, часть которых уже нет на сайте MS
вангую что это пачка разных ocx? так это проблема не ОС, а того что тот кто софт собирал не озадачился правильным сбором пакета установки
Увы, но это не так. Я могу запустить 32битный win95 софт без перекомпиляции, но сделать это гораздо проще в Wine, чем в Win11.
Особенно, если этот софт делает хоть что-то сложнее, чем показ окошек.
попробуйте тоже самое с линуксовым софтом 95 года провернуть
а вообще в Win11 никто официально не обещал поддержку софта 95 винды, то что он хоть както работает это уже чудо
проблема тут скорее в том что софт Win9x и NT вообще слабо совместим был и в те времена
правильнее было бы сравнивать Win2k софт и Win11
у меня есть софтина 2008 года, которая под 64-битными виндами не может достучаться до ком-порта. и еще несколько, которые под 10 виндами некорректно отображают интерфейс, даром что .NET-овские.
вангую что его разработчики заюзали какието костыльные способы доступа к ком портам и с отрисовкой интерфейса
виндовые десктоп разработчики в свое время очень любили такое делать, начиная с ассемблерных вставок в делфи и заканчивая всякими корявыми сторонними библиотеками которые никто не поддерживает ну и повальное использование недокументированных ф-ций ОС где нужно и не нужно
ну там явно где-то обкостылились, но шутка в том, что софт от других линеек радиостанций (даже более древний) как правило работает корректно.
и с интерфейсом так же - одни нормально, другие глючат, хотя стек один и тот же.
Вот эти "костыли" и есть "что-то сложнее, чем просто нарисовать окна"
Да и вообще, заявлять что Windows поддерживает обратную совместимость, а всё что не поддерживается - это просто костыли очень удобно, согласен.
Мне надо очень часто запускать старый софт от научных девайсов. И там сплошные, как вы выражаетесь, костыли. Когда его писали, то заботились о том, чтобы поток данных не прерывался и данные не терялись. А чтобы этого добиться на системах, не обладавших на тот момент огромным оверхедом по производительности, приходилось ходить не прямыми путями: WIn95 не RTOS, и гарантий обработки следующего байта вовремя тебе ОС не даст.
Да, это не то решение, которое предлагал гайд от MS. Да, у него проблемы с переносимостью. Но оно было единственным работающим у той команы разработчиков.
Да и вообще, заявлять что Windows поддерживает обратную совместимость, а
всё что не поддерживается - это просто костыли очень удобно, согласен.
А с чем сравнить? в сравнении с линуксом, макосом и прочими ОС, у винды просто чумовая совместимость изкоробки со старым софтом
удобно не удобно, но факт, что тут она вообще есть
А зачем сравнивать? Если все варианты отвратительны, а один плохой, то сравнивая, мы получим, что плохое превращается в хорошее без каких-либо усилий.
Я сравниваю запуск старых приложений в новой винде, старых приложений в старой винде и виртуалке и в эмуляторе, например Wine. И в моём сравнении у текущей, рекламируемой версии винды совместимость хуже всех. Могу так сравнить? могу! Мне же запустить надо, а не какие-то виртуальные ачивки.
Под старый Linux таких приложений я не нахожу. То, что когда-то запускалось в старом линуксе а теперь надо запустить в новом поставляется в виде исходников. Да, там тоже ад с запуском, часть API поменяли, часть библиотек ушла в небытие. Самый смак был когда надо было пробовать все версии компилятора фортрана чтобы найти рабочий (так и не удалось, к слову).
Но это вотэбаутизм. Ваше утверждение: зато в Windows есть сохранение совместимости. Моё утверждение: нет, нету. Приходится ставить виртуалки/эмуляторы, так выходит проще и надёжнее. Никаких сравнений, просто факты.
рекламируемой версии винды совместимость хуже всех
в 11? конечно, повторюсь, там никто не обещал совместимости с Win95 да и MS уже давно не те...они кое как тащили совместимость как концепт гдето до 7 версии, а потом маркетологи победили.
но повторюсь, она там вообще есть как понятие
Под старый Linux таких приложений я не нахожу.
"у меня такаяже нога и не болит" (с) ... удобно ;)
почемуто мир винды и линукса противопоставляется както однобоко
в винде все проприетарно, а в линуксе всё в опенсорсе
да блин Oracle клиент для линукса 2004 года вы можете на современном Debian запустить? скажете что надо бросить проклятый проприетарный оракл и срочно переходить на постгри потому что это недостаточно опенсорсно?
да, в винде тоже такие проблемы, в 11 версии они самые суровые потому что начиная с 10 они там зарубили огромное количество легаси и совместимостью. но в 7-8 еще можно было запускать корпоративный софт написанный под Win2k без особых приседаний даже если сам софт текущую ОС не поддерживает напрямую
в юниксах вообще было не принято морочится таким
Никаких сравнений, просто факты.
факт в том что софт написанный под Win7 заработает в бинарниках в 11 версии в 90% случаев, а написанный под линукс 09 года в бинарниках - скорее всего нет
вот вам факты
я говорю про сугубо ентерпрайзный софт без исходников...да и проблему исходников у линукса вы очень правильно описали
Ещё раз мой тезис: миф про обратную совместимость это миф, и нет её уже давно. И линукс тут не при чём.
Но вы втянули меня в дискуссию про линукс, и даже тут я позволю себе не согласиться.
Если под "софт в бинарниках" вы подразумеваете то же самое, что и я - дамп папки из Program Files со старого харда, то не будет ни 90%, ни даже 10%. Программа не запустится, потому, что кроме бинарников ей нужны ключи в реестре, библиотеки. Нужно искать не "софт в бинарнике", а пакет для установки - дистрибутив. В винде это заархивированный "софт в бинарниках" и библиотеки, а также деплой скрипт с ключами реестра. В линуксе - исходник и скрипт компиляции. И если сравнить уже дистрибутивы, то будет примерно те же 90% исходников, популярных и распростронявшихся в 09 можно собрать в 2024 и даже запустить.
Но вы втянули меня в дискуссию про линукс,
я просто проводу параллели, возьмите вместо линукса солярку, bsd или макос (тут кстати ситуация более предскауемая) суть останется тойже
Нужно искать не "софт в бинарнике", а пакет для установки - дистрибутив
конечно дистрибутив, в линуксе это более сложное понятие благодаря unixway
И если сравнить уже дистрибутивы, то будет примерно те же 90%
исходников, популярных и распростронявшихся в 09 можно собрать в 2024 и
даже запустить.
дистрибутив конкретного софта или всей ОС?
если дистрибутив софта, то у вас скорее всего ничего не получится, даже установить просто из-за несовместимости версий библиотек... это в винде было принято все дллки и дистрибутивы сторонних фрейворков таскать с собой рядом и встраивать в разнокалиберные installshield которые тащут с собой всё что нужно для запуска не опираясь на то что в ОС уже есть
в юниксах там будет тупо зависимость типа требуется питон 2.7.1 ...а у вас в системе 3.10...а 2.7 уже depricated..и если с питоном еще всё решаемо, то какойнить libhal в зависимостях скорее всего уже приговором будет
я просто проводу параллели, возьмите вместо линукса солярку, bsd или
макос (тут кстати ситуация более предскауемая) суть останется тойже
А dos можно?
если дистрибутив софта, то у вас скорее всего ничего не получится, даже
установить просто из-за несовместимости версий библиотек...
Ну попробуйте. В Linux уже давно есть возможность ставить разные версии библиотек, и мне иногда приходится компилять старые софтины. Ничего, указываю версию и всё часто встаёт само. И это я промолчу про контейнеры, которые сейчас повсеместно распростронены в Linux. Где вы можете собрать, как вы выражаетесь, "дистрибутив всей ОС". Такой уровень обратной совместимости и гибкости в Windows тоже можно добиться, но выходит почему-то гораздо сложнее, и люди из девопс этого не любят.
ичего, указываю версию и всё часто встаёт само.
вы говорите как это делать то- "открываешь значить makefile и на 31243 строчке меняешь ссылку, дальше ищешь где он ищет либы. вписываешь туда фиксированную версию, делаешь линк туда в файловой системе.... и т.п."
а если софт еще и без исходников поставляется (даже не заикайтесь о том что "а ненадо использоватьсофт без исходников) то еще веселее все становится"
вот разве что докер поможет
Такого софта, который действительно нужно как-то специально поддерживать для совместимости с прежними версиями ОС, в общей массе довольно мало. Как правило, это бывает в сферах безопасности, предельно высокой производительности, и подобных маргинальных областях. Обычный же софт, который уже когда-то работал на прежних версиях ОС, достаточно просто не трогать. :) Исправлять ошибки, добавлять новые функции (возможно, завязанные на новые версии ОС), но от старого отказываться лишь после того, как оно уже практически никому не нужно.
Чаще всего совместимость теряется просто потому, что кто-то увидел в новой версии ОС встроенную реализацию функции, для реализации которой у себя когда-то написали несколько десятков (или даже сотен) строк кода. Это объявляется достаточной причиной для того, чтобы повысить уровень системных требований, и заменить свою функцию на вызов системной.
Реже используют какие-нибудь новомодные визуальные плюшки, которые нередко тоже несложно поддержать динамически, не ломая работающего кода.
Чаще всего совместимость теряется просто потому, что кто-то увидел в новой версии ОС встроенную реализацию функции, для реализации которой у себя когда-то написали несколько десятков (или даже сотен) строк кода.
Все так, но часто не только из-за новой функции ОС поднимаются требования - часто дело и в железе - например использование новых инструкций процессора, например появилась поддержка аппаратного вычисления SHA-1, CRC32 и пр.
Ну а где это нужно вычислять аппаратно? Правильно - в сферах безопасности и/или предельно высокой производительности. Там, где не нужно экономить микро- и миллисекунды, по-прежнему справляются и древние программные реализации.
Посмотрите на тот софт, что есть у Вас - какой его части действительно нужны функции из версий ОС, добавленные за последние десять-двадцать-тридцать лет?
Посмотрите на тот софт, что есть у Вас - какой его части действительно нужны функции из версий ОС, добавленные за последние десять-двадцать-тридцать лет?
его полно - AVX2 и иже с ним, много где нужны и они реально ускоряют. Видео, расчеты, работа ОС, да много чего. Да для перекладывания JSONов это как правило не нужно.
"Полно" - это какая доля? Ну вот Вы сколько используете программных продуктов, и для какого подмножества из них вышеперечисленное необходимо функционально, а не для дополнительного украшения или отчета о том, что очередная новая возможность успешно освоена?
Математические расчеты - согласен. Но это сфера математических задач, моделирования, обработки изображений/видео/звука и т.п. - то есть, специализированные, не массовые задачи. "Видео" - что именно? С распаковкой и показом видео отлично справлялись еще Win98 и 2k на тогдашних процессорах. "Работа ОС" - что это? Без каких функций ОС, добавленных за последние лет двадцать, не может обойтись софт более-менее общего назначения, а не редкий/специальный?
Полно" - это какая доля?
Да собственно везде где видео используется, я тот же браузер например, или любой плеер или например ffmpeg. Точно я вам не скажу, да и надо ли? Да конечно можно обойтись и без этих новых инструкций. Современный проц и это вытянет, но какой ценой - без аппаратного декодирования, тот же plex, при декодировании более менее большого файла загружен почти полностью и для другой работы места не остается, а это очень нежелательно.
> "Работа ОС" - что это? Без каких функций ОС, добавленных за последние лет двадцать, не может обойтись софт более-менее общего назначения, а не редкий/специальный?
Да без всего можно обойтись, но только ценой увеличения нагрузки на ЦП но зачем? Тот же SHA-1 используется в том же git для хэшей, да много где еще он используется для проверки целостности, а не только в безопасности кстати. И круто когда это ничего не стоит.
везде где видео используется
И как это видео работало 10-20-30 лет назад? :) Я не помню, чтоб оно тормозило или заметно грузило ЦП - аппаратное ускорение со стороны видеоадаптера стали применять еще с 90-х.
тот же браузер например
Я Вас умоляю. :) В браузерах чаще всего тормозит JS. И даже не потому, что интерпретируемый, а потому, что кривой почти весь.
тот же plex, при декодировании более менее большого файла загружен почти полностью и для другой работы места не остается
А какие объективно полезные задачи решает plex, по сравнению с обычным видеоплейером?
Тот же SHA-1 используется в том же git для хэшей, да много где еще он используется для проверки целостности
И с какой частотой, в каком объеме необходимо вычисление SHA-1 на типовом компьютере, а не на сервере или компьютере серьезного разработчика?
круто когда это ничего не стоит
Да, это ключевая фраза. :) "Больше халявы!" - а для чего? А чтоб тратить [условно] халявные ресурсы, не задумываясь об их глобальной стоимости.
Еще очень интересно, почему при использовании аппаратной реализации функций, которые прежде реализовывались программно, объемы софта никогда не уменьшаются, а только растут? :)
И как это видео работало 10-20-30 лет назад? :) Я не помню, чтоб оно
тормозило или заметно грузило ЦП - аппаратное ускорение со стороны
видеоадаптера стали применять еще с 90-х.
на P200mmx MP4 видео было невозможно смотреть в принципе на видеокартах тех лет, максимум короткие пережатые клипы
потом у меня был Celeron 800 и Gf2MX400 и просмотр фильма отжирал 70-80% загрузки процессора, в те годы фильмы кодировали кто в чем горазд и совершенно не факт что таким кодеком который ваша видеокарта поддерживает
И как это видео работало 10-20-30 лет назад?
10-20-30 лет назад не было сжатого 4К видео
А какие объективно полезные задачи решает plex, по сравнению с обычным видеоплейером?
категоризация, удобный интерфейс, всеядность, раздача по сети и много чего еще. У меня даже в телевизоре 10 летней давности есть plex клиент
PS: давайте закончим этот диалог - ни вы меня не убедите, ни я вас, просто впустую тратим время
Из компиляторов, как таковых, поддержку убирают редко. Компилятор, с точки зрения ОС - совершенно ординарное приложение, читающее одни файлы и создающее другие. Сомневаюсь, чтоб хоть одному из существующих компиляторов, работающих под современными версиями ОС, было недостаточно версий 20- или 30-летней давности, при условии совместимости по архитектуре ОС (скажем, Win32 в винде). А современному компилятору под линукс должно быть достаточно любого униха 70-80-х годов.
Поддержку обычно убирают из служебной библиотеки (например, CRT для C/C++). Она, как правило, завязана на функции ОС - национальные алфавиты, валюты и т.п., порождение процессов/потоков, работа с памятью (например, блокировка выполнения данных, как кода), шифрование, сети и прочее. Если этого не использовать, то обычно нетрудно сделать программу, работающую в прежних версиях ОС.
Например, последними версиями VC++ из VS 2022 нет проблем делать EXE/DLL, работающие в Win95. Разумеется, десятком кликов не обойтись, но ничего сверхсложного в этом нет.
Boeing-747 разработка конца 60-х годов. Удивительно, что там софт на дискетах даже. С производства его уже сняли. Так, что переделывать его как бы некому. Да и не нужно это делать.
В 748 уже более новый софт. Как минимум там появились плюшки с более новых моделей, VSD, навигация по аэропорту и всё такое. Да и кокпит более-менее унифицировли с 777.
разработка 60-х, но авионика менялась, причем неоднократно. И на ранее выпущенных моделях, а на более поздних ставилась все более современная до самого конца выпуска. Вот на тех ,что были выпущены в 80-е годы или раньше, но с обновленной авионикой, хард остался под дискеты.
Я же говорил: "Работает? Не трогай!"
А компанию не могло спасти то, что она НЕ использовала этот антивирус? Именно этот, потому что причем тут версия винды, если в бсод она падала из-за антивируса конкретной фирмы.
Если использовать системы до XP, то лучше уж 2k SP6. Ни одну другую винду MS не вылизывала так тщательно.
Windows 3.1 спасла авиакомпанию Southwest Airlines