На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (17) « Первая ... 10 11 [12] 13 14 ...  16 17 все  ( Перейти к последнему сообщению )  
> WinAPI и POSIX , бой насмерть
    Цитата Qraizer @
    D_KEY, ну не прикидывайся, что не понимаешь разницы между "разные ОС" и "разные API".

    POSIX - это попытка описать API, который бы подходил для очень разных ОС. И на практике так и есть. Но иногда это действительно проблема.
    WinAPI - это только для одного семейства и разработанный конкретной компанией. Совершенно разные задачи.
    И то, что твоя ОС соответствует POSIX, не запрещает тебе делать другое API. Смотри ту же macos, например. У них очень много своего API. Т.о. если ты работаешь с конкретным семейством ОС, то у тебя есть и дополнительные фичи и стабильность и пр.

    Т.е. сравнивать winapi и posix напрямую несколько странно. Цели разные.

    Это сообщение было перенесено сюда или объединено из темы ""обработка исключений" vs "обработка кодов возврата""
      Цитата D_KEY @
      POSIX - это попытка описать API, который бы подходил для очень разных ОС. И на практике так и есть. Но иногда это действительно проблема.

      В чем проблема описывать что-то вроде библиотеки с приведенными под общий знаменатель вызовами на каждой из платформ и скрывающей различия этих платформ вроде HAL. Но на деле POSIX это просто какая-то солянка. Как хочу так и ворочу. За столько времени уже можно было сделать что-то вроде POSIX2 где переработать все и привести в порядок. Тем более, что кардинально нового ничего по сути не появляется уже давно.

      Это сообщение было перенесено сюда или объединено из темы ""обработка исключений" vs "обработка кодов возврата""
        Цитата macomics @
        За столько времени уже можно было сделать что-то вроде POSIX2 где переработать все и привести в порядок.

        И переписать потом весь код, который написан за это время :D

        В этом же основная проблема.

        Плюс новая версия не уверен, что кому-то нужна. Напрямую на posix вряд ли кто-то пишет сейчас. Только в некоторых случаях.

        Но вообще, кто мешает-то? Напишите новую версию POSIX, убедите всех создателей ОС ее использовать. Делов-то :D

        Добавлено
        Т.е. даже если вынести за скобки то, что сейчас в подавляющем большинстве случаев люди будут использовать разные кроссплатформенные библиотеки, даже если вы решите сами работать на системном уровне, то вряд ли кто-то станет юзать, например, posix'овые select/poll. Потому что в зависимости от ОС, у вас будут более эффективные средства. Такие как epoll в линукс и kqueue в freebsd. А сейчас в линуксе есть и относительно новая штука - io_uring (которая уже относительно близка к iocp виндовой, хотя и получше).
        И вот только если вам нужны именно другие ОС, вы можете сделать и posix версию. И в этом сила posix - минимум, который будет работать (условно) "везде".

        Кстати, если залезть в потроха какого-нибудь asio, вы примерно это и увидите - специальные версии для разных ОС(linux, bsd, win) и posix "на сдачу".

        А "обычному" программисту вообще достаточно использовать библиотеки.

        Это сообщение было перенесено сюда или объединено из темы ""обработка исключений" vs "обработка кодов возврата""
        Сообщение отредактировано: D_KEY -
          Цитата D_KEY @
          И переписать потом весь код, который написан за это время

          Я только за. Избавиться от кучи нагромождений и совместимостей. Создать новую ОС по уже известным характеристикам с начала. На первое время можно просто сделать порт POSIX->POSIX2, а вот как основной API в ней оставить именно POSIX2.

          Можно же иногда взять и переделать с самого начала и получить лучший результат (не набивать шишки заново в творческом процессе).

          Это сообщение было перенесено сюда или объединено из темы ""обработка исключений" vs "обработка кодов возврата""
            Qraizer,

            Цитата Qraizer @
            .P.S. Хотя лучше этот ваш POSIX никогда не трогать. Вообще. Вот сравни просто одну-единственную функцию-перечислитель сетевых интерфейсов.

            Вот тут предлагаю "разрезать" тему, а хвост перенести в Холивары, допустим, с названием "POSIX vs WinAPI".
            А то мы пошли куда-то в другую степь. В этой теме должны остаться вопросы проектирования обработки программных ошибок и/или ситуаций на С++.

            M
            Ну, не так всё просто, ещё б посты если можно было пополам порезать... И тем не менее некий вот такой Done.


            Это сообщение было перенесено сюда или объединено из темы ""обработка исключений" vs "обработка кодов возврата""
            Сообщение отредактировано: Qraizer -
              Цитата macomics @
              Цитата D_KEY @
              И переписать потом весь код, который написан за это время

              Я только за. Избавиться от кучи нагромождений и совместимостей. Создать новую ОС по уже известным характеристикам с начала. На первое время можно просто сделать порт POSIX->POSIX2, а вот как основной API в ней оставить именно POSIX2.

              Можно же иногда взять и переделать с самого начала и получить лучший результат (не набивать шишки заново в творческом процессе).

              Вы то может и за, но кто это все будет делать? И зачем? Будут ли за компании, которые создают ОС? Будут ли за свободные разработчики, которые контрибьютят в тот же линукс и другие открытые ОС? Вы себе представляете объем работы? А объем согласований между всеми этими агентами? :D
              По-моему это абсолютно утопичная идея :)

              Добавлено
              То, что у нас есть хотя бы такой posix, какой есть, - это уже почти чудо.

              Это сообщение было перенесено сюда или объединено из темы ""обработка исключений" vs "обработка кодов возврата""
                Цитата D_KEY @
                Будут ли за компании, которые создают ОС?

                Их еще забыли спросить.

                Цитата D_KEY @
                И зачем?
                Тут об этом написано

                Цитата D_KEY @
                Вы себе представляете объем работы? А объем согласований между всеми этими агентами?

                Это дело не для одиночки. Если будет заинтересована компания, тогда возможно. Но там уже будет жесткая иерархия и ваши вопросы будут лишними.

                Это сообщение было перенесено сюда или объединено из темы ""обработка исключений" vs "обработка кодов возврата""
                Сообщение отредактировано: Qraizer -
                  Цитата macomics @
                  Цитата D_KEY @
                  Будут ли за компании, которые создают ОС?

                  Их еще забыли спросить.

                  А кто будет реализовывать новый стандарт?

                  Добавлено
                  Цитата macomics @
                  Это дело не для одиночки. Если будет заинтересована компания, тогда возможно. Но там уже будет жесткая иерархия и ваши вопросы будут лишними.

                  Какая компания? Ещё раз, posix про стандарт между компаниями (и сообществами) и между разными ОС.

                  Добавлено
                  Цитата macomics @
                  Если будет заинтересована компания, тогда возможно. Но там уже будет жесткая иерархия и ваши вопросы будут лишними.

                  Ну вы получите "ещё одни стандарт", который будет использоваться скорее всего только этой компанией (а значит реальным стандартом для отрасли не будет).

                  Это сообщение было перенесено сюда или объединено из темы ""обработка исключений" vs "обработка кодов возврата""
                    Прикреплённая картинка
                    Прикреплённая картинка


                    Добавлено
                    А posix реально работающий стандарт. Поэтому, ИМХО, развитие возможно только эволюционное и постепенное. В 2024 году вроде вышла новая версия, кстати. Я не смотрел еще (нет необходимости сейчас).

                    Это сообщение было перенесено сюда или объединено из темы ""обработка исключений" vs "обработка кодов возврата""
                      Цитата macomics @
                      Если будет заинтересована компания, тогда возможно.

                      Ох уж эти "если" :lol: Всё новое - это надёжно забытое старое. Но я позволю себе напомнить... Была когда-то суперская и казалось-бы топ-перспективная система для десктопов и серверов OS/2. Я на ней просидел (если уже не ошибаюсь) с 1994 по 1997 год. Что тогда прямо лилось елеем на душу - так это реализация многозадачности! На то время эта ось исполняла нативные задачи Windows 3.1 лучше самой виндовс! Прикинь стек задач: идет архивация толстенного набора каталогов, параллельно на стриммер (это писец-писец-писец капризное устройство!!!) пишется предыдущий архив, а я сидю и кодю! :lol: И все плавно, и все без задержек, без залипаний, и без зависаний! И каков итог?!!! "Заинтересованная" компания IBM разосралась с тогдашним партнёром Microsoft Co., и как итог - проект издох. И потом получилось то, что сейчас радует Qraizer'а. Второй пример. Операционная система QNX. Кстати, когда-то считавшаяся наиболее POSIX-совместимой (её релиз 1982 год, я тогда вообще в школе учился). Казалось бы - на, первопроходец, держи флаг. Но нет! В 1991 году выходит это ваш Люникс. Почему выходит спустя 9 лет от начала выпуска оч-оч-оч неплохой *nix системы QNX? Ответ на поверхности - злобная жадность создателей сраных кровавых буржуев QNX. Ну и где они щас? Спрятались в банкоматах, умных домах, возможно в каких-то еще незаметных встраиваемых хреновинах, типа умных космических писуаров.

                      И к чему мой спич?! Любая "заинтересованная компания" имеет свою "заинтересованность" в чистой прибыли, и ни как иначе! Вообще, и ни как, и не иначе!. Поэтому, macomics, твои радужные перспективы - не что иное, как мечты IT-отрока протуберантного периода развития. И в своих рассуждениях, D_KEY'я я тут считаю более правым. Хотя его политические взгляды ... ух блин... Лан, это другой вопрос.

                      Скрытый текст
                      Но только без обид! Только без них самих!!! Если где-то я стебанулся чуть за гранью, прошу меня извинить :lol:


                      Это сообщение было перенесено сюда или объединено из темы ""обработка исключений" vs "обработка кодов возврата""
                        Цитата Majestio @
                        И к чему мой спич?! Любая "заинтересованная компания" имеет свою "заинтересованность" в чистой прибыли, и ни как иначе!

                        Никаких обид. Просто может же быть гос.компания, которая прибыль будет получать с этого. Сейчас бы уже пора. Даже линукс уже поплыл санкциями баловаться. Российских маинтейнеров ядра решил выбрасывать. Как итог, я считаю, взяться за свою реализацию, а не тупо собирать дистры на базе *nix. В целом взгляд может и идеалистичный, но вполне сейчас востребованный (должен быть).

                        Это сообщение было перенесено сюда или объединено из темы ""обработка исключений" vs "обработка кодов возврата""
                          Цитата macomics @
                          Просто может же быть гос.компания, которая прибыль будет получать с этого. Сейчас бы уже пора. Даже линукс уже поплыл санкциями баловаться. Российских маинтейнеров ядра решил выбрасывать. Как итог, я считаю, взяться за свою реализацию, а не тупо собирать дистры на базе *nix. В целом взгляд может и идеалистичный, но вполне сейчас востребованный (должен быть).

                          На уровне распила госбюджета может быть всё - даже невозможное! Но следует делать поправку на менталитет - время "Стахановых" давно ушло в прошлое. Как ни обидно, но сейчас большее беспокойство вызывает не какие-то "отставания" от Запада, а мерзопакастное воровство государственных чиновников. До блевотины. Особенно читаешь, когда ловяят очередного борцуна по порьбе с коррупцией ... на коррупции. Сюрр ппц.

                          macomics, да, если бы была "воля государства" - это возможно бы было. Но куча многих "но". Два из которых "целесообразность" и "ценность" (да, они где-то как-то пересекаются). У государства еще куча проблем - чем латать мешки алигархов, которые лопаются от злата. Куча жилых посёлков, в которых туалеты на улице в виде обычных срачей из двух досок. А ты про POSIX2 на уровне госфинансирования? Отсыпь мне тоже немного!

                          Это сообщение было перенесено сюда или объединено из темы ""обработка исключений" vs "обработка кодов возврата""
                            Цитата D_KEY @
                            POSIX - это попытка описать API, который бы подходил для очень разных ОС. И на практике так и есть. Но иногда это действительно проблема.
                            Та нет же. Это не проблема, что API ОСей отличаются. Вон, есть же Стандарт языка и есть агромадная куча несовместимых друг с другом его реализаций. Проблема-то в том, что несовместимые реализации Стандарта языка совместимы однако с самим Стандартом, тогда как реализации POSIX делают вид, что они совместимы с POSIX, а по факту нет. Мне чтобы написать полностью переносимое POSIX-приложение придётся опуститься до уровня его API образца эдак 199x-ых и лишиться всего его 30 летнего последующего развития. А чтобы воспользоваться этим развитием, оно же вкусное как-никак, я обязан буду сосредотачиваться на его частных реализациях и с головой окунуться в ад портабельности и саппорта. Да-да, есть библиотеки, которые вроде бы должны это брать на себя. Вот только это самое «бы». Ад просто сменил место дислокации и теперь не в POSIX, а в этих библиотеках, потом что у них точно такая же трабля.

                            Добавлено
                            Цитата Majestio @
                            "Заинтересованная" компания IBM разосралась с тогдашним партнёром Microsoft Co., и как итог - проект издох. И потом получилось то, что сейчас радует Qraizer'а.

                            Ну, "разосралась" тут неуместно. У них кончился 10-летний контракт, и не стали перезаключать. Если там и были тёрки, послужившие причиной, то вряд ли их можно описать таким эпитетом. Что до Win32 API, так он и разрабатывался по заказу самой IBM для использования в её OS/2, которая по итогу должна была выйти как OS/2 NT или как-то так. Просто посмотрев на маркетинговые успехи MS и сравнив их со своими, IBM решила воспользоваться услугами профессионалов для продвижения своей ОСи. В частности снабдив MS своими консультантами по созданию качественных 32-битных ОСей. Ну и т.к. контракт истёк до финала, разработку MS бросать в мусорник не хотела, то просто выкупила права и переобозвала как Windows NT.
                              Цитата Qraizer @
                              Это не проблема, что API ОСей отличаются.

                              Дружище - тут ты в корне не прав! :lol: Это ОСНОВНАЯ и "КОРНЕВАЯ" ПРОБЛЕММА. Разные оси "проповедуют" разное. А что разное? Разное много: определение процессов и потоков на уровне ядра, определение понятия ресурсов и его захватов, определение "железа" и его отображения во внутренние сущности, да много чего из. Это большая проблема! Многие ОСи не просто "разговаривают" на разных языках, они часто разговаривают "разными способами". В этом плане я как-то где-то даже поддерживаю macomics в его презентации HAL, как способа унификации. Но, увы, тут HAL+1 будет на порядок-два сложнее. Не аргументирую, чисто чуйка. Но это, думаю, лучший варик компромиссов кросс-разработок. Но туман тут, к гадалке не ходи!
                                Majestio, было бы желание, это решаемо, и весьма недорого. Но ведь желания-то как раз и нет. Та ёлки ж:
                                Цитата dup(2) — Linux manual page
                                The error returned by dup2() is different from that returned by fcntl(..., F_DUPFD, ...) when newfd is out of range. On some systems, dup2() also sometimes returns EINVAL like F_DUPFD.
                                Их за ногу — серьёзно??! Вот это вот Стандарт на API? В котором функция может вести себя по-разному по желанию левой пятки очередного форкера? Когда две функции, выполняющие априори одинаковое действие, работают по-разному?!
                                Не надо защищать очевидное фуфло. И пожалуйста, не называйте POSIX экосистемой. Зоопарк экосистем – согласен.
                                Сообщение отредактировано: Qraizer -
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (17) « Первая ... 10 11 [12] 13 14 ...  16 17 все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0641 ]   [ 16 queries used ]   [ Generated: 17.06.25, 04:49 GMT ]