Как стать автором
Обновить

Комментарии 23

Как бы ни унизительно это было для Microsoft, которая, несмотря на владение платформой и API, по-прежнему испытывает трудности в создании ПО с удовлетворительной скоростью

Да ничего подобного она не испытывает. Если проблема не влияет на количество продаж, то на нее закрывают глаза, вот и все. Windows покупают не ради быстрого терминала.

для опытного программиста рендерер терминала — это просто забавный проект на выходные, совсем не требующий многолетних долгих исследований

В проекте уровня Windows во-первых сеньора нельзя напрячь в выходные, его нужно снять с другой задачи (более важной по мнению Microsoft) и дать ему эту. Во-вторых, демо-прототип за 2 дня это еще не рабочее решение, которое будут делать далеко не 2 дня. Потом решение еще нужно будет протестировать, внести изменения.

Я считаю то, что вы называете целый исследовательский проект на соискание докторской степени в эмуляции высокопроизводительного терминала «чрезвычайно простой» работой, выглядит довольно агрессивно...

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

его нужно снять с другой задачи (более важной по мнению Microsoft) и дать ему эту

Скорее всего сеньор в Микрософт не программирует. У него есть более важная задача - сидеть на совещаниях. По крайней мере так говорится в статье.

Это ляпнул разработчик, у которого на гитхабе 1000+ подписчиков, в 6 раз больше, чем у вас на хабре комментариев.

По опыту общения с разработчиками МС там большинство такие выскочки, которые в РФ были бы максимум джунами. Искренне не понимаю, как они добрались до должности сеньора в МС

Если вы хотите производить высококачественное ПО, вам нужны и опытные люди «за станком», которые не просто делегируют поступающие сверху приказы.

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

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

мне кажется, что частично эта проблема вызвана корпоративной системой стимулов.
А в мире Linux аналогичная проблема с чем связана? Там на оптимизацию забивают так, как никакой Microsoft даже не снилось.
Ставим KUbuntu и видим, что Windows 10 грузится 12 секунд, а KDE — сорок.
А потом доставляем пакеты, и когда в терминале появляется надпись «processing triggers for man-db» и процесс установки подвисает в таком состоянии минут на пять, становится окончательно понятно, что корпоративная культура тут ни при чём.

В windows не всегда так хорошо все было с загрузкой. Если я не ошибаюсь,то МС в качестве производительность mssql сервера приводит TPS на SUSE.

Ставим KUbuntu и видим, что Windows 10 грузится 12 секунд, а KDE — сорок.

Ну а у меня наоборот линукс быстрее грузится, казалось бы почему?
Ну например какова отзывчивость дексктопа через 12 секунд на винде? Мак вон вообще подгружает изображения окон как они были до выключения и рисует их как будто всё уже загружено пока в фоне приложения запускаются.
Когда я втыкаю USB наушники в Windows я жду пока они подхватятся системой, а в линуксе звук появляется пока ещё пальцы за свисток держатся. Как вы думаете, будут ли они вообще когда нибудь рассматривать это как недоработку, если речь идёт о переделке всего PnP ?

Windows 10 грузится 12 секунд

У windows есть прикольный чит — fast startup. Винда при выключении делает что-то типа гибернации для всего, кроме юзерских приложений. Образ включенной винды хранится на диске и при включении просто считывается в память.

KDE — сорок

Отнесите Ваш компьютер в ремонт, он сломался… А если серьезно, то ситауция странная. Возможно у Вас медленный HDD, но и винда на таких диска еле шевелится…
Я на линуксе очень давно и еще помню шестую убунту на своем компе. У меня никогда небыло ситуации, что линукс грузился медленнее винды. Чаще бывало наоборот.

И Вы наверное забыли многочасовые установки обновлений у windows…

Edit: 15 секунд с учетом ввода пароля грузится федора. После этого ОС полностю загружена и больше никакой активности HDD и CPU нет

У windows есть прикольный чит — fast startup. Винда при выключении делает что-то типа гибернации для всего, кроме юзерских приложений. Образ включенной винды хранится на диске и при включении просто считывается в память.

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

Побочный эффект этого чита: dual boot будет его ломать.

Побочный эффект этого чита: dual boot будет его ломать.

Так и есть. Windows бывает не в курсе манипуляций с дисками из Linux и считает, что они остались неизменными. При попытке дальнейший манипуляций из Windows диск помечается как "повреждённый".

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

Программисты не берут задачи , им их поручают или дают. Компания по своему менеджменту не продуктовая ,а коммарческая ,нацеленная на продажи. При чем продажи лицензий ,а не продукта, с полным отказом от ответствонности. Компания прилагает все усилия для продажи лицензий и экономии(как и любая другая) на ФОТ "опытных программистов". Вполне закономерный результат если стоимость техподдежки, пищущей какие либо отписки, обходится дешевле дополнительных отделов "опытных программистов".

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

Это ложь. Абсолютно согласен с мейнтейнером майков. Отрендерить даже просто текст (не то что окно терминала) - это задача запредельной сложности, которая будет "забавным проектом" только для того, кто профессионально занимается рендерингом текста, а таких разработчиков не думаю что много. Классический ликбез по тому, насколько сложен на самом деле рендеринг юникода: Text Rendering Hates You.

Если же принять, что у нас уже готовый рендерер текста и не надо реализовывать POSIX terminal а требуется просто тупо динамически выводить текст в окно с прокруткой как можно быстрее, то в этой задаче всё равно куча нудной и не всегда тривиальной работы по подготовке "сцены действия" (общение с glyph cache, вычисление размеров, вызов рендера). Плюс оптимизация рендеринга, там тоже rocket science, разработчики alacritty вон с kitty и прочими за миллисекунды рубятся. В alacritty например файл src/display/mod.rs, занимающийся рендером, содержит ~800 строк, и это при том что alacritty опирается на кучу мощных готовых библиотек, таких как glutin. Плюс "рендерить как можно быстрее" не катит, тк ещё необходимо соблюдать плавность рендеринга, и более быстрый рендерер часто бывает и более рваным, так что я бы ещё глянул как выглядит терминал после того пулл-реквеста.

НЛО прилетело и опубликовало эту надпись здесь

Компьютерные игрушки рендерят терминал со скоростью 500 кадров в секунду, поверх целого 3д мира

Вродебы все не так просто (хотя я многого не знаю), и задача вывода текста в тойже игре гораздо сложнее чем кажется. Можно заметить в каком-нибудь 3-м ведьмаке, когда во время диалогов дальность прорисовки прям сильно снижается. Хотя казалось бы, просто буковки на экран вывести

НЛО прилетело и опубликовало эту надпись здесь
Дальность прорисовки в Ведьмаке снижается не из-за буковок, а из-за того, что используется другое, более «кинематографичное» (и более нагружающее видеокарту) освещение, модели с максимально качественными LOD-ами и так далее. А на фон там, как правило, накладывается достаточно сильный DoF, так что разработчики экономят на рендеринге и так «замыленного» задника.
напечатать моноширинный текст в прямоугольную сетку — это повод для диссертации?!

Увы, не только напечатать, не совсем моноширинный текст и не совсем в прямоугольную сетку.

Прототип, резво и более-менее адекватно что-то печатающий, действительно, можно написать за выходные, но добиваться, чтобы в нем адекватно работал весь существующий зоопарк (точнее, два зоопарка — posix и win32) можно еще лет десять, при этом с грустью наблюдая, как поддержка каждой легаси фичи роняет вам фпс примерно вдвое.
НЛО прилетело и опубликовало эту надпись здесь

поэтому и есть open source, и возможность запускать приложения на ОС от других разработчиков

Во многих серьёзных компаниях есть два пути развития: people manager & individual contributor. Где-то начиная с senior developer можно выбирать и вполне можно оставаться программистом (individual contributor). Например technical leader (моя текущая позиция) эквивалентна director (позиция для менеджера). Естественно, есть дополнительные роли и все-равно не будет много времени на программирование, но с другой стороны, можно продолжать заниматься любимой работой, а не разбираться кто кого обидел.

Единственное исключение я знаю Facebook, они там требуют от всех программировать и у них "горизонтальные" отношения. Деталей дальше не знаю, так как не успел написать решения для их задачек (подсказка всем кто почему-то хочет у них работать - не используйте C++ или что-то другое сильно типизированное, потому что они не принимают псевдокод и надо чтобы программа корректно компилировалась и работала. Естественно, никаких IDE, все в онлайн блокноте с компилятором + несколько предустановленных библиотек).

Use auto, Luke.

auto не поможет, когда надо написать алгоритм числодробилку, в которой миллиарды надо умножать на миллионы (какой тип будет у "auto c = a * b;", если a и b int?). В этом плане Python с его прозрачным bignum намного удобнее. Другой пример - сложные коллекции (например, словарь со составным ключом и другой коллекцией для значений). В любом случае, это просто был совет, и это ваше полное право его игнорировать.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий