Сообщение Re[31]: История компьютеров в СССР от 10.10.2023 11:46
Изменено 10.10.2023 11:50 vdimas
Re[31]: История компьютеров в СССР
Здравствуйте, netch80, Вы писали:
V>>Собсно, когда я рассуждал о том, чтобы заменить ЕС ЭВМ новыми i486-ми, это можно было сделать только на UNIX-системе с терминалами.
V>>Безальтернативно! ))
N>Такс... хост на 486, а терминалы на 8086?
На чём угодно, хоть на Корветах или имеющиеся терминалы от ЕС на RS232 с хабом, который для RS232 паяется на коленке.
Я ж тогда рассуждал о задачах числодробилок (пусть студенческого уровня, не выше курсовика, но тем не менее)
N>По состоянию на 2000 FreeBSD было больше, чем Linux — стабильнее по массе параметров
Возможно.
На тот год я всё еще считал Linux игрушечной системой.
А на работе тогда поддерживали в мультиплатформе еще и SunOS (тоже юниха).
N>В конторах которые активно использовали юниксы и были нашими клиентами — были линуксы, но на них смотрели как на игрушку, больше всего было Solaris, некоторое количество HP-UX. AIX почти не было.
Я тоже ни разу не видел AIX, серваки RS/6000 и выше были дорогими для реалий экс-СССР.
N>Про "безальтернативно" — нет, винда тоже использовалась. Хотя лицензионные проблемы и тогда уже начали давить. Но именно на середину 90-х там обычно были вообще спец-ОС, никак не мэйнстрим.
Академические уникальные сборки различных юнихов всегда.
Студни на этом делали дипломы, а аспиранты — кандидатские про паралелльные вычисления. ))
V>>Ведь академические круги ВСЕГДА определяют будущее.
V>>На чём студент вырос, то он и будет толкать.
N>Абсолютно верно.
N>Студенты 90-х уже росли на персоналках. На юниксе они могли сдавать что-то, но для себя они росли на DOS + Windows.
Это если офисные приложухи.
Сетку у нас держали сначала NetWare, позже различные юниха.
С приходом глобального интернета (примерно с 98-го в нашей провинции) во всех без исключения конторах, в которых работал или в которых помогал настроить окружение — в кач-ве шлюза всегда юниховая машинка.
N>А в вузах? Гейтс винду всех видов в вузы бесплатно отдавал.
Еще раз — это на десктопе.
V>>Ты не обратил внимания, разве, что основную массу программеров составляют люди, обучавшиеся в ВУЗ-ах по IT-специальностям примерно с 88-89-го года и позже?
V>>(или получавшие второе профильное IT-образование после этих дат)
N>Ты про какую местность говоришь? exUSSR?
Да.
N>Открытых спецификаций не было. POSIX был платным
Это копейки, если речь о разработке новой системы.
V>>Эти системы изначально разрабатывались с расчётом на обширную совместимость прикладных программ в исходных кодах, отсюда столь подробные спецификации даже достаточно низких уровней.
N>Первая часть — да. Вторая — нет. Специфицированы была, по сути, libc и основные userland утилиты. Это всё. Тебе не давали никаких гарантий ни на сисколлы, ни на ядро.
А какая разница — библиотечная реализация или там сисколл под макросом?
Например, в АПИ семафоров тех лет:
https://man7.org/linux/man-pages/man2/semop.2.html
(в линухах были сисколлы под макрой)
Главное, что на уровне исходников происходит совместимость.
Далее.
Само наличие семафоров уже диктует многозадачность, но не диктует её тип — вытесняющий или кооперативный, с переключением в момент опроса примитивов синхронизации.
В этом месте происходит абстрагирование от конкретной реализации.
V>>Для сравнения, твои AS/400 выполняли пляски с бубном над бинарными образами, вместо исходников, поэтому почили в бозе, ес-но.
N>Не почили. Ты не в курсе аж вообще. У них бинарные образы вспомогательны, основа — виртуальная транслируемая или интерпретируемая VM, с AOT или JIT.
Я про это и говорил, что сделали упор на переносимость бинарных образов.
N>Представь себе один большой JVM или .NET рантайм на всех пользователей с разделением доступа к объектам по привилегиям.
Не, там техники навроде AOT, вроде, а не JIT-рантайм.
Хотя, могу ошибаться, я о тех системах только в IT-журналах читал, которые в обязаловку выписывал примерно до середины нулевых))
V>>Да просто посмотри на исходники FreeBSD и на исходники тогдашних линухов...
V>>Первое — это ужас, летящий на крыльях ночи. Авторов повесить, потом расстрелять.
N>Не вижу ужасного. Ткни пальцем в конкретные места.
Сам стиль кода, способ его организации.
Читабельность страдает.
V>>Второе — современная (по тем временам) приятная конфетка, глаз радовался.
N>Вот эти как раз до сих пор жутковаты.
Читабельность не в разы лучше, что по тем временам нонсенс.
Потому что системные исходники по тем временам было принято писать __в_Ужасном_стиЛе__ (про typedef забыли?), с БЕСКОНЕЧНЫМИ_ПО_ДЛИНЕ_ИДЕНТИФИКАТОРАМИ_МАКР (push/pop для макр нет?), вычурным форматированием, непоследовательной разбивкой на гигантские модули и прочим таким бредом.
А код линухов читался как "просто код" ))
Модули вменяемого небольшого размера.
Мне исходники заходили сходу, напрягать моск не требовалось от слова совсем.
Кстате, исходники мелкомягкого CRT/CppRT тоже с какой-то версии стали более-менее читабельны. ))
V>>Зато он задал отличный дух исходникам, у товарища определённо неплохой вкус.
V>>Этот стиль легко и приятно читается даже сегодня, спустя ~30 лет.
N>У меня строго противоположные впечатления.
А системный код точно должен задавать "планку входа" для избранных? ))
Или это такой же код, как любой другой?
Там ничего военного не происходит, везде примитивщина, стоило оформить код по-людски.
N>А при чём тут вообще WinRT? Он поверх WinAPI работает.
Там всё запутанно.
Изначально на WinAPI частично (хотя и по большей части), теперь наоборот — WinAPI во многом маппится при линковке на "родные" реализации WinRT.
V>>Плюс непонятки с GUI.
V>>В старых системах был общесистемный оконный USER+GDI, в новой версии общесистемный только XAML в песочнице WinRT...
N>Ты про десктоп говоришь или про где? Никто тебе не запрещает эти user+GDI использовать.
При том, что десктоп работает поверх DirectX и к этому DirectX есть доступ?
Но нет системной оконной либы, кроме XAML-ориентированной? ))
Это ж, блин...
Нельзя разве было отделить мух от котлет — контролы отдельно, "движок" описания композиции (буде кто хочет именно XAML) — отдельно?
N>То же самое. Десктоп — налево. Сервер — направо. Ну, почти всегда. Кто хочет переносимости — жаба, дотнет и прочая.
Ну хоть дотнет "отдали народу".
И он только сейчас всерьёз выстреливает. ))
N>Разрабатывать "ПО следующих поколений" невозможно, пока нет точных требований. По моему опыту в той конторе, где больше всего работал, за год меняется 5-10% требований к каждому крупному компоненту. За 10 лет они могут измениться чуть менее чем полностью.
N>Что ты предлагаешь — вместо разработки аккумулировать деньги на спецсчетах?
Я с самого начала говорил — что.
У них был успех в GUI-приложухах.
Если охота было свою ось — можно было поступить как яблочники, взять готовое ядро с окружением и присобачить к нему GUI и прочие сугубо прикладные навороты.
У яблочников было меньше ресурсов, они были вынуждены так сделать, и это их спасло.
Но это же сработало бы и при избытке ресурсов, только отдача могла быть больше. ))
V>>Собсно, когда я рассуждал о том, чтобы заменить ЕС ЭВМ новыми i486-ми, это можно было сделать только на UNIX-системе с терминалами.
V>>Безальтернативно! ))
N>Такс... хост на 486, а терминалы на 8086?
На чём угодно, хоть на Корветах или имеющиеся терминалы от ЕС на RS232 с хабом, который для RS232 паяется на коленке.
Я ж тогда рассуждал о задачах числодробилок (пусть студенческого уровня, не выше курсовика, но тем не менее)
N>По состоянию на 2000 FreeBSD было больше, чем Linux — стабильнее по массе параметров
Возможно.
На тот год я всё еще считал Linux игрушечной системой.
А на работе тогда поддерживали в мультиплатформе еще и SunOS (тоже юниха).
N>В конторах которые активно использовали юниксы и были нашими клиентами — были линуксы, но на них смотрели как на игрушку, больше всего было Solaris, некоторое количество HP-UX. AIX почти не было.
Я тоже ни разу не видел AIX, серваки RS/6000 и выше были дорогими для реалий экс-СССР.
N>Про "безальтернативно" — нет, винда тоже использовалась. Хотя лицензионные проблемы и тогда уже начали давить. Но именно на середину 90-х там обычно были вообще спец-ОС, никак не мэйнстрим.
Академические уникальные сборки различных юнихов всегда.
Студни на этом делали дипломы, а аспиранты — кандидатские про паралелльные вычисления. ))
V>>Ведь академические круги ВСЕГДА определяют будущее.
V>>На чём студент вырос, то он и будет толкать.
N>Абсолютно верно.
N>Студенты 90-х уже росли на персоналках. На юниксе они могли сдавать что-то, но для себя они росли на DOS + Windows.
Это если офисные приложухи.
Сетку у нас держали сначала NetWare, позже различные юниха.
С приходом глобального интернета (примерно с 98-го в нашей провинции) во всех без исключения конторах, в которых работал или в которых помогал настроить окружение — в кач-ве шлюза всегда юниховая машинка.
N>А в вузах? Гейтс винду всех видов в вузы бесплатно отдавал.
Еще раз — это на десктопе.
V>>Ты не обратил внимания, разве, что основную массу программеров составляют люди, обучавшиеся в ВУЗ-ах по IT-специальностям примерно с 88-89-го года и позже?
V>>(или получавшие второе профильное IT-образование после этих дат)
N>Ты про какую местность говоришь? exUSSR?
Да.
N>Открытых спецификаций не было. POSIX был платным
Это копейки, если речь о разработке новой системы.
V>>Эти системы изначально разрабатывались с расчётом на обширную совместимость прикладных программ в исходных кодах, отсюда столь подробные спецификации даже достаточно низких уровней.
N>Первая часть — да. Вторая — нет. Специфицированы была, по сути, libc и основные userland утилиты. Это всё. Тебе не давали никаких гарантий ни на сисколлы, ни на ядро.
А какая разница — библиотечная реализация или там сисколл под макросом?
Например, в АПИ семафоров тех лет:
https://man7.org/linux/man-pages/man2/semop.2.html
(в линухах были сисколлы под макрой)
Главное, что на уровне исходников происходит совместимость.
Далее.
Само наличие семафоров уже диктует многозадачность, но не диктует её тип — вытесняющий или кооперативный, с переключением в момент опроса примитивов синхронизации.
В этом месте происходит абстрагирование от конкретной реализации.
V>>Для сравнения, твои AS/400 выполняли пляски с бубном над бинарными образами, вместо исходников, поэтому почили в бозе, ес-но.
N>Не почили. Ты не в курсе аж вообще. У них бинарные образы вспомогательны, основа — виртуальная транслируемая или интерпретируемая VM, с AOT или JIT.
Я про это и говорил, что сделали упор на переносимость бинарных образов.
N>Представь себе один большой JVM или .NET рантайм на всех пользователей с разделением доступа к объектам по привилегиям.
Не, там техники навроде AOT, вроде, а не JIT-рантайм.
Хотя, могу ошибаться, я о тех системах только в IT-журналах читал, которые в обязаловку выписывал примерно до середины нулевых))
V>>Да просто посмотри на исходники FreeBSD и на исходники тогдашних линухов...
V>>Первое — это ужас, летящий на крыльях ночи. Авторов повесить, потом расстрелять.
N>Не вижу ужасного. Ткни пальцем в конкретные места.
Сам стиль кода, способ его организации.
Читабельность страдает.
V>>Второе — современная (по тем временам) приятная конфетка, глаз радовался.
N>Вот эти как раз до сих пор жутковаты.
Читабельность не в разы лучше, что по тем временам нонсенс.
Потому что системные исходники по тем временам было принято писать __в_Ужасном_стиЛе__ (про typedef забыли?), с БЕСКОНЕЧНЫМИ_ПО_ДЛИНЕ_ИДЕНТИФИКАТОРАМИ_МАКР (push/pop для макр нет?), вычурным форматированием, непоследовательной разбивкой на гигантские модули и прочим таким бредом.
А код линухов читался как "просто код" ))
Модули вменяемого небольшого размера.
Мне исходники заходили сходу, напрягать моск не требовалось от слова совсем.
Кстате, исходники мелкомягкого CRT/CppRT тоже с какой-то версии стали более-менее читабельны. ))
V>>Зато он задал отличный дух исходникам, у товарища определённо неплохой вкус.
V>>Этот стиль легко и приятно читается даже сегодня, спустя ~30 лет.
N>У меня строго противоположные впечатления.
А системный код точно должен задавать "планку входа" для избранных? ))
Или это такой же код, как любой другой?
Там ничего военного не происходит, везде примитивщина, стоило оформить код по-людски.
N>А при чём тут вообще WinRT? Он поверх WinAPI работает.
Там всё запутанно.
Изначально на WinAPI частично (хотя и по большей части), теперь наоборот — WinAPI во многом маппится при линковке на "родные" реализации WinRT.
V>>Плюс непонятки с GUI.
V>>В старых системах был общесистемный оконный USER+GDI, в новой версии общесистемный только XAML в песочнице WinRT...
N>Ты про десктоп говоришь или про где? Никто тебе не запрещает эти user+GDI использовать.
При том, что десктоп работает поверх DirectX и к этому DirectX есть доступ?
Но нет системной оконной либы, кроме XAML-ориентированной? ))
Это ж, блин...
Нельзя разве было отделить мух от котлет — контролы отдельно, "движок" описания композиции (буде кто хочет именно XAML) — отдельно?
N>То же самое. Десктоп — налево. Сервер — направо. Ну, почти всегда. Кто хочет переносимости — жаба, дотнет и прочая.
Ну хоть дотнет "отдали народу".
И он только сейчас всерьёз выстреливает. ))
N>Разрабатывать "ПО следующих поколений" невозможно, пока нет точных требований. По моему опыту в той конторе, где больше всего работал, за год меняется 5-10% требований к каждому крупному компоненту. За 10 лет они могут измениться чуть менее чем полностью.
N>Что ты предлагаешь — вместо разработки аккумулировать деньги на спецсчетах?
Я с самого начала говорил — что.
У них был успех в GUI-приложухах.
Если охота было свою ось — можно было поступить как яблочники, взять готовое ядро с окружением и присобачить к нему GUI и прочие сугубо прикладные навороты.
У яблочников было меньше ресурсов, они были вынуждены так сделать, и это их спасло.
Но это же сработало бы и при избытке ресурсов, только отдача могла быть больше. ))
Re[31]: История компьютеров в СССР
Здравствуйте, netch80, Вы писали:
V>>Собсно, когда я рассуждал о том, чтобы заменить ЕС ЭВМ новыми i486-ми, это можно было сделать только на UNIX-системе с терминалами.
V>>Безальтернативно! ))
N>Такс... хост на 486, а терминалы на 8086?
На чём угодно, хоть на Корветах или имеющиеся терминалы от ЕС на RS232 с хабом, который для RS232 паяется на коленке.
Я ж тогда рассуждал о задачах числодробилок (пусть студенческого уровня, не выше курсовика, но тем не менее)
N>По состоянию на 2000 FreeBSD было больше, чем Linux — стабильнее по массе параметров
Возможно.
На тот год я всё еще считал Linux игрушечной системой.
А на работе тогда поддерживали в мультиплатформе еще и SunOS (тоже юниха).
N>В конторах которые активно использовали юниксы и были нашими клиентами — были линуксы, но на них смотрели как на игрушку, больше всего было Solaris, некоторое количество HP-UX. AIX почти не было.
Я тоже ни разу не видел AIX, серваки RS/6000 и выше были дорогими для реалий экс-СССР.
N>Про "безальтернативно" — нет, винда тоже использовалась. Хотя лицензионные проблемы и тогда уже начали давить. Но именно на середину 90-х там обычно были вообще спец-ОС, никак не мэйнстрим.
Академические уникальные сборки различных юнихов всегда.
Студни на этом делали дипломы, а аспиранты — кандидатские про паралелльные вычисления. ))
V>>Ведь академические круги ВСЕГДА определяют будущее.
V>>На чём студент вырос, то он и будет толкать.
N>Абсолютно верно.
N>Студенты 90-х уже росли на персоналках. На юниксе они могли сдавать что-то, но для себя они росли на DOS + Windows.
Это если офисные приложухи.
Сетку у нас держали сначала NetWare, позже различные юниха.
С приходом глобального интернета (примерно с 98-го в нашей провинции) во всех без исключения конторах, в которых работал или в которых помогал настроить окружение — в кач-ве шлюза всегда юниховая машинка.
N>А в вузах? Гейтс винду всех видов в вузы бесплатно отдавал.
Еще раз — это на десктопе.
V>>Ты не обратил внимания, разве, что основную массу программеров составляют люди, обучавшиеся в ВУЗ-ах по IT-специальностям примерно с 88-89-го года и позже?
V>>(или получавшие второе профильное IT-образование после этих дат)
N>Ты про какую местность говоришь? exUSSR?
Да.
N>Открытых спецификаций не было. POSIX был платным
Это копейки, если речь о разработке новой системы.
Суть в том, что разработать платную альтернативу виндам, используя открытые winapi, было низзя.
(по крайней мере тогда, ХЗ как сегодня)
Т.е. плата за POSIX — это была копеечная плата за само обслуживание открытого для любых желающих стандарта, а не некая чудовищная в деньгах роялти за проприетарщину.
V>>Эти системы изначально разрабатывались с расчётом на обширную совместимость прикладных программ в исходных кодах, отсюда столь подробные спецификации даже достаточно низких уровней.
N>Первая часть — да. Вторая — нет. Специфицированы была, по сути, libc и основные userland утилиты. Это всё. Тебе не давали никаких гарантий ни на сисколлы, ни на ядро.
А какая разница — библиотечная реализация или там сисколл под макросом?
Например, в АПИ семафоров тех лет:
https://man7.org/linux/man-pages/man2/semop.2.html
(в линухах были сисколлы под макрой)
Главное, что на уровне исходников происходит совместимость.
Далее.
Само наличие семафоров уже диктует многозадачность, но не диктует её тип — вытесняющий или кооперативный, с переключением в момент опроса примитивов синхронизации.
В этом месте происходит абстрагирование от конкретной реализации.
V>>Для сравнения, твои AS/400 выполняли пляски с бубном над бинарными образами, вместо исходников, поэтому почили в бозе, ес-но.
N>Не почили. Ты не в курсе аж вообще. У них бинарные образы вспомогательны, основа — виртуальная транслируемая или интерпретируемая VM, с AOT или JIT.
Я про это и говорил, что сделали упор на переносимость бинарных образов.
N>Представь себе один большой JVM или .NET рантайм на всех пользователей с разделением доступа к объектам по привилегиям.
Не, там техники навроде AOT, вроде, а не JIT-рантайм.
Хотя, могу ошибаться, я о тех системах только в IT-журналах читал, которые в обязаловку выписывал примерно до середины нулевых))
V>>Да просто посмотри на исходники FreeBSD и на исходники тогдашних линухов...
V>>Первое — это ужас, летящий на крыльях ночи. Авторов повесить, потом расстрелять.
N>Не вижу ужасного. Ткни пальцем в конкретные места.
Сам стиль кода, способ его организации.
Читабельность страдает.
V>>Второе — современная (по тем временам) приятная конфетка, глаз радовался.
N>Вот эти как раз до сих пор жутковаты.
Читабельность не в разы лучше, что по тем временам нонсенс.
Потому что системные исходники по тем временам было принято писать __в_Ужасном_стиЛе__ (про typedef забыли?), с БЕСКОНЕЧНЫМИ_ПО_ДЛИНЕ_ИДЕНТИФИКАТОРАМИ_МАКР (push/pop для макр нет?), вычурным форматированием, непоследовательной разбивкой на гигантские модули и прочим таким бредом.
А код линухов читался как "просто код" ))
Модули вменяемого небольшого размера.
Мне исходники заходили сходу, напрягать моск не требовалось от слова совсем.
Кстате, исходники мелкомягкого CRT/CppRT тоже с какой-то версии стали более-менее читабельны. ))
V>>Зато он задал отличный дух исходникам, у товарища определённо неплохой вкус.
V>>Этот стиль легко и приятно читается даже сегодня, спустя ~30 лет.
N>У меня строго противоположные впечатления.
А системный код точно должен задавать "планку входа" для избранных? ))
Или это такой же код, как любой другой?
Там ничего военного не происходит, везде примитивщина, стоило оформить код по-людски.
N>А при чём тут вообще WinRT? Он поверх WinAPI работает.
Там всё запутанно.
Изначально на WinAPI частично (хотя и по большей части), теперь наоборот — WinAPI во многом маппится при линковке на "родные" реализации WinRT.
V>>Плюс непонятки с GUI.
V>>В старых системах был общесистемный оконный USER+GDI, в новой версии общесистемный только XAML в песочнице WinRT...
N>Ты про десктоп говоришь или про где? Никто тебе не запрещает эти user+GDI использовать.
При том, что десктоп работает поверх DirectX и к этому DirectX есть доступ?
Но нет системной оконной либы, кроме XAML-ориентированной? ))
Это ж, блин...
Нельзя разве было отделить мух от котлет — контролы отдельно, "движок" описания композиции (буде кто хочет именно XAML) — отдельно?
N>То же самое. Десктоп — налево. Сервер — направо. Ну, почти всегда. Кто хочет переносимости — жаба, дотнет и прочая.
Ну хоть дотнет "отдали народу".
И он только сейчас всерьёз выстреливает. ))
N>Разрабатывать "ПО следующих поколений" невозможно, пока нет точных требований. По моему опыту в той конторе, где больше всего работал, за год меняется 5-10% требований к каждому крупному компоненту. За 10 лет они могут измениться чуть менее чем полностью.
N>Что ты предлагаешь — вместо разработки аккумулировать деньги на спецсчетах?
Я с самого начала говорил — что.
У них был успех в GUI-приложухах.
Если охота было свою ось — можно было поступить как яблочники, взять готовое ядро с окружением и присобачить к нему GUI и прочие сугубо прикладные навороты.
У яблочников было меньше ресурсов, они были вынуждены так сделать, и это их спасло.
Но это же сработало бы и при избытке ресурсов, только отдача могла быть больше. ))
V>>Собсно, когда я рассуждал о том, чтобы заменить ЕС ЭВМ новыми i486-ми, это можно было сделать только на UNIX-системе с терминалами.
V>>Безальтернативно! ))
N>Такс... хост на 486, а терминалы на 8086?
На чём угодно, хоть на Корветах или имеющиеся терминалы от ЕС на RS232 с хабом, который для RS232 паяется на коленке.
Я ж тогда рассуждал о задачах числодробилок (пусть студенческого уровня, не выше курсовика, но тем не менее)
N>По состоянию на 2000 FreeBSD было больше, чем Linux — стабильнее по массе параметров
Возможно.
На тот год я всё еще считал Linux игрушечной системой.
А на работе тогда поддерживали в мультиплатформе еще и SunOS (тоже юниха).
N>В конторах которые активно использовали юниксы и были нашими клиентами — были линуксы, но на них смотрели как на игрушку, больше всего было Solaris, некоторое количество HP-UX. AIX почти не было.
Я тоже ни разу не видел AIX, серваки RS/6000 и выше были дорогими для реалий экс-СССР.
N>Про "безальтернативно" — нет, винда тоже использовалась. Хотя лицензионные проблемы и тогда уже начали давить. Но именно на середину 90-х там обычно были вообще спец-ОС, никак не мэйнстрим.
Академические уникальные сборки различных юнихов всегда.
Студни на этом делали дипломы, а аспиранты — кандидатские про паралелльные вычисления. ))
V>>Ведь академические круги ВСЕГДА определяют будущее.
V>>На чём студент вырос, то он и будет толкать.
N>Абсолютно верно.
N>Студенты 90-х уже росли на персоналках. На юниксе они могли сдавать что-то, но для себя они росли на DOS + Windows.
Это если офисные приложухи.
Сетку у нас держали сначала NetWare, позже различные юниха.
С приходом глобального интернета (примерно с 98-го в нашей провинции) во всех без исключения конторах, в которых работал или в которых помогал настроить окружение — в кач-ве шлюза всегда юниховая машинка.
N>А в вузах? Гейтс винду всех видов в вузы бесплатно отдавал.
Еще раз — это на десктопе.
V>>Ты не обратил внимания, разве, что основную массу программеров составляют люди, обучавшиеся в ВУЗ-ах по IT-специальностям примерно с 88-89-го года и позже?
V>>(или получавшие второе профильное IT-образование после этих дат)
N>Ты про какую местность говоришь? exUSSR?
Да.
N>Открытых спецификаций не было. POSIX был платным
Это копейки, если речь о разработке новой системы.
Суть в том, что разработать платную альтернативу виндам, используя открытые winapi, было низзя.
(по крайней мере тогда, ХЗ как сегодня)
Т.е. плата за POSIX — это была копеечная плата за само обслуживание открытого для любых желающих стандарта, а не некая чудовищная в деньгах роялти за проприетарщину.
V>>Эти системы изначально разрабатывались с расчётом на обширную совместимость прикладных программ в исходных кодах, отсюда столь подробные спецификации даже достаточно низких уровней.
N>Первая часть — да. Вторая — нет. Специфицированы была, по сути, libc и основные userland утилиты. Это всё. Тебе не давали никаких гарантий ни на сисколлы, ни на ядро.
А какая разница — библиотечная реализация или там сисколл под макросом?
Например, в АПИ семафоров тех лет:
https://man7.org/linux/man-pages/man2/semop.2.html
(в линухах были сисколлы под макрой)
Главное, что на уровне исходников происходит совместимость.
Далее.
Само наличие семафоров уже диктует многозадачность, но не диктует её тип — вытесняющий или кооперативный, с переключением в момент опроса примитивов синхронизации.
В этом месте происходит абстрагирование от конкретной реализации.
V>>Для сравнения, твои AS/400 выполняли пляски с бубном над бинарными образами, вместо исходников, поэтому почили в бозе, ес-но.
N>Не почили. Ты не в курсе аж вообще. У них бинарные образы вспомогательны, основа — виртуальная транслируемая или интерпретируемая VM, с AOT или JIT.
Я про это и говорил, что сделали упор на переносимость бинарных образов.
N>Представь себе один большой JVM или .NET рантайм на всех пользователей с разделением доступа к объектам по привилегиям.
Не, там техники навроде AOT, вроде, а не JIT-рантайм.
Хотя, могу ошибаться, я о тех системах только в IT-журналах читал, которые в обязаловку выписывал примерно до середины нулевых))
V>>Да просто посмотри на исходники FreeBSD и на исходники тогдашних линухов...
V>>Первое — это ужас, летящий на крыльях ночи. Авторов повесить, потом расстрелять.
N>Не вижу ужасного. Ткни пальцем в конкретные места.
Сам стиль кода, способ его организации.
Читабельность страдает.
V>>Второе — современная (по тем временам) приятная конфетка, глаз радовался.
N>Вот эти как раз до сих пор жутковаты.
Читабельность не в разы лучше, что по тем временам нонсенс.
Потому что системные исходники по тем временам было принято писать __в_Ужасном_стиЛе__ (про typedef забыли?), с БЕСКОНЕЧНЫМИ_ПО_ДЛИНЕ_ИДЕНТИФИКАТОРАМИ_МАКР (push/pop для макр нет?), вычурным форматированием, непоследовательной разбивкой на гигантские модули и прочим таким бредом.
А код линухов читался как "просто код" ))
Модули вменяемого небольшого размера.
Мне исходники заходили сходу, напрягать моск не требовалось от слова совсем.
Кстате, исходники мелкомягкого CRT/CppRT тоже с какой-то версии стали более-менее читабельны. ))
V>>Зато он задал отличный дух исходникам, у товарища определённо неплохой вкус.
V>>Этот стиль легко и приятно читается даже сегодня, спустя ~30 лет.
N>У меня строго противоположные впечатления.
А системный код точно должен задавать "планку входа" для избранных? ))
Или это такой же код, как любой другой?
Там ничего военного не происходит, везде примитивщина, стоило оформить код по-людски.
N>А при чём тут вообще WinRT? Он поверх WinAPI работает.
Там всё запутанно.
Изначально на WinAPI частично (хотя и по большей части), теперь наоборот — WinAPI во многом маппится при линковке на "родные" реализации WinRT.
V>>Плюс непонятки с GUI.
V>>В старых системах был общесистемный оконный USER+GDI, в новой версии общесистемный только XAML в песочнице WinRT...
N>Ты про десктоп говоришь или про где? Никто тебе не запрещает эти user+GDI использовать.
При том, что десктоп работает поверх DirectX и к этому DirectX есть доступ?
Но нет системной оконной либы, кроме XAML-ориентированной? ))
Это ж, блин...
Нельзя разве было отделить мух от котлет — контролы отдельно, "движок" описания композиции (буде кто хочет именно XAML) — отдельно?
N>То же самое. Десктоп — налево. Сервер — направо. Ну, почти всегда. Кто хочет переносимости — жаба, дотнет и прочая.
Ну хоть дотнет "отдали народу".
И он только сейчас всерьёз выстреливает. ))
N>Разрабатывать "ПО следующих поколений" невозможно, пока нет точных требований. По моему опыту в той конторе, где больше всего работал, за год меняется 5-10% требований к каждому крупному компоненту. За 10 лет они могут измениться чуть менее чем полностью.
N>Что ты предлагаешь — вместо разработки аккумулировать деньги на спецсчетах?
Я с самого начала говорил — что.
У них был успех в GUI-приложухах.
Если охота было свою ось — можно было поступить как яблочники, взять готовое ядро с окружением и присобачить к нему GUI и прочие сугубо прикладные навороты.
У яблочников было меньше ресурсов, они были вынуждены так сделать, и это их спасло.
Но это же сработало бы и при избытке ресурсов, только отдача могла быть больше. ))