Ideal OS: перезагрузка десктопных операционных систем (часть 1)

Привет, Хабр! Представляю вашему вниманию перевод статьи Ideal OS: Rebooting the Desktop Operating System Experience автора Josh Marinacci.



TL;DR: В этой статье Я хочу показать что:


  • современные десктопные операционные системы не такие уж и современные. Это тормознутое поделие, обрюзгшее невообразимым множеством слоёв легаси-хлама, которое всё ещё функционирует лишь благодаря закону Мура.
  • инновации в десктопных операционных системах остановились 15 лет назад и все ведущие игроки вряд ли захотят снова в них вложиться
  • мы можем и нам следует начать всё с нуля, выучив уроки прошлого.

"Современные" десктопные операционные системы раздуты


Давайте рассмотрим Raspberri Pi. За 35$ Я могу приобрести потрясающий компьютер с 4 ядрами CPU, по 1 ГГц на каждый! Также здесь найдётся 3д-ускоритель, гигабайт оперативной памяти и встроенный wifi/bluetooth/ethernet. За 35 баксов! И тем не менее, для большинства задач, которыми Я занимаюсь он подходит не лучше, чем 66 МГц компьютер, которым Я пользовался ещё в колледже.


image


На самом деле, в некоторых случаях всё гораздо хуже. Чтобы получить 3д ускорение для Doom, что было тривиальным делом для Microsoft Windows в середине 90ых, требуются невероятные усилия для X windows в наше время.


Ниже представлен скриншот запущенного Processing на Rapsberry Pi с аппаратным ускорением. И это возможно только благодаря полностью кастомному видеодрайверу для X Windows, который всё ещё находится в стадии эксперимента. Спустя 5 лет после выхода Rapsberry Pi.


image


Несмотря на проблемы X-Windows, Rapsberry Pi имеет удивительно мощный GPU, который способен делать вещи как на скриншоте далее, но при условии что мы избавимся от X-Windows.(конкретно этот скриншот сделан из OS X, но тот же код запускается на Pi 3 с 60fps)


image


Или другой пример. Atom — один из самых популярных текстовых редакторов на сегодня. Разработчики обожают его потому что к нему есть огромное количество плагинов, но давайте разберёмся каким образом он работает. Atom использует Electron, который по существу является полноценным веб-браузером, идущий совместно рука об руку с окружением NodeJS. Это целых два Javascript-движка входящие в состав одной программы. Приложения на Electron используют API отрисовки браузера, которые делегируют отрисовку нативным библиотекам, которые затем обращаются к GPU(если повезёт) для отрисовки на дисплей. Так много слоёв..


image


Долгое время Atom был не способен открывать файлы больше 2 мегабайт, так как прокрутка работала бы очень медленно. Разработчики разрешили эту проблему написав реализацию буфера на C++, по существу удалив один из слоёв.


image


Даже довольно простые приложения получаются чересчур усложнёнными в наши дни. Приложение для email, представленное выше концептуально очень простое. В нём всего лишь должно быть пару запросов в базу данных, текстовый редактор и модуль для коммуникации с IMAP и SMTP серверами. И всё же написание нового email-клиента является весьма сложной задачей. А если вы хотите модифицировать ваш email-клиент или уже существующий (например, Mail.app стандартный клиент для компьютеров Apple) — не существует простого способа сделать это. Отсутствует система плагинов. Отсутствует API для расширения функциональности. И это всё следствие раздутого количества слоёв.


Отсутствие инноваций


Инновации в десктопных операционных системах в общем и целом отправлены на кладбище. Можно спорить, что они закончились где-то в середине 90ых или даже в 80ых с выпуском маков, но очевидно, что всякий прогресс остановился после наступления эры смартфонов.


Mac OS


Mac OS X когда-то был лучом света в этом мёртвом царстве — каждый релиз демонстрировал прогресс и изобретательность инженеров Apple. Quartz 2D! Expose! Система синхронизации устройств! Виджеты! В наши дни Apple время от времени меняет тему и увеличивает привязанность к мобильным устройствам своего производства.


image


Самая последняя версии Mac OS X (ныне переименованная в macOS в честь того, где они были 2 десятилетия назад) называется High Sierra. Какие же образцовые функции мы с нетерпением ждём этой осенью? Новая файловая система и новый видеокодек. И это всё? Ну ещё они добавили редактирование в приложение Photos, которое уже было в iPhotos, но было удалено после одного из обновлений. А и блокировка автовоспроизведения в Safari.


Apple — самая дорогостоящая компания в мире и это всё на что они способны? Просто взаимодействие с десктопной ОС не является для них приоритетом.


Microsoft Windows


В то же самое время компания Microsoft пыталась переизобрести десктоп как операционную систему для сенсорных планшетов и телефонов. И это была катастрофа, от которой они отмываются по сей день. За всё время разработки они не добавили ни одной функции, которая была бы полезна для пользователей десктопа, при этом тратя абсурдное количество денег на создание обоев.


image


Вместо улучшения взаимодействия пользователя с системой они сфокусировались на новой модели добавления приложений, увеличивая количество слоёв поверх старого кода. И между прочим, Windows может всё ещё запускать приложения из 90ых.


Консоль Windows — CMD.exe, позволяющая запускать программы DOS, была заменена только в 2016 году. А самая большая фича последнего релиза Windows 10 состоит в том, что они добавили подсистему Linux. Всё слоёнее и слоёнее пирог выходит.


X Windows


image


X Windows улучшалась даже меньше чем остальные. На самом деле, это примечательный пример неизменяемости. Люди жалуются на это с начала 90ых. Я очень рад, что могу приодеть свой GUI, но как насчёт системного буфера обмена, в котором нельзя хранить более одного элемента за раз? Это неизменно с 80ых!


X Windows добавил менеджеры компоновки окон в середине 2000ых, но из-за легаси невозможно их использовать не для чего, кроме перетаскивания окон


image


Wayland предположительно должен был всё исправить, но он разрабатывается уже десятилетие и всё ещё не готов! Совместимость со старыми API является весьма тяжкой ношей. Мне кажется Apple была права, когда засунула старый macOS в эмулятор, отгородившись от древнего кода.


Рабочие станции?


Изначально десктопные операционные системы стали проще для использования, как только массовый рынок принял их; затем массовый рынок качнулся в сторону смартфонов и весь интерес в улучшении десктопного интерфейса подутих.


Нет смысла винить Apple или Microsoft(и уже Google) за это. 3 миллиарда смартфонов заменяются каждые 2 года и это намного более прибыльный рынок, чем несколько сотен миллионов ПК и ноутбуков, сменяющиеся, дай бог, раз в 5 лет.


image


Я считаю, что чтобы вернуться к улучшению интерфейса десктопа, мы должны пересмотреть наше отношение к ним. Если персональные компьютеры свободны от звания продукта для масс, то они должны рассматриваться как инструмент для работы — рабочие станции.


Вещи которые всё ещё нам не доступны в 2k17


На дворе 2017 год. Давайте рассмотрим вещи, которые должны существовать, но которые отсутствуют по некоторым причинам.


Почему Я могу присоединять и отсоединять вкладки внутри моего браузера или файлового менеджера, но не могу сделать то же самое между 2мя разными приложениями? Не существует ни одной технической причины, почему это было бы невозможно. Окошки приложений всего лишь изображения, но ребята разработчики не добавляют этой фичи, потому что не в приоритете!


Почему Я не могу положить файл одновременно в два места моей файловой системы? Почему она обязана быть иерархичной? Почему Я не могу отсортировать файлы по тэгу или метаданным? Файловые системы с принципами баз данных существуют десятилетиями. Microsoft даже пыталась внедрить их со своей WinFS, но удалила из Windows Vista перед самым релизом, спасибо легаси. BeOS внедрила это 20 лет назад. Почему современные десктопные ОС не могут в это?


image


В любом веб-приложении можно менять масштаб. Достаточно нажать Ctrl + и текст станет больше. Всё внутри окна автоматически адаптируется к масштабу. Почему этого не умеют нативные приложения? Почему Я не могу иметь на экране две области разных размером для окон? Или даже масштабировать их автоматически, когда перемещаюсь между окнами? Все эти вещи просты до безобразия с композитным оконным менеджером, которые были банальностью на протяжении десятилетия.


Ограниченное взаимодействие


У моего компьютера есть мышь, клавиатура, датчики наклона, датчики света, 2 камеры, 3 микрофона и масса bluetooth-аксессуаров, но только первые 2 используются как основные устройства ввода. Почему Я не могу приказать своему пк выполнить что-то голосом или жестами?


Почему мой компьютер не следит за моими глазами, чтобы увидеть, что Я читаю или просканирует что у меня в руках, чтобы использовать эти крутые AR-технологии, которые пришли в мой телефон. Некоторая функциональность существует в изолированных приложениях, но она не распространяется на всю систему и она не программируема.


Почему мой Macbook не может используя Bluetooth подключиться к интересным HID-устройствам, вместо синхронизации с Apple Watch. А нет, мак ведь не умеет синхронизироваться с Apple Watch. Ещё одно место, где мой десктоп занимает роль второго плана.


Почему компьютер не использует ничего для вывода кроме дисплея? Мой новый Razer-ноутбук имеет RGB-подсветку под каждой клавишей и единственная их функциональность — переливание цветными волнами! Как насчёт использовать эти LED для чего-то реально полезного?


Программы комбайны


Каждое мало-мальски полезное приложение имеет свою собственную часть файловой системы, свою собственную систему конфигурации, базу данных, файловый формат и алгоритмы поиска. А ещё свои собственные хоткеи. Невероятное количество дублирований!


Но самое важное, что слабая коммуникация между приложениями делает очень сложной их координацию. Фундаментальные принципы Unix состоят в том, что небольшие инструменты работают вместе. Но X Windows не поддерживает это от слова совсем


Созданные для 1984


Почему же наши ПК до сих пор такие неуклюжие? Главным образом, потому что они созданы для 1984ого года. Десктопное GUI было изобретено в то время, когда большинство людей создавало документы с нуля, сохраняло и распечатывало их. Если вам посчастливилось, вы сохраняли документ в общей файловой системе или отправляли по email. На этом всё. Графический интерфейс был создан для решения задач, которые раньше осуществлялись с бумагой.


Проблема в том, что на дворе 2017. Мы уже не работаем тем способом, что и в 1984. В типичный день Я возьму некий код с самых разных сайтов, скомпоную несколько тестов и сгенерирую структуру данных, представляющую результат, затем отправлю полученное другим для переиспользования. Импорт, синтез, экспорт.


Я создал VR-контент. Я сколлажил изображения. Я отправил сообщения в дюжине соц. сетей. Я создал идеальный плейлист из 30000 песен. Я обрабатываю на порядок больше данных из большего числа мест, чем это было возможно 20 лет назад. Десктопные операционные системы просто не в состоянии масштабироваться к современным задачам. А мне нужен компьютер, который поможет справиться с этой лавиной информации.


В следующей части, повествование пойдёт о том, каким образом можно будет прийти к решению описанных проблем

Similar posts

Ads
AdBlock has stolen the banner, but banners are not teeth — they will be back

More

Comments 227

    –15
    Держи первый плюс в карму. ^_^
      +28
      В любом веб-приложении можно менять масштаб. Достаточно нажать Ctrl + и текст станет больше. Всё внутри окна автоматически адаптируется к масштабу. Почему этого не умеют нативные приложения? Почему Я не могу иметь на экране две области разных размером для окон? Или даже масштабировать их автоматически, когда перемещаюсь между окнами? Все эти вещи просты до безобразия с композитным оконным менеджером, которые были банальностью на протяжении десятилетия.
      Далеко не каждый сайт удачно масштабируется. Некоторых так колбасит, что ты вынужден возвращать 100%. Внезапно, масштабируемость сайта, зависит от его разработчиков. Аналогично дело обстоит с десктопом, приложения должны уметь масштабироваться, чтобы простым Ctrl-+ увеличивать размер задуманных разработчиком элементов. А ещё все картинки видимо придётся в вектор переводить, не скейлить же их быстро, дешево и сердито?

      Пока похоже на плач ребёнка, а не на серьезную статью.
        +1

        По хорошему, приложения должны скейлиться операционной системой автоматом. Да, при этом картинки и некоторые элементы могут выглядеть размыто. Но это нормальное поведение по умолчанию. На современных дисплеях такую размытость можно и не заметить, а вот масштабирование шрифта без размытости вполне под силу сделать оконному менеджеру.


        При этом, безусловно, надо дать приложению возможность корректно отмасштабировать картинки.


        Проблема, однако, в том, что масштабирование полностью положено на плечи разработчика. А автоматическое масштабирование настолько вырвиглазное, что порой проще оставить маленькие буковки.


        Весь вопрос в удобстве написания приложений. А удобства — во дворе.

          +4
          Ну, к слову, в Windows 10 это даже работает: можно задать разное DPI на разных мониторах, и при перетаскивании приложения из одного окна в другое его масштаб будет корректно меняться. Правда, для этого нужна поддержка со стороны приложения (операционная система сама практически ничего не масштабирует, а просто задаёт приложению DPI), но все приложения, что я использую, такую возможность имеют, и прекрасно отображаются на HighDPI мониторе.

          Ну а если поддержки динамического DPI нет, то просто будет мыло от растровой интерполяции шрифтов. С картинками, кстати, проблем нет — еле заметную размытость глаз воспринимает нормально.
            0
            Проблема, однако, в том, что масштабирование полностью положено на плечи разработчика.

            Кому, как не разработчику лучше знать о работе его приложения на разных экранах?
            Где-то нужно субпиксельное сглаживание, где-то достаточно обычного. На одном экране иконки лучше попроще, т.к. DPI небольшой и элементы сливаются, на другом можно более качественные, т.к. там DPI много больше. И т.п.

            а вот масштабирование шрифта без размытости вполне под силу сделать оконному менеджеру

            Как это? Для оконного менеджера шрифт это картинка. Соответственно, при масштабировании он будет не такой чёткий. Либо надо ограничивать масштабирование только целыми коэффициентами.

            Вообще можно идти двумя путями.
            1. Всё делает разработчик приложения, ОС ему только сообщает условия.
            2. Компоненты ОС тоже выполняют часть работы.

            Во втором случае нужно что-то вроде клиент-серверной архитектуры. Привет, X Window!
            Тогда приложение будет рисовать не пиксели, а прямоугольник с шириной 50% от родителя. А оконная система будет его масштабировать, сглаживать и т.п.
            Только почему-то от этого отказались. Наверное сложно запихать в оконную систему примитивы на все случаи.
              0
              > Кому, как не разработчику лучше знать о работе его приложения на разных экранах?
              Где-то нужно субпиксельное сглаживание, где-то достаточно обычного. На одном экране иконки лучше попроще, т.к. DPI небольшой и элементы сливаются, на другом можно более качественные, т.к. там DPI много больше. И т.п.

              Обратите внимание, что в вебе такой проблемы нет. Вы масштабируете сайт, а он корректно отображается без мыла. Максимум баги с вёрсткой из-за слишком большой иои маленькой виртуальной ширины страницы. Иконки или картинки при этом либо векторные, либо просто хранятся в нескольких разрешениях, а браузер сам выбирает, что показывать.

              > Как это? Для оконного менеджера шрифт это картинка. Соответственно, при масштабировании он будет не такой чёткий. Либо надо ограничивать масштабирование только целыми коэффициентами.

              Почему это? Чтобы отрисовать текст в GDI+, мы делаем системный вызов Graphics.DrawString. Если мы рисуем прямо в само окно, без буферизации, то текст будет отрендерен корректно. Если же мы используем буферизацию и выводим текст сначала в растровый буфер, а уже потом на экран, то да, будет мыло из-за интерполяции растра при его переносе на экран.

              И, кстати, из GDI+ выпилили функцию SetPixel (она доступна теперь только для Bitmap) — это было сделано неспроста.

              К сожалению, императивное описание интерфейса вместо декларативного, когда приложение вручную всё перерисовывает, а не формирует набор правил для ОС, оказалось неудачным. При рендеринге без буферизации возникал фликинг при перерисовке, поэтому использование буфера стало нормой.

              > Тогда приложение будет рисовать не пиксели, а прямоугольник с шириной 50% от родителя. А оконная система будет его масштабировать, сглаживать и т.п.
              Только почему-то от этого отказались. Наверное сложно запихать в оконную систему примитивы на все случаи.

              Почему же? WPF — пример такого интерфейса, и как по мне, так получилось вполне удачно.
            0
            > Далеко не каждый сайт удачно масштабируется.

            Это уже следствие неадаптивной вёрстки. Пропорциональное масштабирование всех элементов сайта без изменения размеров окна браузера = изменение размеров окна для сайта. Если сайт не может работать с узкими экранами, он будет отображаться криво.
              +9
              Но я об этом и пишу. Автор напирает на то, что сайты (веб) умеют в масштабирование, а десктоп — нет, в то время как веб это умеет только при должной разработке, а при такой это умеет и десктоп.
                0
                Ну да, если десктопное приложение поддерживает изменение размеров, значит, и его масштабирование не должно быть проблемой при виртуализации рабочего пространства в идеальном случае.
            +15
            Новая файловая система и новый видеокодек. И это всё?

            Серьезно, "новая файловая система" и этого мало?

              0
              Серьезно, «новая файловая система» и этого мало?

              И много, и мало одновременно. С одной стороны, со стороны инженера, это очень много. С другой стороны, со стороны людей, которые будут этим пользоваться, это даже изменением не назовешь. «Новая файловая система? А что мне это даст? Ах, будет стабильнее и эффективнее работать? Ну ок, хорошо.»
                0
                со стороны людей, которые будут этим пользоваться, это даже изменением не назовешь

                Автор статьи вроде склоняет к продуманным изменениям вместо красивых кнопочек от маркетолухов. Или мне так кажется… Если не кажется, то новая ФС вполне себе шаг в сторону развития внутренностей вместо фантиков.
              +5
              Только у меня третья картинка на 5.8 Мб грузится как на диалапе построчно?
                +19

                «Господи, почему все так плохо работает! Оформлю-ка своё нытье как статью и прикреплю фотографию экрана в PNG, так будет намного лучше»

                  –2
                  А можете объяснить, чем плох png?
                  Хотя, сейчас конвертировал вышеуказанную фотографию в jpeg, размер уменьшился в несколько раз с тем же качеством.
                    +7
                    размером? эта картинка кажется по размеру превосходит всю остальную страницу с изображениями суммарно, при том что смысла не несет.

                    и, кстати, является достаточно ироничным фактом что она такая в оригинале, у автора, ноющего про «раздутые системы».
                      0
                      Вы мне дали очевидный ответ.
                      Меня же интересовало, почему вдруг png стал «плохим» и неуместным в этой статье.
                      Я не специалист по графическим форматам, а хабр ценю за то, что тут обитают разносторонние специалисты.
                      Вот ниже мне ответили, почему png плох для фотографий.
                      +1
                      А можете объяснить, чем плох png?

                      PNG хорош, но в своей области применения. Для фотографий нужно использовать JPEG.
                      Хотя фотография экрана для демонстрации небольшого окна уже само по себе выглядит издевательством. Уверен, что вырезанная из скриншота часть в PNG будет весит килобайт 200.
                        0

                        Есть еще всякие минификаторы png для веб.

                        +1
                        чем плох png

                        PNG — формат для сжатия без потерь. Все, что в нем сохраняется, можно достать бит-в-бит. Соответственно, для данных с большим количеством энтропии он чрезвычайно не эффективен, потому что вынужден хранить все шероховатости и неровности исходного изображения. Фотографии как раз содержат большое кол-во энтропии.


                        Форматы с потерями (такие как JPEG), наоборот, хранят лишь приближенное изображение оригинала, изменяя его таким образом, чтобы оно занимало меньший размер. В случае фотографий размер файла может быть меньше в десять раз без заметных глазу отличий в изображении.

                          0
                          Конкретно в данном случае он плох тем, что имеет чудовищный размер как в байтах, так и в пикселях:

                          4,352px × 2,448px (scaled to 775px × 436px)

                          Во-первых, контент — не скрин, а мыльное фото. Значит, надо использовать JPEG.

                          Во-вторых, нет никакой нужды использовать настолько большое разрешение для демострации наличия ускорения 3D графики. С размером 500px картинка будет иметь размер 50 кб (JPEG, 95 quality), 775px — 100 кб.
                      +39
                      Ужасно субъективная статья человека не попытавшегося что либо понять!
                      0. Почему, почему, почему? А вы пробовали сделать то то что просите?
                      1 «Atom — один из самых популярных текстовых редакторов на сегодня» я первый раз услышал про это редактор от вас. Занимаюсь разработкой более 20 лет.
                      2 «X Windows добавил менеджеры компоновки окон » вот отсюда по подробный притенезии к какому менеджеру?
                      3 «как насчёт системного буфера обмена» с чего вы взяли что должен быть системный буфер обмена? И даже если вы нем сделать не один элемент, то какое должно быть правило FIFO, FILO?
                      4 " Я не могу положить файл одновременно в два места моей файловой системы? Почему она обязана быть иерархичной?" Как раз в два места вы положить можете, но не все ФС могут иметь ссылки на одно место хранения данных из более чем одного места. Хотя современные ФС могут это делать. А если вам не нравится иерархия то милости просим в БД. Но ФС без иерархической составляющей не прижились. Крайне не удобно.
                      5 " моего компьютера есть мышь, клавиатура, датчики наклона, датчики света, 2 камеры, 3 микрофона и масса bluetooth-аксессуаров, но только первые 2 используются как основные устройства ввода. " Что!?!? Вы не пробовали через xinput подключить по два и более устройств ввода? Значит вы вообще ни чего не пробовали! С мышками удобно (мышь+тачпад), но вот две клавы это не удобно.
                      По мне ваша «статейка» это просто нытье человека который не пробовал решить ни одну проблему. Да и скажу более что Вы даже не пробовали сформулировать проблемы!
                        0
                        1 «Atom — один из самых популярных текстовых редакторов на сегодня» я первый раз услышал про это редактор от вас. Занимаюсь разработкой более 20 лет.

                        а что с этим не так? Если вы не знаете про него, то это не самый популярный редактор?)
                          0
                          Как то пытался поставить это поделие, сразу выдало: «ваша версия glibc не той версии, удалить вообще всё?». Можно сколько угодно его хвалить, но на этом моменте окончилось моё с ним знакомство, так и не начавшись.
                          0
                          Кстати, в OS X можно вешать цветные ярлыки на файлы и папки и таким макаром уходить от строгой иерархии.
                            0
                            Это не просто ярлыки, это именно что любые теги для файлов:
                        • UFO just landed and posted this here
                            0
                            Где толпы желающих писать native-приложения под Win10?

                            А что считать нативными под десятку? UWP, которые работают через кучу слоёв абстракции?
                            На iOS с этим лучше, т.к. есть серьезная модерация в App Store.

                            Там просто вариантов разрешений меньше.
                              0
                              А что считать нативными под десятку? UWP, которые работают через кучу слоёв абстракции?

                              Есть рекомендация — писать на UWP, который совместим с магазином приложений. Сейчас он на слое костылей, мб далее сие поделие будет оптимизироваться и переписываться на более низкий уровень.

                                +1
                                Очень в этом сомневаюсь. Скорее через 5 лет придумают какой-нибудь UWP-Core_Framework не содержащий dll hell, который будут требовать при написании новых приложений.
                                  0
                                  И при этом, разумеется, не откажутся от классических UWP-приложений ))
                                    0
                                    Я тоже сомневаюсь что начнут-таки оптимизацию, однако у меня смысл был в первом предложении — сейчас нет выбора. Если хочешь делать по гайдлайнам и на новую платформу — только UWP.
                                    +1

                                    А что там за слой костылей? Я особо не интересовался, но думал, что там простой .NET и что-то WPF-подобное.

                                      –2
                                      Что-то WPF-подобное для меня и является таким себе слоем костылей, который (ИМХО конечно) не дает простоты восприятия, в угоду программистам старой школы. Удерживают стариков, в общем. Это хорошо для миграции, когда ты писал под ХР и плавно перетек к UWP, однако для меня, как для новичка, тот-же Qt кажется более логичным и приятным.
                                      Хотя я конечно могу ошибаться.
                                    0
                                    Там просто вариантов разрешений меньше.
                                    Меньше, да не сильно — 4 разных разрешения, (условно) 3 варианта dpi. (и это я только айфоны посчитал).

                                    Скорее iOS выигрывает за счёт сильно упрощённого layout (там constraint-based layout с 6 версии, и удобный редактор с предпросмотром «как на реальном устройстве»)
                                    +1

                                    А есть ли хоть одно отзывчивое UWP-приложение, которое при холодном запуске не грузится дольше 20 секунд и при этом имеет адекватный UX-дизайн?

                                    +17
                                    На улице 2017 год. Я не понимаю, почему я должен готовить обед сам? Мне уже давно его должны готовить роботы. И на отдых я хочу летать на Марс! Это же так просто, запустить космические корабли туда. Да, и почему я не могу в свой старый жигули залить вместо бензина воду, и поехать. Бензин и вода — жидкие! Я не вижу никаких проблем в совместимости между ними!
                                      +2
                                      P.S. тем не менее будет интересно посмотреть на те решения, что предлагает автор. Надеюсь они будут вменяемыми и реализуемыми.
                                        +16
                                        Почитал оригинальную статью. IMHO, к сожалению решения автора похожи на совет: «Мышки — станьше ежиками». Увы.
                                      +3

                                      Читал статью в оригинале, большое спасибо за перевод.
                                      Претензии автора к современным ОС не всегда обоснованы, на мой взгляд, но поднимать вопрос о "голом короле" нужно.

                                        +15
                                        Давайте будем объективными. Статья — ной инфантильного мальчика.

                                        Проблема всех современных ОС с историей — обратная совместимость. И она лежит даже не в плоскости разработчиков ОС, а в клиентской базе. На дворе 2017 год, а людей с боем приходится сгонять с Windows Xp на хотя бы SP3. Только укажи, что минимум Вин7, — тут же слёзы, вой, слюни, пот, кровь и прочие телесные жидкости! И тут же появится гений: «о, у вас нет сборки под экспериментальную генту, убожество!»

                                        Но и нам, разработчикам, совсем не упёрлось каждые 2 года пересаживаться на новый API, — за 2 года только-только начинаешь входить во вкус. Даже хуже, мы банально не успеваем просто уследить за всеми новостями. Но мы-то, разработчики, вдобавок совсем обленились, ради скорости разработки и «кроссплатформенности» пишем всё на пространных языках с непонятным способом перевода в бинарный код, да ещё и линкуя сотни библиотек, наивно полагая, что их-то пишут настоящие разработчики, не чита нам. Ну вот, когда «не чита», новые фичи появляются раз в сто лет, как у SQLite, или цена продукта пробивает твой годовой бюджет, как гиперзвуковая ракета пробивает весящий на стене плакат «У меня всё хорошо!». А когда «как обычно», то в проекте появляются 4 разные версии одного и того же фреймворка, которые с удовольствием поделятся с твоим компилятором-интерпретатором, какой ты лох.

                                        Мы не можем отбросить существующие операционные системы и лежащие в их основе парадигмы. Мы не можем ввести в старые системы новые парадигмы, не извратив идею и не получив ужасающих кадавров на стыке MFC, .Net4.6 и tAms'а. Мы не можем отбросить часть клиентов и оборудования, потому как, банально, та же Пи'шка тоже уйдёт. И мы не можем уйти от 15 слоёв обратно к 3-4, потому как не хватит ни времени на разработку всех требований, ни разработчиков, способных этим заниматься.
                                        Цугцванг. Ни переход на новую парадигму, ни модернизация старой не решают проблем. Переход на новый уровень произойдёт с новой технической архитектурой, как Андроид взошёл с поголовным внедрением АРМов. Крайне сомневаюсь, что это будет наш Эверест, поэтому стоит сделать ставки на квантовые вычисления и связанные с ними изменения во всех без исключения сферах компьютерного знания.
                                          +4
                                          поэтому стоит сделать ставки на квантовые вычисления и связанные с ними изменения
                                          Я бы не был таким оптимистичным. Если квантовые ПК легко потянут винду, она там и будет работать, с эмуляцией x64 и немасштабируемыми окнами.
                                            +4
                                            Если квантовые ПК легко потянут винду,
                                            Страшнее будет, если не потянут!
                                              0
                                              Ничего страшного, тогда все останутся на привычной архитектуре (возможно, добавив квантовые устройства как сопроцессоры для небольшого количества задач).
                                              0
                                              Уж криптографию точно придётся переписывать, а это 50% софта в парашу прям даже не запуская. Кроме того, не думаю, что это будет прям новая архитектура, скорее всё остановится на уровне сопроцессора, так как квантовые системы лучше текущих только в ограниченном круге задач. А с тем же оконным циклом старый добрый Intel Pentium справится ничуть не хуже гипотетического квантового водопровода, но уж точно дешевле.

                                              Однако именно отвал криптографии, помноженный на возможность решать огромный объём задач неприлично быстрее побудит переписать само ядро операционных систем. Станет хуже.
                                                +2
                                                Уж криптографию точно придётся переписывать, а это 50% софта в парашу прям даже не запуская.


                                                Зачем переписывать операционную систему просто для того, чтобы заменить одну реализацию одного алгоритма на другую реализацию другого?

                                                Жалобы в топике исключительно про интерфейсы и про нагромождение слоёв API. Откуда вообще взяться зависимости между интерфейсами и криптографическими библиотеками?

                                                Внезапно, обновление, к примеру, openssl не требует переписывания X Window.
                                                  0
                                                  Вопрос не в этом, а в переходе на новый тип оборудования. Windows XP жива до сих пор потому, что компьютеры, выпущенные в 2005-2010 годах до сих пор одной левой справляются со всей необходимой нагрузкой, в частности, криптографией. То же про клиентские ОС, то же про ряд серверов. Поэтому нет даже шанса на переход в новые парадигмы: пользователи не желают изменений, ведь у них и так всё хорошо, а разработчики вынуждены тянуть обратную совместимость и не могут полностью перейти в новые парадигмы. Эта ситуация расползается на десятилетия.

                                                  Единственный шанс это всё оборвать — резкий переход на новое оборудование. Это было с iPhone и, позднее, Android. Новый рынок, новый подход к использованию и, конечно, короткий жизненный цикл устройств. Всё это позволяет значительно менять систему, плюя на обратную совместимость. Та же история повторялась двукратно с повышением разрядности. Уход от windows 98 произошёл под свист больших дисков, Линукс поднялся с появлением интернета за пределами пыльных бункеров.

                                                  Так вот, внедрение квантовых вычислителей, — это очередной слом парадигмы, который единовременно заставит многих покупать новые железки, как минимум, ускорители. И брать, прежде всего, будет бизнес, самая консервативная и денежная часть. Естественно, это будет болезненный переход, но его, как и переход с 16 на 32 бита, смогут игнорировать только самые особенные.
                                                  И этот слом — не причина — всего лишь возможность подготовить и раскрутить новую ОС «с чистого листа». В такой момент ты не выхватываешь по 1-2 любопытных пользователя в сети, упуская столько же из-за «нету игор». Ты сразу снимаешь пласт клиентов, в том числе, очень богатых.

                                                  Прямо сейчас нечто подобное наблюдается в IoT. Полноценное ядро никсов слишком тяжелое, так что появляется множество новых ОС «с нуля», из которых парочка, возможно, станет основными в этой сфере через несколько лет.
                                                    +2
                                                    Естественно, это будет болезненный переход, но его, как и переход с 16 на 32 бита, смогут игнорировать только самые особенные.


                                                    Основное обозримое применение для бизнеса — решение задач оптимизации (обучение всяческой машинки). (поправьте меня, если это не так и вы видите какое-то другое применение).
                                                    Собственно, последние несколько лет прямо на наших глазах бизнес столкнулся с появлением вычислений на ГПУ, благополучно ровно для тех же самых задач их освоил и много-много (в совокупности) в это денег вложил.

                                                    Это привело к изменениям в архитектуре ОС? Нет.
                                                    Это привело к изменению в интерфейсах? Нет.

                                                    И логично, что не привело. С чего бы?

                                                    Я не очень понимаю, почему вы считаете, что в этот раз приведёт, никаких логических предпосылок для этого не видно. В текущем состоянии квантовые вычислители — намного более узкоспециализированные (по сравнению с GPU) ускорители решения некоторых задач.

                                                    но его, как и переход с 16 на 32 бита, смогут игнорировать только самые особенные.


                                                    Тем временем переход 32->64 с точки зрения, обсуждаемой в статье, ничего нового не привнёс (хотя, естественно, на данный момент все игроки этот переход уже поддержали — и производители железа и разработчики ос)
                                                      +1
                                                      Собственно, последние несколько лет прямо на наших глазах бизнес столкнулся с появлением вычислений на ГПУ, благополучно ровно для тех же самых задач их освоил и много-много (в совокупности) в это денег вложил.
                                                      Условно, это новый рынок и новый вид деятельности. Как VR, его появление не уничтожает привычные мониторы. А нужен слом старого рынка и уничтожение предыдущего уклада.
                                                      Переход на 32 бита был сломом, на 64 — нет. 32-битные системы не потеряли актуальности даже спустя 12 лет после появления AMD64. А 16-битные уже к 80-м исчерпали возможности экстенсивного роста за счёт разрядности и пошли на страничные хитрости. То же с автомобилями — они сломили существовавший рынок гужевого транспорта, в то время как поезда осваивали новый рынок и не были прямыми конкурентами лошадей.
                                                      Квантовые процессоры ломают старую криптографию. А нейросети и бигдата осваивают новые рынки и дополняют старые добрые конечные автоматы и базы данных.

                                                      Как-то так.
                                                        +1
                                                        Квантовые процессоры ломают старую криптографию.

                                                        Ага. Ломают конкретные алгоритмы, опирающиеся на сложность решения проблем, лежащих не выше конкретного уровня полиномиальной иерархии.
                                                        А вот выше этого конкретного уровня — уже, судя по всему, быстро не ломают.

                                                        Когда будет нужно, во всех криптобиблиотеках появится какая-нибудь latice-based криптография, вы как конечный пользователь этого особо и не заметите.

                                                        AMD64. А 16-битные уже к 80-м исчерпали возможности экстенсивного роста за счёт разрядности и пошли на страничные хитрости.


                                                        От страничной адрессации как раз никуда и не ушли. Напротив, к ней примерно в этот момент перехода и пришли.
                                                        И, в общем-то, важным шагом были именно реализация механизмов страничной адресации, защиты памяти и всего прочего в 386 (в 286 что-то вроде Protected mode уже было, но, то ли рынок не успел подготовиться, то ли просто не зашло), а то что в регистре теперь битиков другое число — дело десятое, хотя и упростило жизнь.

                                                        А нейросети и бигдата осваивают новые рынки и дополняют старые добрые конечные автоматы и базы данных.


                                                        Можете объяснить, какую мысль в контексте нашего разговора вы пытаетесь этой фразой сказать?

                                                        Конечные автоматы и базы данных вообще тут причём?

                                                        Условно, это новый рынок и новый вид деятельности. Как VR, его появление не уничтожает привычные мониторы. А нужен слом старого рынка и уничтожение предыдущего уклада.


                                                        Перессказываю своё предыдущее сообщение:
                                                        По-моему мнению для конечного пользователя появление и распространение ускорителя в виде квантового вычислителя эквивалентно появлению и распространению вычислений на GPU.

                                                        Я понимаю, что вы, судя по всему, не согласны и видите какую-то разницу — и я прошу вас объяснить, в чём же она, если она, по-вашему, есть?

                                                        Вместо этого вы пишете «Ну она есть».
                                                        И проводите примеры случаев, когда она была.

                                                        Вот у вас есть x случаев когда разница была и y случаев, когда её не было. Вопрос же в том, почему именно этот случай, по-вашему, тот самый, когда разница будет?
                                                          0
                                                          Ага. Ломают конкретные алгоритмы, опирающиеся на сложность решения проблем, лежащих не выше конкретного уровня полиномиальной иерархии.
                                                          А так же все приложения, в которые OpenSSL прилинкован статически или использовались другие библиотеки. И всё оборудование с аппаратной реализацией этих алгоритмов. Банально, ваш роутер с его WiFi и встроенным VPN.

                                                          Конечно, до квантовых компьютеров ещё полно времени, можно подготовиться. Как полагается, всё это время будет успешно просрано.
                                                          Перессказываю своё предыдущее сообщение:
                                                          По-моему мнению для конечного пользователя появление и распространение ускорителя в виде квантового вычислителя эквивалентно появлению и распространению вычислений на GPU.
                                                          Эквивалентно появлению общего однородного стандарта программирования графики на GPU для геймдева. Своего рода DirectX\OpenGL. Их внедрение — новая веха, как только люди втянулись, наработали кодовую и нарастили аппаратную базу — предыдущий этап исчез.
                                                          С вычислением на GPU не так, далеко не всё можно в него запихнуть, а даже если и запихнул, тебе всё равно нужен мощный процессор для обслуживания передачи данных.
                                                            0
                                                            А так же все приложения, в которые OpenSSL прилинкован статически или использовались другие библиотеки. И всё оборудование с аппаратной реализацией этих алгоритмов. Банально, ваш роутер с его WiFi и встроенным VPN.
                                                            Криптография обычным людям нафиг не нужна. Сколько все сидели на http и не парились? Аналогично с VPN — главное, туннель есть, и хорошо. А то, что злой дядька может подсмотреть — да пусть смотрит, будет выпендриваться и троллить, напишем на него заявление за несанкционированный доступ.
                                                            вычислением на GPU не так, далеко не всё можно в него запихнуть
                                                            Как будто с гипотетическими квантовыми вычислениями будет по-другому.

                                                            Ведь что такое GPU?
                                                            Массив процессоров, у каждого из которых есть приличное кол-во локальной памяти + глобальная память.

                                                            Можно в принципе было не лепить его рядом с CPU, а сделать новый процессор, написать совершенно новую ОСь, начиная с загрузчика, на этих принципах?
                                                            Можно.

                                                            Почему не сделали?
                                                            Да лень всё переписывать.

                                                            Так почему квантовые ускорители должно пойти по другому пути?
                                                              0
                                                              Криптография обычным людям нафиг не нужна.
                                                              Ты это своей банковской карточке скажи и личному кабинету на госуслугах.
                                                              Так почему квантовые ускорители должно пойти по другому пути?
                                                              Не должны. Могут. Я уже в 4-й раз пишу: этот переход можно использовать для проталкивания своего продукта. Это может быть Windows Quantum, Ubuntu Superpos или qw1's Singularity. А может и не быть, если лень.
                                                                0
                                                                Ты это своей банковской карточке скажи и личному кабинету на госуслугах.
                                                                Ну, ок, будут на эти сайты ходить через новый супербраузер, или с другого устройства. Но повально выбрасывать старые программы не будут.
                                                                этот переход можно использовать
                                                                Нет. Переход возможен, если он удовлетворяет какие-то потребности. Например, за 3 нажатия пальцем в маленький экран написать SMS. Чтобы завоевать десктоп (или перезавоевать уже завоёванный мобайл), нужно принципиально менять пользовательский опыт, и тогда под шумок можно сменить архитектуру. Но это если текущий король не подсуетится и не скопирует ключевые идеи себе.
                                                                  +1
                                                                  Переход возможен, если он удовлетворяет какие-то потребности.
                                                                  Технические, в том числе. Например, выход очередного DirectX только на новой версии ОС.
                                                                  Чтобы завоевать десктоп (или перезавоевать уже завоёванный мобайл), нужно принципиально менять пользовательский опыт
                                                                  Согласен. Не спорю ни капли!
                                                                  Но это если текущий король не подсуетится и не скопирует ключевые идеи себе.
                                                                  Для этого и нужен резкий переход — все оказываются в примерно равном положении. Каждый предполагает что-то своё и ни у кого нет готового решения.
                                                                  +1
                                                                  Это может быть Windows Quantum, Ubuntu Superpos или qw1's Singularity.


                                                                  Меня терзают смутные сомнения, что проблема в том, что ваше представление о квантовых компьютерах на уровне — «Ну это такой компьютер, только лучше».

                                                                  Как бы, конечно, ваше право, но ваши собеседники (в первую очередь о себе), когда слышат «квантовый компьютер» считают, что вы рассуждаете про конкретную вычислительную модель с конкретными прототипами и приблизительно обозримым будущим.

                                                                  Возникает недопонимание. Замените в ваших рассуждениях «квантовый компьютер» на «воображаемая новая вычислительная модель, которая вдруг появится» — и всё станет на свои места.

                                                                  Впрочем, моё wtf остаётся в обоих случаях: речь идёт о банальных проблемах интерфейсов и разработки, а вы как бы говорите «да всё просто, вот решение — всего лишь нужен огромнейший прогресс в одной из наиболее передовых областей науки и техники — тогда сразу (непонятно, с чего) появится повод нарисовать хорошие интерфейсы».
                                                                0
                                                                С вычислением на GPU не так, далеко не всё можно в него запихнуть, а даже если и запихнул, тебе всё равно нужен мощный процессор для обслуживания передачи данных.

                                                                Вы сейчас говорите: «с вычислением GPU не так, потому что они очень СПЕЦИФИЧНЫЕ. И нужен CPU, чтобы делать общие вещи, а когда нужно данные в этот самый ваш GPU отправлять, управлять им, загружать обратно».
                                                                Так вот ввантовые компьютеры — немного более специфичная штука, чем GPU.

                                                                  0
                                                                  А так же все приложения, в которые OpenSSL прилинкован статически или использовались другие библиотеки. И всё оборудование с аппаратной реализацией этих алгоритмов. Банально, ваш роутер с его WiFi и встроенным VPN.


                                                                  Если мы исходим из ситуации, что по какой-то причине бинарник намертво навсегда забит в железку и не обновляется, к тому моменту, когда случится квантовый прорыв, в намертво зашитой версии openssl уже будет найден и хертблид и ещё вагон и маленькая тележка уязвимостей, с эксплоитами в свободном доступе пригодных для запуска любым школьником.

                                                                  Опять же — допустим роутер стар, убог и по какой-то причине из принципа производитель не будет выпускать новую прошивку.

                                                                  Ок, выпустит новый роутер с обновлённым openssl с постквантовой криптографией в нём.

                                                                  С чего вы взяли, что он выпустив новый роутер будет придумывать для него новый интерфейс? Задача решается обновлением одной библиотеки, и пересборкой прошивки.
                                                                  Задача рисования новых интерфейсов с криптографией не связана вообще. Необходимость пересобрать openssl рисование новых интерфейсов не влечёт (и новые интерфейсы, по-прежнему, могли бы быть нарисованы и без пересборки openssl, но не рисуются)
                                                                    0
                                                                    Отвечу на всё сразу.
                                                                    Интерфейс неразрывно связан с остальной логикой ОС. И связан на самом низком уровне. Либо так, либо у вас вырастают 50 слоёв-обёрток, на которые так же жаловался автор. В Qt, например, собственная отрисовка, которая может выполняться на OpenGL или на GDI+, сделана не из желания добавить новый уровень абстракции, а из необходимости планировать над всеми API.
                                                                    Даже если вы сделаете какой-нибудь сверхкрасивый и удобный набор формочек аля .Net, многие приложения нельзя будет перевести на ваш API, потому что вот тут вот он работает не так, как у нас. Далеко ходить не надо, переход WinXP->Win7 сломал половину диалогов из-за разницы в возвращаемых размерах окон.

                                                                    Для всех ОС есть десятки кастомных ланчеров и прочих приблуд для усовершенствования интерфейса. Ряд ланчеров под WinXP делал её куда красивее, элегантнее и мощнее современной Win10 по цене старого запорожца. Но почему-то они не пользовались и не пользуются популярностью у народа. Почему бы это?

                                                                    Что касается квантовых компьютеров/сопроцессоров/PCI-расширений/USB-карточек, вы почему-то решили, что я пророчествую «смерть windows в 2027 году». Чушь!
                                                                    Я написал, что с выходом массовых квантовых систем для многих категорий их использование будет шагом вынужденным, а вслед за этим будет вынужденное использование тех ОС, которые поддерживают квантовые устройства на должном уровне.
                                                                    Если вы хотите написать новую лучшую ОС и захватить рынок, то стоит заранее подготовить место под квантовые вычислители в системе и изучить возможность их использования. Сделать ставку уже сейчас, добавив квантовый язык и эмулятор глубоко в ядро системы. Просто потому, что уже сейчас вы привлечёте гиков-исследователей, а с выходом этих устройств на массовый рынок эффективная утилизация кубитов будет существенным преимуществом, и простое заявление «у нас Vulkan API работает быстрее всего, Wine не лагает, красивые окошки и гребёнки, а ещё мы можем в кубиты, отчего наш ИИ стал очень умным и даже может пофлиртовать с вами» звучит очень сильно на волне хайпа.

                                                                    Из этого не следует, что новый интерфейс появится с новой версией OpenSSL или с квантовыми процессорами. Из этого следует, что с их выходом можно популяризировать новую ОС, в которой будет новый удобный и красивый подход к UI. Который на этой волне может быть подхвачен другими разработчиками и встроен, в том числе, в роутеры.
                                                      0
                                                      B можно будет запустить MS-DOS приложение на квантовом компьютере. Лепота.
                                                        0
                                                        DOSBox загрузит и квантовый проц на 100%
                                                      0
                                                      сделать ставки на квантовые вычисления и связанные с ними изменения во всех без исключения сферах компьютерного знания.

                                                      Квантовые, вроде, совсем не заменяют обычные и пригодны только для некоторого круга задач. Тут же про интерфейс и нагромождение слоёв говорили. При чём тут квантовые компьютеры?

                                                      Квантовый текстовый редактор, на квантовом электроне, который пишет одновременно код с багами и код без? =)
                                                        0

                                                        Иногда любители обратной совместимости и нелюбители пересаживаться вдруг обнаруживают что к их "Волге" перестали делать карбюраторы.
                                                        Надо это иметь в виду.

                                                          +1
                                                          Я, например, вряд ли нашел бы для себя настолько полезные функции в Windows 7-10, ради которых был бы готов пожертвовать скоростью работы Windows XP на том же железе. Я мигрировал исключительно из-за отсутствия драйверов и несовместимости прикладного софта. И, полагаю, таких пользователей как я, которые обновили ОС вынужденно, а не из-под палки, очень и очень много.
                                                            0
                                                            Эх, а как мало таких, которые как я до сих пор на XP…
                                                      +13
                                                      X Windows? Всю жизнь было X Window.
                                                        +8
                                                        Почему Я могу присоединять и отсоединять вкладки внутри моего браузера или файлового менеджера, но не могу сделать то же самое между 2мя разными приложениями? Не существует ни одной технической причины, почему это было бы невозможно. Окошки приложений всего лишь изображения, но ребята разработчики не добавляют этой фичи, потому что не в приоритете!

                                                        Потому что для этого, о ужас, нужны так ненавистные автору слои абстракций. Которые приложение должно поддерживать.


                                                        Все хотелки автора требуют этих самых слоев на уровне ОС.


                                                        Я не могу приказать своему пк выполнить что-то голосом

                                                        Но это не точно

                                                          0
                                                          Потому что для этого, о ужас, нужны так ненавистные автору слои абстракций. Которые приложение должно поддерживать.

                                                          Особо ничего сложного и страшного. И всё уже придумано. ЕМНИП, для Compiz'а был раньше такой плагин, только протух, т.к. особо никому не надо объединять мультик про поней с vim. Ну и автор не стал его поддерживать. Что же он, если ему так надо? А ещё, помнится, в kwin было такое оформление окон, как в BeOS.
                                                          Хотя некоторая польза от статьи есть. Иногда таки надо перетряхивать старое и изобретать новое. Только у него примеры какие-то странные, не очень удачные. Просто не осилил нагуглить то, что ему требовалось.
                                                          +4

                                                          В целом, я согласен с автором по двум пунктам, а именно в том, что современные ОС жуткое легаси и не сильно развиваются и в том, что у нас слишком, слишком много слоев абстракций.


                                                          Про абстракции. Все сложно. С одной стороны, действительно, когда я смотрю, сколько ресурсов потребляет то или иное приложение, становится грустно. Зачастую потребление ресурсов увеличилось в сотни раз, но вырос ли в сотни раз функционал и юзабилити? С другой стороны, все понимают, что абстракции необходимы для сокращения сложности разработки. Мало кто пойдет разрабатывать десктоп-приложение на C и чистом WinAPI с его ручным созданием компонентов при помощи CreateWindowEx. Мало кто будет писать крупное веб-приложение на C и CGI.


                                                          C и CGI

                                                          Однажды я писал простое веб-приложение на C и CGI. Это был Atmel AT91SAM, 4 (?) Мб флеша, в которые влезло ядро, busybox и libc. libc++ уже нет. И бд в текстовых файлах. Это было… весело.


                                                          А еще я заметил, что иногда, вместо того чтобы решать задачу, мы "боремся" с фреймворками, которые по-идее должны нам помогать. Либо я что-то делаю не так, либо…


                                                          Про ОС. Какие-то претензии автора весьма странные. Как я перенесу вкладку из фотошопа в браузер, а из браузера в Visual Studio? Какого поведения он ожидает? В целом это желание странных фич. Ничего глобального.


                                                          Мне не нравится другое. Практически все современные ОС имеют архитектуру 40-летней давности. Не то, чтобы это как-нибудь влияло на нашу жизнь. В целом, мне концептуально нравятся различные экспериментальные ОС, вроде того же MS Singularity. Вот только это (не конкретно подходы Singularity, а просто что-то иное) невозможно внедрить ни сейчас, ни, я думаю, в обозримом будущем.

                                                            0

                                                            Из браузера в msvs можно было бы запилите. в msvs же есть web-браузер

                                                              +2

                                                              Действительно. Но все-равно, мне кажется, это какой-то очень натянутый фич-реквест у автора.

                                                              +1
                                                              На самом деле перенести вкладку при некоторой поддержке приложением не было проблемой и лет 20 назад. Было в win (ещё 3.каких-то) СОМ, до него OLE, до него DDE (если не изменяет память). Позволяло внедрять кусок чужого приложения выделяя ему память и место на экране для отрисовки. Вот только нафига? Ну в документе это ещё имело смысл (до тех пор, пока у всех, кто работал с ним имелись все необходимые приложения), а вкладка зачем? На маке, где общее меню приложения вынесено на рабочий стол вообще проблем никаких по логике (не знаком с ними изнутри). Слепи несколько окон приложений в одно — они и не заметят.

                                                              А вот с абстракциями, imho, действительно перебор адовый по большей части. Поскольку новые абстракции часто растут на перегное из старых. В итоге с годами получаем охренительной высоты матрёшку, в которой верхние слои уже даже не помнят, за чем там (и что они вообще есть) нижние. Тот же вынапи элементарно оборачивается минимальным синтаксическим сахаром и без проблем используется. Для совсем ленивых есть возможность работать с диалогами, загружаемыми из ресурсов, где этот сахар уже частично присутствует. Но все любят абстракции…
                                                                0
                                                                Поскольку новые абстракции часто растут на перегное из старых.

                                                                Вот тут полностью согласен. Почему тот же UWP работает поверх WinAPI, когда есть поддержка подсистем на нативном ядре?
                                                                  0
                                                                  Плюс за COM, OLE и DDE — тоже хотел о них написать.
                                                                  В итоге с годами получаем охренительной высоты матрёшку, в которой верхние слои уже даже не помнят, за чем там (и что они вообще есть) нижние. Тот же вынапи элементарно оборачивается минимальным синтаксическим сахаром и без проблем используется
                                                                  Не одним же вынапи…
                                                                  Вот задумали вы сделать для себя небольшое приложение, но обязательно кроссплатформенное, просто потому что у вас на компе генту, у жены макбук, а на планшете пусть будет винда-10.
                                                                  Как же сделать это без невыносимых страданий и без кучи слоёв абстракций?

                                                                  Ну и пример моей ежедневной рутины: на макбуке запускаю VMWare Horizon Client, чтобы подключиться к корпоративному серверу, в котором эмулируется машина с Windows 7, в котором я через Vagrant запускаю в headless режиме Virtual Box с Ubuntu, в котором у меня крутится контейнер docker, в котором выполняются в интерпретаторе скрипты на PHP, которые через библиотеку webdriver загружают в PhantomJS сайты, которые что-то там делают на JavaScript.

                                                                    0
                                                                    Вот задумали вы сделать для себя небольшое приложение, но обязательно кроссплатформенное

                                                                    Фишка в том, что мне на самом деле не нужно кроссплатформенное приложение. Мне будет с головой достаточно переносимости кода. Чтобы я раз написал, и потом пересобрал под все три платформы, возможно, с минимальными изменениями. И я прекрасно знаю, что при минимальном и достаточном подходе для этого не нужно городить гипер-сложные уровни абстракций. И различные API в общем, и GUI в частности во всех трех системах вполне приводятся к общему знаменателю одной прослойкой, а не стеком из десяти. Просто… развитие пошло в другую сторону. Кроссплатформенность сейчас во многих случаях — это написать что-то на JS и всунуть в какой-то аналог WebView на целевой платформе. Ну т.е. вся та навороченная система со всеми её API используется просто для запуска браузера. А тот пусть отдувается за всех, с помощью своей тормознутой DOM и скриптового движка.
                                                                      0
                                                                      Да это нормально. У нас на работе есть необходимость работать с общей БД. Для доступа к ней на сервере развернули виртуалку. А поскольку доступ к ней есть только с одной машины (безопасники...) то на этой машине развернули ещё одну виртуалку, к которой уже могут подключится все, кому нужно. Как-то примерно так (я с этой штукой не работаю).
                                                                    0
                                                                    Практически все современные ОС имеют архитектуру 40-летней давности. Не то, чтобы это как-нибудь влияло на нашу жизнь.

                                                                    Вот это как раз и влияет. И часто в плохую сторону. Например, безопасность. До сих пор в десктопных системах приложения по умолчанию получают все права пользователя. Да, есть SELinux, есть AppArmor и песочницы, контейнеры. Но много ли где они используются по умолчанию? И они как раз таки навешиваются сбоку на то, что уже существует. Они добавляют запреты для приложений поверх существующей модели, вместо того, чтобы давать разрешения только на то, что действительно надо.

                                                                    Или скажем, были бы строки в Си не с нулём в конце, а с длиной в начале. Было бы гораздо лучше, меньше эксплуатируемых дыр. До сих пор же всплывают.
                                                                      0
                                                                      В этом плане мне нравятся подвижки MS в сторону «Metro» — можно устанавливать и запускать приложения Васи Пупкина без опасений, что оно перешлёт весь мой HDD этому Васе.
                                                                      Лишь бы не стало как с Android, когда каждое второе приложение требует все основные разрешения.
                                                                    +13

                                                                    Боюсь что все дороги ведут к этой картинке:
                                                                    image

                                                                      +3
                                                                      > A message bus will be the only kind of IPC. We get rid of sockets, files, pipes, ioctrls, shared memory, semaphores, and everything else. All communication is through a message bus

                                                                      double_facepalm.jpg
                                                                      Зачётный наброс. Удачки автору.
                                                                      Ой, этого в переводе кажется нет, обещается в следующей статье. Вот она будет вкусной, очень вкусной. Почитайте оригинал, чтобы поржать, там ещё много «интересных» мыслей.
                                                                        +11
                                                                        Atom — один из самых популярных текстовых редакторов на сегодня.

                                                                        Среди кого популярен? Как он смог стать популярным, если не мог открывать файлы размеров в два мегабайта?

                                                                        И между прочим, Windows может всё ещё запускать приложения из 90ых.

                                                                        Можно подумать, это плохо. Наоборот, пропадание совместимости вынуждает строить костыли. Я тут напоролся на то, что одна программка 92 года на х64 не запускалась. Пришлось виртуалку с 32хбитной виндой поднимать.

                                                                        Консоль Windows — CMD.exe, позволяющая запускать программы DOS

                                                                        Чего-чего?

                                                                        X Windows

                                                                        X Window

                                                                        А всё остальное — глас вопиющего. Будет как в том комиксе xkcd про стандарты.
                                                                          +2
                                                                          Среди кого популярен? Как он смог стать популярным, если не мог открывать файлы размеров в два мегабайта?

                                                                          Просто автор статьи им пользуется и считает, что и все остальные тоже)
                                                                            +1
                                                                            Среди кого популярен?

                                                                            Среди мазохистов, разумеется.
                                                                            Его и правда эдакой заменой саблайма пытались выставить, даже на хабре несколько статей пробегало, но у меня (Core i5, 8 Гб оперативки, на тот момент LMDE) он за минуту даже окошко с пустым документом не смог отобразить. Пробовал несколько версий, на случай если самую свежую случайно сломали.
                                                                              +2
                                                                              Мне оказалось достаточно слов про то, что он «написан с использованием веб-технологий», чтобы даже не пытаться установить.
                                                                              Я уж лучше по старинке vim продолжу использовать.
                                                                                +1
                                                                                Мне оказалось достаточно слов про то, что он «написан с использованием веб-технологий», чтобы даже не пытаться установить.

                                                                                А я как-то попытался, и даже использую. Не знаю как насчет «самых популярных», но могу сказать, что фраза про мазохистов — вполне правда. Этой штукой можно пользоваться или от безысходности, или от лени поискать другой редактор, или если получаешь неестественное удовольствие от постоянных лагов на любой машине.
                                                                            +2
                                                                            Любую проблему можно решить с помощью еще одного уровня абстракций. Кроме слишком большого количества уровней абстракций.
                                                                            По большому счету требуется формальная (математическая) модель декомпозиции ОС на отдельные компоненты. Но математической подготовки современных разработчиков и пользователей не хватает, что бы эту модель создать, реализовать и использовать.
                                                                              +1
                                                                              Лучше не надо.
                                                                              Лучше не надо подключать учёных к инженерным дисциплинам. К дисциплинам, а не решениям инженерных проблем — тут они короли и боги. Но, сцуко, как только требуется реальное решение, то лучше пригласить инженера-программиста, а ещё лучше — слесаря по компьютерам.
                                                                                +1
                                                                                Тогда будет как сейчас. Раз-два и в продакшен.
                                                                                0
                                                                                А может подготовки современных разработчиков хватает, чтобы понять, что это будет долго, дорого, и не продуктивно?
                                                                                  0
                                                                                  Пока дорого и непродуктивно поддерживать легаси код.
                                                                                    0
                                                                                    Ну наймите математика. А в чем проблема, он много денег просит? А как вы собираетесь платить программистам-математикам, которые будут переделывать легаси?
                                                                                +1
                                                                                Про отсутствие виртуальных папок я тоже постоянно удивляюсь. Так же теггирование всех ресурсов, локальных, сетевых, и веб, чтобы потом, по тэгу, можно было быстро найти всю релевантную информацию (успех твиттера не в 140 знаках, а в парадигме хештега)
                                                                                А чтобы теггирование работало на уровне веб ресурсов, можно завязать это на использование непопулярного интернет-эксплорера (майкрософт, алё, тут деньги валяются, подбираем) Письменные аннотации они ведь прикрутили.
                                                                                Хотя недавно нарыл интересную программку tabbles.net — она вроде закрывает этот пробел. Но интеграция в системе работает через плагины, а не нативно, вот в чем дело.

                                                                                  +1
                                                                                  Хотя недавно нарыл интересную программку tabbles.net — она вроде закрывает этот пробел.
                                                                                  Что-то посмотрел я на их видео и эм… нифига не понял, как этим вообще можно пользоваться толком.
                                                                                  Например, у меня есть 14к файлов, которым нужно разобрать и проставить кучу тегов разных группировок (имя автора по англ и русски, название модели так же в двух вариантах, в каком издании было опубликовано, на каких страницах, дополнительные теги в духе животное, медведь и прочие уточняющие, год модельки, субъективная оценка). То есть это в итоге выльется в соточку тысяч тегов нескольких уровней группировки для того, что бы стало действительно возможно искать более менее «нечетко» файл. Пример — реальный.

                                                                                  Это как одна из прог, которая делала облако тегов. Все было классно, пока тегов не столо около сотни и оказалось, что это облако нельзя прокрутить. Так и тут, судя по видосикам — лайт версия какая-то.
                                                                                  Это не говоря уже о том, что теги привязывать надо к хешу файла и его имени, а так же пускать службу отслеживания изменений в фс в нужных папках, дабы переименования, перемещения и изменения файла отслеживать самостоятельно (tag2find так умел, хотя не без ошибок связанных с тем, что при перемещении папки в папку в винде не создаются события перемещения вложенных в нее файлов), а не как в видео про тотал коммандер перемещать только внедренными в контекстное меню командами…

                                                                                  А вообще, конечно, тегирование и социальная состовляющая могли бы реально стать бомбой, вот только хештеги под фотками девушек намекают, ага. Про поиск релевантной информации в вебе.
                                                                                    0
                                                                                    я конечно подозреваю, что отсутствие каких-то функцкий не обязательно обусловленно отсутствием идей, а, вполне возможно, сложностью их достойной реализации.
                                                                                      0
                                                                                      Я подозреваю, что проблема в том, как сами авторы используют свой функционал, если вообще используют.
                                                                                  +6

                                                                                  1) Рынок. Если приложение разрабатывается за деньги, никто не будет тратить х10 денег и х10 времени на разработку приложения в нативе гуру программистами, если можно нанять пару студентов (ну условно), сделающих это на фреймворках. Мы живем в эпоху копроэкономики, и с тех пор, как бизнес плотно зашел в компьютеры — эти подходы распространились и в IT. Это самый эффективный способ получения дохода на сегодняшний день, и пока не придумали чего-то лучше — спекулировать о высокой морали и красивом коде бесполезно.
                                                                                  2) Железо перестало развиваться функционально. Конец эпохи пентиума 4 и выход Core поколения был последним значимым этапом развития десктопного железа. Дальше улучшались только видеокарты для игроманов и 3D дизайнеров. С тех пор для среднего пользователя компьютер не улучшается принципиально, а значит и нет смысла апгрейда ни железа, ни софта, который бы не тормозил/был на порядки функциональнее за счет нового железа.
                                                                                  3) С тех пор как компьютеры зашли в бизнес – операционным системам предъявляются совершенно иные требования к сохранению совместимости. Софт, написанный и 10 лет назад ДОЛЖЕН РАБОТАТЬ. Это не мобила, которую можно выкинуть и купить новую на новой платформе и не заметить разницы, так как базовая функция смс и звонков встроена в саму ОС и как работала, так и работает.
                                                                                  4) И тут мы плавно подходим к вопросу: как отвязать софт от ОС? На данный момент выход только один – абстракции и еще раз абстракции. Кто бы что ни говорил, но в текущем положении у МС нет другого выхода – ей необходимо отвязывать новый софт от легаси WinApi и единственный выход – .net фреймворк везде и для всего. Проект Singularity был прекрасен, но слишком преждевременен. Он обязательно зайдет, но только лет через 10-15, когда и весь софт будет на фреймворке, и МС наконец-то сможет прозрачно подменить ОС на новую, просто обновив слой абстракции фреймворка, а весь софт останется рабочим. В историю с эмулятором по аналогии с МакОсью я не верю, у неё было совсем другое положение, доля рынка и почти полное отсутствие корпоративного костыльного софта, который, каким бы хорошим ни был эмулятор, не факт, что работал бы.

                                                                                    0
                                                                                    Кто бы что ни говорил, но в текущем положении у МС нет другого выхода – ей необходимо отвязывать новый софт от легаси WinApi и единственный выход – .net фреймворк везде и для всего.

                                                                                    Одна только проблема — .NET Framework уже сам во многом, особенно в части BCL/FCL, разработанной на ранних этапах — уже легаси.
                                                                                    Поэтому появление .NET Core неслучайно.
                                                                                    То же самое в Java, только там легаси еще и JVM, т.к., в отличие от CLR, JVM не менялась в угоду совместимости.

                                                                                      +4

                                                                                      ну, первый блин комом )) Фактически, хоть МС и заявляли мультиплатформенность для изначального фреймворка, по факту нигде кроме винды он не работал, банально из-за отсутствия официальной стратегии развития. С core/standard же всё стало по-человечески )) Так что должно зайти надолго, и может быть таки выполнит своё изначальное предназначение. Я очень воодушевился, когда смог запустить один и тот же mvc сайт на всех трех платформах (вин, лин, мак), а после безболезненного перекомпила даже на arm. За этим будущее и возможность начать отход от легаси и привязки к архитектуре железа.

                                                                                        0
                                                                                        Да, это следствие непродуманной стратегии развития Microsoft. Вендор-лок и платные средства разботки не способствуют популяризации технологии, когда конкуренты предлагают бесплатную альтернативу.

                                                                                        Поэтому Microsoft постепенно ослабляла гайки. Сначала сделала бесплатную MSVS Community для некоммерческих разработок, но она была настолько ограниченной, что даже для учебных проектов я предпочитал крякнутую студию. Затем Comminity стала полнофункциональной — уже лучше. Ну а сейчас MSVS Comminity официальна разрешена даже для коммерческой разработки.
                                                                                          0
                                                                                          Тем не менее, с некоторой степенью геммороя можно было сделать общий экзешник и для десктопа и для PocketPC.
                                                                                          Только оказалось не нужно никому.
                                                                                        +1
                                                                                        Мы живем в эпоху копроэкономики, и с тех пор, как бизнес плотно зашел в компьютеры — эти подходы распространились и в IT.
                                                                                        Ну ладно, злобный Лорд Бизнес производит говно. А лично вы как потребитель готовы потратить х10 денег и подождать х10 времени на новую серию вашей любимой игры или на обновление вашего рабочего софта?
                                                                                          0

                                                                                          Да я вроде и не писал это с негативом. Нам это ситуация скорее выгодна, быстрее оборот, больше работы.

                                                                                            +1
                                                                                            Приставка в слове «копроэкономика» подразумевает негатив. Вы же не сказали просто «экономика».
                                                                                        +3
                                                                                        Почему Я могу присоединять и отсоединять вкладки внутри моего браузера или файлового менеджера, но не могу сделать то же самое между 2мя разными приложениями?

                                                                                        Такая фишка была в KDE4 — Tabbed Windows,
                                                                                        но она оказалась не сильно востребована и как следствие пока не портирована в plasma 5 (хотя она есть в листе ожидания)


                                                                                        Почему Я не могу положить файл одновременно в два места моей файловой системы?

                                                                                        в linux вполне можно делать hard links


                                                                                        Почему Я не могу отсортировать файлы по тэгу или метаданным?

                                                                                        в том же kde можно

                                                                                          0
                                                                                          Расположение окон в виде табов есть давно и никуда уходить не собирается — достаточно использоваться какой-нибудь тайловый оконный менеджер. Только мне кажется, автор что-то другое под этим имел в виду.
                                                                                            +6
                                                                                            в linux вполне можно делать hard links

                                                                                            И в macOS можно, и в Windows можно. А где нельзя?
                                                                                              0
                                                                                              Наверное, имелась в виду сложность создания хардлинков в виде отсутствия удобного интерфейса.
                                                                                              0
                                                                                              в linux вполне можно делать hard links
                                                                                              Вы так говорите, как будто в той же винде этого еще с висты нельзя было сделать ни харлинки, ни симлинки.
                                                                                              Вот только хардлинки — существуют только внутри одного раздела и только для файлов, а симлинки — умирают от простого переименования файла/папки. Что ограничивает.
                                                                                              в том же kde можно
                                                                                              ну вот mp3 файлы в винде так же можно по тегам сортировать (например, по названию альбома, песни или исполнителя — если они в тегах прописаны). Но вот большинство форматов файлов по умолчанию теги не содержит, что печально. Почему только вопрос у автора к ОС, а не форматосоздателям — непонятно.
                                                                                                0

                                                                                                Даже не с висты, а ещё раньше. Когда там NTFS появилась? В Win2K?

                                                                                                  0
                                                                                                  Симлинки появились с висты, впрочем, для XP есть стороннее исправление.
                                                                                                    –1
                                                                                                    Да, не корректно написал. Возможность делать харды с появления самой нтфс в винде, а симлинки с висты, начиная с которой их стала активно юзать и сама ОС.
                                                                                                    +1
                                                                                                    Но вот большинство форматов файлов по умолчанию теги не содержит, что печально.

                                                                                                    Видимо автор предлагает это делать на уровне ФС. Только тогда не понятно, как файлы потом нормально переносить. Получится что-то вроде macOS с .DS_Store (или как он там называется?).
                                                                                                  –1
                                                                                                  > Мой новый Razer-ноутбук имеет RGB-подсветку под каждой клавишей
                                                                                                  всем срочно выкидывать другие ноутбуки и покупать «как у Вас»
                                                                                                    0
                                                                                                    Мы в 2017 – унификация, облака, кластеры и post-pc эпоха, объявленная Джобсом.
                                                                                                    Весь пост – грусть печаль по поводу развития X Windows :)

                                                                                                    Я за последние 20 лет заметил, все не-унифицированные решения не имеют поддержки в дальнейшем. Мигания лампочек отличный тому пример. Если он не стандартизирован, он работать не будет. И на мой взгляд это не плохо. Лапочки и многое другое, что не повторяется в дальнейшем и не стандартизируется и не воспроизводится – ужимки и прыжки маркетологов к сожалению.

                                                                                                    В вашем примере часы получают уведомления со всей экосистемы apple, подключение к компьютеру избыточно. Я помню массу примеров – обмен файлов по bluetooth, смартфон как флешкарта, встроенная память/аккумулятор, обязательная синхронизация с ПК и тд. Если технология не воспроизводится, она не нужна, для меня это статистика.
                                                                                                    AR рынок только начал развиваться, в post-pc все новые технологии появляются в первую очередь на мобильных устройствах, фреймворки для apple/android только вышли. Ну тут и windows с AR не тормозит :-) Вы можете / могли жестами управлять системой последние лет 5-10, все технологии были, но почему-то не стали. :-) Я думаю потому, что это неудобно на данном этапе.

                                                                                                    На мой взгляд вопрос управления окошками делится на 2 направления — 1) что удобно всем (и тут лаборатории UX с трекингом глаз и тд 2) максимально возможная настройка под себя. Сейчас и ранее доступны оба варианта.

                                                                                                    В любой современной системе вы можете положить файл в 2 места организовав ссылку в файловой системе. Сортировка по тегам и метаданным скорее всего доступна в любых ОС (хз что там с виндоус, теги исчезли со времен windows vista).

                                                                                                    Скорее всего для wayland / osx обозначенные проблемы не являются приоритетными, как вы заметили.
                                                                                                    cmd заменила по большей части powershell в 2012 или раньше. Подсистема unix была из коробки еще раньше.
                                                                                                    Катастрофа, когда я не могу использовать сенсорный дисплей в osx :) Экран и так грязный, а кнопки в плеере нажить пальцем было бы удобно. И все в таком духе. На мой взгляд проблема сенсоров в windows — отсутствие поддержки от вендоров и общая не развитость рынка, но никак не косяк со стороны MS. Если поддержки сенсоров нет, не важно как работа в ОС организована, в osх например никак от слова вообще.

                                                                                                    Просто взаимодействие с десктопной ОС на мой взгляд ни для кого не является приоритетом сейчас, от пользователя до разработчика, я в смартфоне времени больше провожу чем за ноутбуком.

                                                                                                    Инновации в десктоп отправили на кладбище вместе с десктопом.

                                                                                                      0
                                                                                                      справедливости ради, «подсистема unix» на винде была мертворожденной чуть более, чем совсем, тк делалась больше по политически-сертификационным причинам.
                                                                                                      +1
                                                                                                      Почему Я не могу положить файл одновременно в два места моей файловой системы?

                                                                                                      Можете. Почитайте про мягкие и жёсткие ссылки

                                                                                                      Ну а в целом — мне кажется направление мыслей автора верным.
                                                                                                        +4
                                                                                                        Инновации в десктопных операционных системах в общем и целом отправлены на кладбище.

                                                                                                        Ну, эм… как насчет, cgroups? Даже в Windows пришлось запилить что-то подобное из-за популярности docker, как я понимаю.
                                                                                                        А еще, например, overlayfs.


                                                                                                        Вы сейчас скажите, что "ну, это же не для пользователей, оно им ничего не дает", но:


                                                                                                        1. Зато теперь появляются дистрибутивы, которые используют эти технологии для того, что бы разделать рабочие пространства с точки зрения безопасности в том числе.
                                                                                                        2. Такие штуки могут помочь выкинуть legacy шлак, который можно будет просто оборачивать в эти настройки.

                                                                                                        Почему Я могу присоединять и отсоединять вкладки внутри моего браузера или файлового менеджера, но не могу сделать то же самое между 2мя разными приложениями?

                                                                                                        Существует. И она называется "неоднозначность". По факту, вообще не понятно, как это должно работать кроме пары частных случаев, например, из Photoshop в какую-то программу для печати.


                                                                                                        Почему Я не могу положить файл одновременно в два места моей файловой системы? Почему она обязана быть иерархичной? Почему Я не могу отсортировать файлы по тэгу или метаданным? Файловые системы с принципами баз данных существуют десятилетиями.

                                                                                                        Можете. Есть куча штук, в том числе и при помощи fuse.


                                                                                                        В любом веб-приложении можно менять масштаб. Достаточно нажать Ctrl + и текст станет больше. Всё внутри окна автоматически адаптируется к масштабу. Почему этого не умеют нативные приложения? Почему Я не могу иметь на экране две области разных размером для окон? Или даже масштабировать их автоматически, когда перемещаюсь между окнами? Все эти вещи просты до безобразия с композитным оконным менеджером, которые были банальностью на протяжении десятилетия.

                                                                                                        Потому что они будут выглядеть как куски шлака, ведь 90% не умеют даже нормально растягиватся. Зачем эта фича, если ей никто не будет пользоватся?


                                                                                                        У моего компьютера есть мышь, клавиатура, датчики наклона, датчики света, 2 камеры, 3 микрофона и масса bluetooth-аксессуаров, но только первые 2 используются как основные устройства ввода. Почему Я не могу приказать своему пк выполнить что-то голосом или жестами?

                                                                                                        Можете. Cortana есть, например. Siri и даже под Linux есть куча поделок.


                                                                                                        Почему мой компьютер не следит за моими глазами, чтобы увидеть, что Я читаю или просканирует что у меня в руках, чтобы использовать эти крутые AR-технологии, которые пришли в мой телефон. Некоторая функциональность существует в изолированных приложениях, но она не распространяется на всю систему и она не программируема.

                                                                                                        Потому что это не понравится куча людей? Для таких технологий вам нужны или мощностя, который на вашем ноуте может и не быть, или что бы это все отправлялось на сервера злых корпораций. Что делать, если большинсту не нравится не один вариант?


                                                                                                        Почему компьютер не использует ничего для вывода кроме дисплея? Мой новый Razer-ноутбук имеет RGB-подсветку под каждой клавишей и единственная их функциональность — переливание цветными волнами! Как насчёт использовать эти LED для чего-то реально полезного?

                                                                                                        Потому что это есть у 1% рынка? Кто будет под такое разрабатывать?

                                                                                                          +4

                                                                                                          Как по мне, представленная статья — таки нытьё. Основная проблема современного десктопа — ОС представляет собой не набор компонентов, которые можно изолировать, раздавать им права и управлять связями и зависимостями, а огромный, простите, сельский сортир, в любое место которого может нагадить любой процесс. Утрирую конечно. Я, кстати, не понимаю, почему сэндбоксинг всех приложений, включая создание для каждого CoW виртуального окружения, не вкручен прямо в ОС. Это позволило бы, к примеру, запускать древнючий легаси без толстенной абстракции виртуальной машины — просто подсунув в процесс слой легаси-библиотек.

                                                                                                            0
                                                                                                            И что в этом случае предлагаете делать с драйверами?
                                                                                                              –1

                                                                                                              С драйверами в текущей модели ничего не сделать, это факт. Но хоть пользовательские вещи можно "причесать".

                                                                                                              0
                                                                                                              Сэндбоксинг каждого процесса капитально порушит совместимость.
                                                                                                              Тут дело даже не в буфере обмена и не в снятии скриншотов.

                                                                                                              Начиная с банального Notepad++, которым кто-то привык редактировать C:\Windows\System32\drivers\etc\hosts, до программ, которые хотят влезть в адресное пространство каждого процесса (Punto Switcher, TortoiseGit).

                                                                                                              А есть ещё софт, написанный студентами на коленке, представленный как набор exe-файлов, которые вместе выполняют общую задачу. Конечно, можно их запихать в одну песочницу, но кто это будет настраивать? Юзер просто скажет: ой, мой привычный софт не работает в Windows 12, не буду её ставить.
                                                                                                                –1
                                                                                                                Дла Notepad и ему подобного софта, который лазит по всей системе можно просто песочницу отключить, а для остальных границами песочницы считать каталог программы и ниже. В большинстве своём нормальные программы сидят в пределах одного каталога и будут объединены автоматом. Тем более, что довольно много программ на самом деле имею сильно больше одного exe. На край можно в комплекте давать скрипт, который при запуске объединит их в одну коробку. Софтины вроде VC, которые свои куски рассеивают тонким слоем по всему диску… ну тут кое-кому придётся немного подумать.

                                                                                                                Остаётся, правда, вопрос нормального расшаривания между песочницами каталогов с юзерскими файлами. Тут уже немного сложнее будет.
                                                                                                                  0
                                                                                                                  Софтины вроде VC, которые свои куски рассеивают тонким слоем по всему диску

                                                                                                                  Должны умереть (нет, я люблю VS). Я как-то думал о проблеме песочницы, dependency-hell и софта, который лезет куда не надо.


                                                                                                                  Если очень кратко, идея такова:


                                                                                                                  1. Любой софт устанавливается в целиком в одну свою папку (по-умолчанию или куда укажет пользователь), не растееаясь по Common Files, AppData или же bin, vsr, etc и пр.
                                                                                                                  2. Каждый софт имеет манифест об экспортииуемых возможностях (напр. библиотека) и зависимостях.
                                                                                                                  3. ОС ведет реестр софта, кто где и кому что надо. При удалении/перемещении и повторном запуске ссылки обновляются
                                                                                                                  4. На основе реестра ОС удовлетворяет зависимости (с точности до версии, не меньше и пр) софта
                                                                                                                    0
                                                                                                                    кажется это все уже было/есть в маке, мб кроме версионирования софта.
                                                                                                                      0

                                                                                                                      Разве mac не устанавливает софт как unix по куче каталогов? Хотя мой опыт с маком скромен.

                                                                                                                        +1
                                                                                                                        стандарт — это перетащить Program.app из архива или dmg-образа в /Applications/

                                                                                                                        но большой софт как только не ставится… (а потом еще и не всегда вычищается при удалении полностью)
                                                                                                                          0

                                                                                                                          Всегда думал, что этот /Applications некий виртуальный каталог и хранит вроде ярлыков. А если приложение из нескольких ресурсов, библиотек, исполняемых файлов, т.е больше одного?


                                                                                                                          а потом еще и не всегда вычищается при удалении полностью

                                                                                                                          Вот это самое главное, что раздражает. От этого и плясал — все ресурсы приложения в одной папке и достаточно удалить ее. Потом ОС просто не при обращении не увидит файлов и удалит соответствующие записи из реестра.

                                                                                                                            0
                                                                                                                            нет, физический.
                                                                                                                            вообще там забавно, «приложение» — это на самом деле папка с кучей всего. реально запускаемый бинарник — это Somename.app/Contents/MacOS/somename
                                                                                                                            а ресурсы идут в других подкаталогах рядом, там вообще стандартный подход «всё свое ношу с собой»

                                                                                                                            (кстати, есть даже покусанный таким образом дистрибутив — GoboLinux. )
                                                                                                                            ===
                                                                                                                            лечение есть — пакетный манагер с зависимостями, но это снижает удобство работы и хороший вопрос что делать с 3rd party/без репозиториев.
                                                                                                                      0
                                                                                                                      П.1 не всегда возможен. Как минимум стоит отделить программу и её данные, часто привязанные к юзеру и обычно (условно) не видимые ему (в вынде живут в ProgammData, в лине — в скрытых каталогах у юзера). И которые программы при удалении часто оставляют (и их, внезапно, бывают гигабайты).
                                                                                                                      В остальном да, тоже думаю об этом каждый раз, как приходится вычищать очередную софтину. По возможности же использую портабл версии программ, которые как раз и не требуют установки. Весьма удобно так же, когда систему переустановил, а софт весь на месте и уже настроен.
                                                                                                                        0
                                                                                                                        На Маке спасает Dr. Cleaner или что-то около него. Следит за тем, куда срут программы (не знаю, как), и, при выпиливании программы из /Applications, предлагает снести «junk files», которые она оставила за собой. К слову, эти места обычно тоже стандартизированы — редко когда какой-то софт лезет дальше, чем ~/Library/Application Support/<appname>.
                                                                                                                          0
                                                                                                                          По возможности же использую портабл версии программ, которые как раз и не требуют установки.

                                                                                                                          Этот подход плохо совместим с работой из под обычного пользователя + SRP.
                                                                                                                            0
                                                                                                                            Почему? Принципиальных проблем не вижу. SRP — это песочница?
                                                                                                                              0
                                                                                                                              SRP- это политики ограниченного использования программ. При нормальной настройке программы можно запускать только из тех каталогов, в которые запрещена запись из под обычного пользователя, проще всего использовать стандартные Program Files. А портативные программы очень любят писать рядом с собой, что просто не выйдет из под обычного пользователя.
                                                                                                                                0
                                                                                                                                На самом деле многие проги (тот же тоталКомандер) позволяют указывать, где хранить файлы. Хотя да, со многими могут быть проблемы. Однако тут речь шла как раз о том, что программа не расползается по диску, а хранит всё своё с собой, так что изначальная идея в принципе с SRP не совместима.
                                                                                                                      0
                                                                                                                      Начиная с банального Notepad++, которым кто-то привык редактировать C:\Windows\System32\drivers\etc\hosts

                                                                                                                      Я гений, пыщ-пыщ-пыщ! Ещё в 11 году придумал как решить проблему.
                                                                                                                      Надо просто диалог открытия/сохранения вынести из приложения и песочницы:
                                                                                                                      habrahabr.ru/post/113143
                                                                                                                      Только я так ничего и не накодил. :-p
                                                                                                                        0
                                                                                                                        Надеюсь, с 11 года вы открыли секрет, что диалог открытия/сохранения на самом деле ничего не открывает и не сохраняет?

                                                                                                                        Он просто передаёт приложению путь к выбранному файлу, а приложение уже делает с ним, что нужно.
                                                                                                                          0
                                                                                                                          Я это и тогда уже знал. ;)
                                                                                                                            0
                                                                                                                            Тогда смысл его выносить из песочницы?
                                                                                                                              +1
                                                                                                                              Я по ссылке вроде всё написал. Есть приложение, которое нам надо контролировать. Например, это текстовый процессор, условно Word. Мы изолируем его в песочницу или ограничиваем профилем AppArmor'а. Цель в том, чтобы в случае наличия уязвимости (при открытии специального документа, как вариант), приложение не испортило что-нибудь. С изолированием как таковым проблем нет. Есть LXC, есть SELinux и т.п. Проблема в том, что ограничения статичные. Разрешить доступ к директории «мои документы» на запись и чтение, тогда Word сможет заразить другие документы. Запретить — будет неудобно работать, нужно будет копировать редактируемый документ в некоторую доступную директорию, после правок копировать обратно. Ещё ведь пользователь может вставить флешку и захотеть редактировать документ с флешки. Выход в том, чтобы диалоги открытия и сохранения сделать отдельным привилегированным приложением (далее open-save-dialog), которое будет не только показывать диалог, но и контролировать ограничения Word'а. Оно должно находиться вне песочницы или профиля AppArmor/SELinux, т.к. пользователь может захотеть выбрать любой файл, а изнутри песочницы ничего выбрать нельзя. Когда пользователь нажимает «Файл — Открыть», Word вместо показа собственного диалога, посылает сообщение этому open-save-dialog. Оpen-save-dialog показывает пользователю обычный диалог, пользователь выбирает любой файл вне песочницы/профиля. Затем open-save-dialog разрешает доступ к файлу. Т.е. файл монтируется внутрь песочницы, если Word запущен в LXC. Или в профиль AppArmor добавляется разрешающие правило для доступа к конкретному файлу, если Word работает под ограничивающим профилем. Получается, что пользователь прозрачным для него образом контролирует ограничения Word'а.
                                                                                                                                0
                                                                                                                                Такое три или пять лет назад вкрутили в макось. На старте народ ругался, что защита давала доступ к отдельным файлам, но не папкам, потом вроде перестал (то ли начала давать, то ли смирились).
                                                                                                                                  0
                                                                                                                                  Интересно… Как называется и где почитать?
                                                                                                                                    +1
                                                                                                                                    App Sandbox ввели в 10.7, давно это было, однако.
                                                                                                                                    developer.apple.com/library/content/documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/EnablingAppSandbox.html (раздел Enabling User-Selected File Access).
                                                                                                                                      0
                                                                                                                                      Спасибо! А как это делается внутри? Т.е. диалоги вынесены в отдельный сервис?
                                                                                                                                        0
                                                                                                                                        Вот про детали реализации ничего сказать не могу. Скорее всего — да, изолировано как UAC в Windows или давно уже существующее окно ввода пароля для sudo.
                                                                                                                                        Хотя одну деталь помню: в этом режиме Finder запускается без расширений.
                                                                                                                                  0
                                                                                                                                  Затем open-save-dialog разрешает доступ к файлу. Т.е. файл монтируется внутрь песочницы, если Word запущен в LXC
                                                                                                                                  Неплохая идея ))
                                                                                                                                    0
                                                                                                                                    Идея-то неплохая, в принципе, многие программы и так используют системное окно открытия файла.
                                                                                                                                    Другое дело, что это окно запросто может оказаться уродливым, неудобным и не позволит добавлять какие-то нужные фичи вроде хитрых фильтров, дополнительных настроек открытия/сохранения или панельки предпросмотра.
                                                                                                                        0
                                                                                                                        TL;DR: В этой статье Я хочу показать что: ...

                                                                                                                        Минус переводчику за местоимение "я" с большой буквы. Даже Google Translate переводит с маленькой.

                                                                                                                          0
                                                                                                                          Много чего уже давно придумано, System Oberon от дедушки Вирта например. Но почему-то такие проекты не становятся мейнстримом.
                                                                                                                            0
                                                                                                                            Ну я вот тестил Oberon в универе для лабы. Записал программу на тот же CD. Насколько я помню, была проблема, что на CD все компоненты находятся в одном пространстве имен, и где-то среди них надо было найти файл с моей лабой.
                                                                                                                            Кроме того. При загрузке с USB была ошибка, которая вешала всю систему. Через отладочный вывод нашел проблемное место, но из-за недостатка знаний протокола USB полностью не исправил. Добился только, чтобы грузилось когда диск вставлен. Лабу сдал, ну и ладно.
                                                                                                                            (риторический вопрос, пожалуй, пропущу :))
                                                                                                                          • UFO just landed and posted this here
                                                                                                                              +1
                                                                                                                              Хм, так вы прямо сейчас придумали поиск по тегам без самих тегов. Ведь названия папок можно считать тегами, и поиск будет довольно прост — надо просто найти все вхождения искомых тэгов в полном пути к файлу.
                                                                                                                              • UFO just landed and posted this here
                                                                                                                                  +1
                                                                                                                                  Стоп-стоп-стоп.
                                                                                                                                  ОС умеют работать с тегами. Открываем в той же винде (у меня уже старенькая вынь 8.1) папку с mp3 и наслаждаемся дополнительными столбцами сортировки с названиями песен, альбомов, исполнителей и прочим, прочим, прочим.
                                                                                                                                  Только хранится это где? В самом файле!
                                                                                                                                  Теперь предполагается что? Что ОС будет эти данные дописывать в файл любого формата? А приложения потом не сойдут с ума? Или она их будет хранить отдельно? А как тогда их передавать? По почте, на флешках с другой ФС? Хотя винда давно может это хранить в другом нтфс потоке, например. Вот только опять же, как передавать?

                                                                                                                                  Вы точно не перепутали положение лошади и телеги местами?
                                                                                                                                  В современных ОС многие возможности уже давно реализованы. Мяч то давно на стороне разработчиков.
                                                                                                                                    0
                                                                                                                                    Эту проблему можно считать решенной. Сначала MacOS, потом и Windows в файловой системе позволяют дописывать к файлу любые альтернативные именованные потоки данных.

                                                                                                                                    Этим пользуются, например, Internet Explorer, для отметки откуда скачан файл (потом при запуске загруженного exe появляется предупреждение). А также DC++ клиенты хранят там Merkle Tree, чтобы не перехешировать весь файл при переносе в другое место. Антивирусы тоже что-то пишут.
                                                                                                                                      0
                                                                                                                                      Эту проблему можно считать решенной. Сначала MacOS, потом и Windows в файловой системе позволяют дописывать к файлу любые альтернативные именованные потоки данных.
                                                                                                                                      О чем я дописал в фразе про другой нтфс поток. Только передача через другие ФС теряет потоки на счет раз. А так же при передаче через FTP или вложив в почту.
                                                                                                                                      В отличие от тегов, прописанных в самом файле.
                                                                                                                                        0
                                                                                                                                        А нужно ли?
                                                                                                                                        Если я отправляю отчёт, который у меня лежит в папке «для мудаков» (т.е. имеет такой тег), должен ли получатель его видеть?
                                                                                                                                          0
                                                                                                                                          В идеале, конечно хотелось бы иметь приватные и публичные теги.
                                                                                                                                          Даже моя личностная оценка того или иного произведения — не нужна будет другим.
                                                                                                                                          Однако выбирая между возможностью в любой момент обменяться парой файлов с полным описанием что в них или каталогизировать исключительно на своем компе без нормальной возможности поделиться или обменяться — я выберу первый.
                                                                                                                                        +1
                                                                                                                                        Эту проблему можно считать решенной. Сначала MacOS, потом и Windows в файловой системе позволяют дописывать к файлу любые альтернативные именованные потоки данных.

                                                                                                                                        Только макось когда не может записать эти данные начинает гадить всякими левыми файлами вида ._*
                                                                                                                                        0
                                                                                                                                        Ну, HPFS умела работать с метаданными файлов (aka. «extended attributes») еще в далеком 1988 году, если мне не изменяет память.
                                                                                                                                          –1
                                                                                                                                          Передали файл через почту, фтп, флешку с фатом или нтфс — все эти данные сохранились и остались доступны?
                                                                                                                                          Теги в мп3 или JPG — да. И именно эти теги та же винда видит и отображает в своем проводнике (не могу сказать с какой версии, сейчас старых под рукой — нет). Подозреваю, что и другие смогут легко и не принужденно, если не уже.

                                                                                                                                          Просто когда еще это было возможно, надо было стандартизировать способ хранения тегов в файлах, чтоб каждая компания при создании своего нового супер-пупер формата хранения информации, без которого пользователи ну никааак не обойдутся (о да, теперь у него появится 19 стандарт хранения графической информации), понимала, что вот в этом месте ОС или какая сторонняя программ пользователя может что-то дописать и не превратить файл в тыкву.
                                                                                                                                            +1
                                                                                                                                            Как по мне, то если говорить о некой «правильной» реализации, то тэги обязаны быть частью файловой системы, при этом они обязаны быть однозначно привязаны и к файлу. Т.е. при копировании, архивировании и прочих действиях с файлом метаинформация о файле не должна портиться, а должна так-же сохраняться/архивироваться/передаваться.

                                                                                                                                            Желание сохранять метаинформацию в самих файлах понятно, и конечно, как было сказано, полно файловых форматов, предполагающих сохранение такой информации. Но вот ведь в чем вопрос, получается, что файлы не предполагающие сохранение такой информации, такую информацию не сохраняют (простите за тавталогию).

                                                                                                                                            К сожалению, смею предположить, что таких файловых форматов сейчас все же наверное большинство.
                                                                                                                                              –1
                                                                                                                                              Привязка тегов к ФС — это костыльное решение, призванное исправить положение за другими разработчиками. И как любой костыль имеет ограничение — возможность удобно передавать эти данные другим без потерь.

                                                                                                                                              Это еще что, я б еще добавил теги и на вещи внутри файла: статья в пдф файле на такой то странице начинается, в видео с такого-то момента что-то происходит и пр. И чтоб по щелчку на этот тег файл открывался именно с нужного момента. Тут главное понять, когда идея затегировать все превращается в манию)))
                                                                                                                                                0
                                                                                                                                                С другой стороны, теги хранимые внутри файла имеют свое ограничение.

                                                                                                                                                — Вот формат файла, в котором нет тегов и метаинформации вообще.
                                                                                                                                                — А вот, в котором нет тегов, но есть информация об авторе
                                                                                                                                                — А здесь есть и настраиваемые теги и автор.
                                                                                                                                                — А тут, есть теги и год издания, но нет автора.
                                                                                                                                                — и т.д.

                                                                                                                                                Итого у нас 1001 формат файлов, и у каждого своя уникальная структура хранения метаинформации, и не везде она совместима для удобной фильтрации и сортировки.

                                                                                                                                                Т.е. как не реализуй, но все равно придет такой себе Josh Marinacci и скажет: «Что это за фигня, мне это не удобно, Ideal OS должна быть совсем не такой»
                                                                                                                                                  0
                                                                                                                                                  Так он и так придет и скажет, что фигня раз все его супер теги потерялись после того, как он послал письмо другу)
                                                                                                                                                  Или не потерялись, а теги были обидные другу.
                                                                                                                                                  Что опять же не снимает мой начальный тезис — ОС то уже умеют много что. Вся проблема в разработчиках форматов и приложений.

                                                                                                                                                  Просто я уже давно с этим вопросом пытаюсь решить, но навыков и времени столько нет, чтоб свое накатать.
                                                                                                                                                    0
                                                                                                                                                    По идее можно сделать очередную матрешку, внутри будут сырые данные (картинки, текст, аудио-видео короче что угодно ) ну и специальнфе файлы с тегами. А выглядеть это будет как 1 архив.
                                                                                                                                                      0
                                                                                                                                                      Как iso.wv?
                                                                                                                                                      И проблемы с поддержкой софтом, пока форматы не станут популярны?
                                                                                                                                                      Если только реально zip делать, чтоб распаковывался без лишних телодвижений везде… Надо покрутить идею)
                                                                                                                                                        0
                                                                                                                                                        Как вариант- RarJpeg.
                                                                                                                                                          0
                                                                                                                                                          я сегодня как раз после этого уже медитировал над статьей про склейку файлов (https://habrahabr.ru/company/infowatch/blog/337084/), проблема, что у каждого формата свои сюрпризы могут быть.
                                                                                                                                                0

                                                                                                                                                А если мне нужно добавить тег к txt файлу на 10 байт, при этом чтобы я не видел этот тег, открыв его редактором?

                                                                                                                                                  0
                                                                                                                                                  Еще раз на примере изображения: если формат файла прямо (JPG: APP0-APP15 + теоретически еще 4-9 блоков) или косвенно (PNG: eXIf и\или tXMP) поддерживает возможность записать в файл тег, то он будет перенесен вместе с файлом любым способом, будь то прямое копирование, архивация и иногда даже простое копирование содержимого через Notepad. Такие теги можно удалить либо специально в том же Photoshop, либо случайно — пересохранив файл с помощью программы, которая не знает о тегах либо игнорирует их.
                                                                                                                                                  Если создатели\мейнтейнеры формата не удосужились добавить такую функцию (BMP отличный тому пример), то можно записать теги либо в alternate file stream (который наверняка куда-нибудь протеряется при перемещении), либо с помощью стороннего софта (с отдельным файлом БД и всеми вытекающими)
                                                                                                                                                  ОС здесь ни в чем не виновата и ничего не может сделать, пока существуют разные ФС. ФС ни в чем не виноваты… И так далее.
                                                                                                                                                  Что касается txt — винды под рукой нет для проверки, поэтому как именно пишутся теги в него я не уверен.
                                                                                                                                                  Точно не знаю, как именно работает сейчас встроенный теггер винды (особенно с учетом того, что принцип его работы несколько раз менялся), но удалить записанные им теги можно без особых трудностей в тех же свойствах файла. Хотя он прекрасно справляется и с выпиливанием XMP\EXIF из тех же JPeGов, так что там все сложно.
                                                                                                                                                    0
                                                                                                                                                    А если мне нужно добавить тег к txt файлу на 10 байт, при этом чтобы я не видел этот тег, открыв его редактором?
                                                                                                                                                    А теперь перечитайте комментарий, на который вы ответили. Там на это целый последний абзац был потрачен.
                                                                                                                                                    Если был бы разработан какой-нибудь стандарт хранения тегов в файлах, в дальнейшем всем разработчикам пришлось бы это учитывать, в том числе для текстового txt. Сейчас этого нет, хотя ОС готовы с этим работать уже давно.
                                                                                                                                                    А вот предложения создать ФС с тегами — это уже костылирование текущей ситуации. Ибо имеет ограничение и кучу накладных расходов. При этом, по факту, даже создавать ничего не надо — кучи ФС позволят это сделать тем или иным образом. Проблема с удобной передачей этой информацией между людьми.
                                                                                                                                            0
                                                                                                                                            В убунте есть утилта locate она именно так и ищет. Она позволяет быстро искать нужные файлы которые забыл где лежат.
                                                                                                                                            sudo updatedb
                                                                                                                                            locate -Ai word1 word2

                                                                                                                                            В windows алог примерно такой: запускаем cmd от админа, создаём индекс в корне
                                                                                                                                            cd \
                                                                                                                                            dir /s /b > files.txt

                                                                                                                                            и потом ищем по ключевым словам
                                                                                                                                            type files.txt | findstr /i word1 | findstr /i word2 | findstr /i word3

                                                                                                                                            Что характерно такой наивный способ на несколько порядков быстрее и эффективнее штатного поиска встроенного в windows.

                                                                                                                                            Cлегка более продвинутый вариант отличается тем что упаковывает 7zip-ом список файлов и поиск записывается короче
                                                                                                                                            create-files
                                                                                                                                            where word1 word2 word3 word4

                                                                                                                                              0
                                                                                                                                              Для поиска по именам в Windows использую Everything: мгновенно выдаёт результат среди почти 2млн моих файлов.
                                                                                                                                            +2
                                                                                                                                            С тегами есть одна маленькая проблема, порой разные слова испоьзуются как теги с одним смыслом. К примеру далеко не факт что поиск по словам «отпуск египет 2017г фотки» выдаст файлы с тегами «отдых Египет 2017 фотографии».

                                                                                                                                            Ой, только не говорите мне, что я, как пользователь, обязан помнить все теги, что я присваивал файлам 2 года назад.
                                                                                                                                              0
                                                                                                                                              Используйте какой-нибудь Lightroom или Picasa (ныне нас покинувшая, но еще лежащая в интернетах)
                                                                                                                                              Они при импорте во-первых создают список тегов, так что будут видны и «фотки» и «фотографии», во-вторых разбивают по датам\годам. И все нужные им данные хранятся в самих файлах изображений, так что никуда не денутся при перемещениях и сжатиях.
                                                                                                                                              А в Lightroom есть еще и alias, то есть к тегу «фотки» можно привязать те же «фотографии» и внутри программы все фотографии будут находиться по нужному запросу.
                                                                                                                                              Что касается встроенных в Windows средств… Хохмы ради, можно записать в JPeG-овский EXIF пару тегов и сгруппировать по тегам в проводнике. Даже не знаю, что получится. Но теоретически все возможные группы тегов должны отобразиться.
                                                                                                                                                +1
                                                                                                                                                Ты не понял, мой посыл в том, что теги не так универсальны, как хотелось бы.
                                                                                                                                                — Во первых, не однозначность использования слов для самих тегов. В 2014 году я помечал фотографии словом «фото», потом «фотки», потом «фотографии» потом еще как-то. В свою очередь год можно пометить как «2000», «2000г», «2000 г.» и т.д. Можно сказать, что это пользователь виноват. Да, это так, вот только проблема, пользователь не обязан ни только быть аккуратным, он вообще не обязан даже теги расставлять.
                                                                                                                                                Кстати — это хорошо демонстрируют различные сайты, на которых контент создается пользователями.
                                                                                                                                                — Во вторых, теги имеют свойство плодиться. К примеру Вася, был в Египте 10 раз, 2 раза в 2000 году, два рада с 5-ю друзьями, один — с 10-ю, в остальные разы с 1 — 3-мя друзьями. Друзья в его поездках пересекаются, у некоторых друзей одинаковые имена. И т.д.
                                                                                                                                                В результате в начале он даст фоткам теги Египет, потом начнет добавлять тег года, потом ему может понадобиться указать имена друзей, далее, из-за того, что имена могут пересекаться — еще и фамилии. И так далее. А еще он может не только в Египет ездит. А некоторые теги — дублируются, как в п.1 и т.д. Как думаешь, сколько пользователей начнут этим заморачиваться? По мне, так хорошо, если 10-15%. А большинство и одного тега не дадут.
                                                                                                                                                  0
                                                                                                                                                  Во первых, не однозначность использования слов для самих тегов

                                                                                                                                                  Ну это как раз решается их списком справа. Там будут и «фотки» (234), и «фотографии» (23), и «фото» (888). Там же при желании можно двумя кликами убрать «фотки» и «фотографии», а вместо них проставить на все эти файлы тег «фото». Ну это в случае с Lightroom. А после этого одинаковые теги можно пользовать хоть в Проводнике.

                                                                                                                                                  Во вторых, теги имеют свойство плодиться.

                                                                                                                                                  Отчасти решается программами с распознаванием лиц. Хотя лично я бы просто тегал только родственников и лучших друзей, а то и вовсе никого — и так по первым 5 фото поймешь, кто был, а кого не было. Тег года в 90% уже забит в фотографию устройством, которое ее делало, но в целом сразу при импорте поставить год не сложно.

                                                                                                                                                  Теги действительно нужны не всем, но у меня вот есть 20000+ файлов и у каждого по 15+ тегов. Опуская ответ на вопрос «как такое вообще произошло?» — это просто невозможно каталогизировать по папкам или симлинками. Теги спасли, можно сказать.
                                                                                                                                                0
                                                                                                                                                Зачем помнить, если их можно закешировать и вывести список? Если можно выдавать взаимосвязь тегов?
                                                                                                                                                Поиск по тегам это отдельный инструмент и его можно сделать так же как неудобным, так и наоборот.
                                                                                                                                                +2

                                                                                                                                                Проблема в том, что теговая файловая система, когда теги будет лепить пользователь — не удобна.


                                                                                                                                                Она удобна, когда теги собираются автоматически, когда они берутся откуда-то. Но когда пользователь должен их сам расставлять — вот тут становится это все бесполезно.

                                                                                                                                                  –1
                                                                                                                                                  А мужики-то не знаютА пользователи то не догадываются… Вам ссылку на какой-нибудь раздел с музыкой на трекере привести в пример? Ведь именно пользователи прописывают теги для мп3 файлов. Просто это нужно делать удобно и понятно пользователю, а так же дать возможность делиться.
                                                                                                                                                  И куча прог для тегирования музыкальных файлов позволяют часть данных забирать, например, из названий. Или на основе тегов и простеньких регулярок прописать названия быстро на все файлы в папке. И это — удобно.
                                                                                                                                                  Просто есть информация, на которую пользователь готов потратить свое время для сортировки, и на которую — нет.
                                                                                                                                                    +2
                                                                                                                                                    Ведь именно пользователи прописывают теги для мп3 файлов.

                                                                                                                                                    Нет. Я как пользователь — скачиваю все на готово. Кто прописывает — да хоть господь, но самому мне будет лень.

                                                                                                                                                      0
                                                                                                                                                      То есть тот, кто грабит свои аудиодиски, чтоб потом их слушать или выложить — не пользователи, а Боги? Или если скачаете единственную версию с корявыми тегами — вы не поправите, зная как это легко сделать в пару щелчков? А раз вы не сделаете — то другие уж тем более?
                                                                                                                                                      Или, кто сохраняет свои фотки по папочкам типа «август 2017, египет, отпуск» — тоже Боги, раз поставили по сути аж три тега в наименовании папки?

                                                                                                                                                      Главная проблема — в том, что нет простых инструментов в любой ОС и люди не знают, как это делать (и что это вообще возможно). Что решаемо.
                                                                                                                                                        0

                                                                                                                                                        Зачем мне эти три тега? Они ничем не лучше папки вида 2017/Египет, потому что я вряд ли 2 раза буду в 2017 году ехать в Египет.
                                                                                                                                                        Если буду, то можно поставить Египет-август и Египет-апрель, например.

                                                                                                                                                          –1
                                                                                                                                                          «Величайшей ошибкой было бы думать» или немного про искусство вырывать слова из контекста обсуждения…
                                                                                                                                                            0

                                                                                                                                                            Я ничего не вырывал, я вот честно спросил вас про фотографии. В моем представлении, реально тащит только автоматическое теггирование как у Google Photos. Очень мало людей будут лепить к каждой фоточке по 40+ тегов, потому что вдруг это им будет нужно.
                                                                                                                                                            А вот эти три тега "год", "место", "что именно" ничем не лучше иерархической структуры, по факту.


                                                                                                                                                            Это я все к тому, что по факту, очень малому количеству людей на самом деле нужно теггирование всего. А для теггирования музыки или книг есть уже нормальные приложения.


                                                                                                                                                            Зачем такой функционал в OS?

                                                                                                                                                              0
                                                                                                                                                              Я ничего не вырывал, я вот честно спросил вас про фотографии.
                                                                                                                                                              Тогда еще раз перечитайте ветку комментариев, может тогда увидите, что «тегами» я назвал ключевые слова в название папки:
                                                                                                                                                              кто сохраняет свои фотки по папочкам типа «август 2017, египет, отпуск» — тоже Боги, раз поставили по сути аж три тега в наименовании папки?
                                                                                                                                                              По которым пользователь уже сейчас так же можно искать, забив на иерархическую модель хранения данных.
                                                                                                                                                              Вопрос ведь как раз в том, что поддерживать иерархическую структуру пользователям часто лень. И интерфейс, который бы в пару кликов мышки мог бы структурировать за пользователя — очень бы им помог. И по факту окажется, что как файлы храниться будут реально — и системе, и пользователю вообще пофигу.
                                                                                                                                                              Вопрос лишь в удобстве взаимодействия с пользователем. Вы давно в мобильных девайсах всякими галереями пользовались? Там, где фотки по датам раскиданы да из разных папок собраны? Пользователь их не ищет сам — ему все на блюдечке преподнесли.
                                                                                                                                                              Но почему-то большинство ответов здесь исходят из интерфейсов даже не современных ОС, а времен XP, такое ощущение.
                                                                                                                                                              Зачем такой функционал в OS?
                                                                                                                                                              Затем, что если он будет по умолчанию, то многие привыкнут и им захочется расширенной версии (с интеллектуальным поиском, распознаванием лиц и прочими плюшками), с большей интеграцией с соц.сетями прям в интерфейсе ОС. И т.п., и т.д.

                                                                                                                                                              Вот, например, моя двоюродная бабушка бекапит свои фотки в облако и не знает об этом. Ибо у нее стоит яндекс.диск, который делает это для нее самостоятельно с минимум вмешательства. А благодаря тому, что они встроились в интерфейс ОС — ей даже не пришлось привыкать особо.
                                                                                                                                                                0
                                                                                                                                                                Вопрос ведь как раз в том, что поддерживать иерархическую структуру пользователям часто лень. И интерфейс, который бы в пару кликов мышки мог бы структурировать за пользователя — очень бы им помог. И по факту окажется, что как файлы храниться будут реально — и системе, и пользователю вообще пофигу.

                                                                                                                                                                Им будет так же лень писать теги к папке, а потом они будут ее терять. Я откровенно не понимаю, в чем проблема положить фоточки в папку год/событие, у многих моих знакомых получается.


                                                                                                                                                                Вопрос лишь в удобстве взаимодействия с пользователем. Вы давно в мобильных девайсах всякими галереями пользовались? Там, где фотки по датам раскиданы да из разных папок собраны? Пользователь их не ищет сам — ему все на блюдечке преподнесли.

                                                                                                                                                                И что мешает вам так же сделать на десктопе? Есть приложения для этого.


                                                                                                                                                                Вот, например, моя двоюродная бабушка бекапит свои фотки в облако и не знает об этом. Ибо у нее стоит яндекс.диск, который делает это для нее самостоятельно с минимум вмешательства. А благодаря тому, что они встроились в интерфейс ОС — ей даже не пришлось привыкать особо.

                                                                                                                                                                Она это делает только потому, что это делается автоматически. Я не совсем понимаю, как автоматичность можно назвать "встраиванием в интерфейс OC"? Это просто программа, которая бекапит папку время от времени, пользователь о ней может даже не знать. Где тут встраивание то?

                                                                                                                                                                  0
                                                                                                                                                                  Я не совсем понимаю, как автоматичность можно назвать «встраиванием в интерфейс OC»?
                                                                                                                                                                  Дайте угадаю, вы ей не пользовались?
                                                                                                                                                                  И что мешает вам так же сделать на десктопе? Есть приложения для этого.
                                                                                                                                                                  Итого, вы уводите разговор сильно в сторону от начального и побеждаете.
                                                                                                                                                                  Что бы понять зачем ответьте на комментарий habrahabr.ru/post/337010/?reply_to=10397180#comment_10396692 как это реализовать в иерархической структуре.
                                                                                                                                                                  На этом обсуждение отдельных случаев я прекращаю в связи с тем, что у вас есть четкая позиция и вы ее придерживаетесь.

                                                                                                                                                                    0
                                                                                                                                                                    Дайте угадаю, вы ей не пользовались?

                                                                                                                                                                    Вроде пользовался, но мог что-то упустить. Из всего, что там было, это зеленые значки. Я что-то еще пропустил?


                                                                                                                                                                    Что бы понять зачем ответьте на комментарий habrahabr.ru/post/337010/?reply_to=10397180#comment_10396692 как это реализовать в иерархической структуре.

                                                                                                                                                                    Я вроде ответил. И это при том, что теговая структура вам тут тоже не поможет, так как вы не будете 100500 тегов к каждому файлу проставлять, скорее всего.

                                                                                                                                                                      0
                                                                                                                                                                      Вроде пользовался, но мог что-то упустить. Из всего, что там было, это зеленые значки. Я что-то еще пропустил?
                                                                                                                                                                      Запрос на автоматическое копирование файлов с вставленных флешек — сразу и в папку на компе, и в облако. То есть ей даже никуда копировать не надо — фотки с флешки сами скидываются на комп.
                                                                                                                                                                      Создание ссылки на папку диска в проводнике среди прочих папок быстрого доступа пользователя. Не всякий пользователь это умеет делать.
                                                                                                                                                                      Бабушка у меня — достаточно опытный пользователь, что бы суметь воспользоваться, но и только. Более того, она даже не знала, что так можно. Это вообще главная проблема — узнать, что так можно, можно зачастую лишь начав искать в нужном направлении. Тут был где-то комментарий о человеке, который не умел редактировать набранное и поэтому в случае ошибки закрывал документ без сохранения и набирал заново. Но не надо подобное распространять на всех и утверждать, что подобный способ работы — это норма.
                                                                                                                                                                      Программисты, все таки, должны облегчать жизнь пользователей, даже если те еще не знают, что им это на самом деле надо.
                                                                                                                                                                      Я вроде ответил. И это при том, что теговая структура вам тут тоже не поможет, так как вы не будете 100500 тегов к каждому файлу проставлять, скорее всего.
                                                                                                                                                                      А я как раз вам ответ писал тут.
                                                                                                                                                                      А так, хобби — это такая страшная вещь… К тому же в случае удобного инструмента и если можно будет поделиться с другими, то не вопрос разделить труд на нескольких единомышленников. К тому же файлов на самом деле может быть на порядок больше, просто пропал смысл их собирать, так как реально все равно ничего толком не найдешь в такой куче.
                                                                                                                                                                      Опять же, даже если потрачу на это полгода, допустим. Ок. Вот не вопрос, реально. Тут собрать одну модель у людей месяцы уходят…
                                                                                                                                                          0
                                                                                                                                                          По поводу mp3, на самом деле раздражает, что даже в пределах одного альбома, и даже не скаченного где-то с пиратского сайта, а официально купленного, у соседних файлов теги могут различаться. В результате плееры, которые сортируют такие файлы по тегам, показывают две папки для одного концерта, вместо одной.