company_banner

В софте всё восхитительно, но все недовольны



    Есть типичная позиция, которую можно встретить на Хабре и не только: «хотя железо с годами всё лучше, человечество свело эффект на нет тем, что пишет софт всё хуже».

    Мол, ядер в процессорах стало больше, но тормозит всё пуще прежнего. Electron и Slack — порождения тьмы, пришедшие лишить нас счастья и памяти. Мобильные приложения стали прожорливее, чем старые операционные системы. А в самих операционных системах уже толком нет прогресса, но почему-то они продолжают разбухать в размерах. То ли дело было, когда люди умели уместить ОС на дискету!

    Скажу прямо: когда я вижу подобные заявления, у меня бомбит. По-моему, в них упускают целый ряд важных факторов. А в итоге ситуация напоминает классическую речь Луи Си Кея «Everything's amazing and nobody's happy»: всё стало удивительно хорошо, а люди сидят и жалуются.

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

    Избирательность памяти


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

    Я говорю о заявлениях вроде такого: «Почти всё на компьютере ощущается медленнее, чем в 1983-м». Судя по тысячам лайков, это не единичное мнение, а массовое.


    Первая моя реакция: «Ну и как в 1983-м ощущался стриминг 4K-видео?» То есть для начала давайте вспомним, что большинство сегодняшних применений компьютера раньше были невозможны, в том числе как раз из-за скорости. Когда-то фильм (даже не в 4K, а в 1080p) пришлось бы скачивать месяцами, а потом компьютер не смог бы его воспроизводить с 24 FPS. И как тогда сравнивать нынешнюю скорость с той, которая была бы такой запредельно низкой, что её вообще не было?

    Вторая реакция: да, какие-то вещи, которые из командной строки переместились в GUI, могут там требовать больше времени. Готов поверить, что Word в 2020-м запускается медленнее, чем консольный редактор vi в 1983-м (лично сравнить не могу: впервые оказался за компьютером в 90-х). Но если для вас это настолько важно, можно ведь и в 2020-м для многих «задач из 80-х» использовать командную строку. Я прямо сейчас пишу этот текст в vim — прекрасный редактор, которому экосистема плагинов помогает не отставать от времени. Замечательно выглядит на современном ретиновом iMac: буковки стали очень чёткими, а отрабатывает по-прежнему моментально. В чём проблема-то?

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

    Ко всем людям, пишущим «раньше всё было быстрее», у меня такой вопрос: вы вообще помните, например, вот это?


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

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

    «Когда в письме стопицот картинок, оно ужасно медленно открывается, иногда аж десять секунд!» Понимаю, что это может раздражать — но слушайте, в 2000-м для проверки почты я сначала минуту наслаждался трелями модема, потом ждал, пока неторопливо загрузится главная страница почты, а затем само письмо тоже подгружалось не моментально — и при этом в нём не было вообще никаких картинок, только текст. Сегодня такое открылось бы без промедления. Может быть, просто не надо забивать тысячей картинок средство коммуникации, которое было придумано для другого? И прежде чем заявлять «всё испортилось», давайте подумаем: сколько времени письмо с таким количеством картинок открывалось бы в 2000-м?

    Или вот ещё одно воспоминание, затерявшееся во времени, как слёзы в дожде. В нулевых была популярна такая шутка: «Медленный компьютер — это когда знаешь по именам всех разработчиков Photoshop». Для тех, кому это ни о чём не говорит: тогда в России был очень популярен спираченный Photoshop, и при каждом его запуске россиянам приходилось подолгу смотреть на это:


    Ой, понял сейчас, что знаю одного из этих людей — Шон Пэрент выступал у нас на С++ Russia

    А теперь сравните. Сегодня шутят «когда-то понадобилось два килобайта памяти для запуска человека на Луну, а теперь нужно два гигабайта для запуска Slack». Звучит хлёстко, но вы замечаете разницу? Сколько бы оперативной памяти Slack ни потреблял, с ситуацией «на запуске программы можно идти пить чай» пользователи не сталкиваются. Всё стало лучше, а мы это не заметили.

    Или вот показательный исторический артефакт: серия Масяни «Даунлоад» (2002). Герои страшно переживают из-за дисконнекта, при котором придётся скачивать файл заново.


    Обратите внимание: файл, который они скачивают, весит 591 килобайт. Персонажи переживают из-за необходимости заново загрузить полмегабайта. Это реальное положение дел в 2002-м.

    Для сравнения свежий пример из жизни. У меня на Mac возникла маленькая техническая проблема, на Stack Overflow нашёл совет «установить Xcode и принять её условия использования». Моя реакция: странно скачивать 8-гигабайтную IDE для нажатия одной кнопки, но если поможет, почему бы и нет.

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

    Ну и последний пример в этой части — про «разбухшие мобильные приложения». Про это временами пишут возмущённые посты вроде «App sizes are out of control»: «с каких это пор LinkedIn стал занимать на телефоне 275 мегабайт?!» В 2018-м можно было прочитать жалобу «у меня после установки приложений остался всего гигабайт для фотографий».

    Не стану врать, эти 275 мегабайт LinkedIn у меня тоже вызывают вопросы. Но мне вспоминается, как в 2010-м на Хабре написали, что у Альфа-банка появилось мобильное приложение. Оно весило 30 мегабайт — сегодня такой размер не вызвал бы вообще никаких вопросов. А тогда в комментариях писали:



    Знаете, почему? В те времена российский пользователь мог ходить, например, с HTC Hero. Заглянем в его характеристики: «storage — 512 MB, 165 for applications». 165 мегабайт суммарно на все установленные приложения! В таких условиях приходилось постоянно выбирать, какие из них важнее, а без каких можно прожить. И чтобы установить 30-мегабайтное, пришлось бы снести сразу несколько других. Это была боль.

    И если бы мы могли вернуться в 2010-й, подойти к людям, испытывающим эту боль, и сказать им фразу из 2018-го «у меня после установки приложений остался всего гигабайт для фотографий», думаю, нас бы побили. Эти слова звучали бы не жалобой, а издевательством и хвастовством.

    Причём даже с 2018-го, когда эта жалоба появилась, ситуация успела улучшиться: сейчас бюджетный Xiaomi Mi A3 в базовом варианте снабжён 64 гигабайтами, так что после установки приложений явно останется куда больше одного свободного.

    Да, приложения за 10 лет выросли в разы. Но объём места за то же время вырос в СОТНИ раз. То есть жить стало в десятки раз лучше.

    И вы вообще помните, что такое было использовать смартфон в 2010-м и сколько там было разных болей «всё тормозит»?

    • Маленький объём оперативки означал, что приложения постоянно приходилось запускать «с нуля», а не моментально переключаться на уже запущенное.
    • А маломощные процессоры очень неспешно запускали их с нуля.
    • Про скорость мобильного интернета и вспоминать не хочется.
    • Скидывать фотографии на компьютер и бэкапить телефон приходилось по проводу, и во времена USB 2.0 это было мучительно медленно.

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

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

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



    Непонимание «внутренностей»


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

    В качестве маленького наглядного примера. В 2018-м был нашумевший текст Никиты Прокопова об «испортившемся софте», и в числе прочего там были слова «Сервисы Google Play, которыми я не пользуюсь (я не покупаю там книги, музыку или видео) — 300 МБ, которые просто сидят здесь и которые нельзя удалить».

    Читая такое, хочется преисполниться праведным гневом, да. Но есть нюанс: вообще-то Google Play Services — это не про «покупаю книги». Туда входит много самых разных API, и, как сообщает Википедия, «All major Android services are controlled by Google Play Services». То есть, по всей вероятности, Никита активно пользуется этим софтом, сам не зная об этом — просто в Google дали ему название, сбивающее с толку.

    Моя цель здесь — не раскритиковать конкретный пост, а показать общий подход: мы часто заявляем «приложения разбухли/затормозили без веских причин», не до конца понимая эти причины. В приложение что-то добавили, у его разработчиков есть подробная информация, что именно и зачем, а у нас её нет — но мы почему-то считаем себя компетентнее их в этом вопросе.

    А ведь внутри много того, что неочевидно снаружи. Возьмём для примера текстовые редакторы: казалось бы, люди делают их с незапамятных времён на слабейшем железе, с ними всё давно ясно и там нечему тормозить, «что может быть проще». Поэтому снаружи это выглядит так: если что-то отрабатывает не мгновенно, то это криворукие разработчики разучились тому, что человечество уже умело. Но если погрузиться в тему (мы как-то публиковали хабрапост об этом), резко обнаруживается много неочевидных нюансов — и слова «что может быть проще» перестают выглядеть убедительно.

    Или вот ещё. Новости о мобильных ОС часто вызывают такую реакцию: «За последние лет восемь там ничего полезного не сделали. Каждый год с шумихой выкатывают новую версию, которая весит больше предыдущей, но из отличий я вижу только новые эмодзи. В гробу я эти эмодзи видал, верните старую версию, она была лучше».



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

    Возьмём, например, Project Treble из Android 8.0. Известно, что в Android есть большая проблема: пока айфоны легко обновляются на новые версии ОС, андроидфоны обычно навсегда остаются с предустановленной версией, потому что их производители не хотят морочиться. И в Google затеяли масштабную переделку всей архитектуры, чтобы упростить производителям жизнь и стимулировать апдейты. И хотя Treble совершенно не решил проблему целиком, статистика показывает заметное улучшение. То есть для борьбы с наболевшей проблемой в Google вложили много труда (отрефакторить такую махину — это вам не верхом на форточке кататься), и ситуацию получилось частично улучшить. По-моему, компания как раз и должна разбираться с наболевшими проблемами, всё правильно сделали.

    А теперь скажите: если вы не мобильный разработчик, вы вообще об этом слышали? Когда вы впервые взяли руки телефон с Android 8.0+, это как-то сказалось на вашем мнении о новой версии? Вряд ли, потому что в первые месяцы использования телефона это вообще никак не проявляется для пользователя. Заметить можно только спустя время, когда выйдет новая версия Android. И только если производитель телефона окажется в числе тех, кого Treble сподвиг обновлять устройства. И даже в этом случае пользователь может не осознать, что в обновлении есть заслуга Google, и по-прежнему говорить «ничего полезного за восемь лет не сделали».

    И такая ситуация типична — «подводная часть айсберга» вообще большая. Когда в Android ввели Adaptive Battery («умное» определение, каким приложениям можно есть аккумулятор в фоне), замеряли ли вы, изменилось ли энергопотребление вашего телефона? Когда Google Play Protect в фоновом режиме заботится о вашей безопасности, вспоминаете ли вы, что раньше этого не было? Когда добавили поддержку видеокодека AV1, задумались ли вы, что с высокой вероятностью за этим кодеком будущее и такая поддержка полезна? Или вы просто берёте в руки телефон, и эмодзи бросаются в глаза, а поддержка AV1 не бросается?

    Уже после выхода этого поста появился прекрасный тред от lany о том, что софт разбухает во многом из-за обработки редких ситуаций. И что тогда получается: для 1% случаев, когда возникают эти ситуации, всё стало гораздо лучше — но 99% людей, не сталкивающихся с этими редкими ситуациями, не могут как следует оценить изменения.



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

    Общий вывод: часть заявлений о «бессмысленно раздутом софте» вызвана ошибками непонимания. И делать такие заявления без тщательного исследования причин — не самая разумная стратегия.



    Внимание к производительности


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

    Слушайте, ну это попросту неправда. В качестве отдельного примера: Facebook Messenger недавно переписали, и сообщается, что производительность повысилась вдвое, а размер уменьшился вчетверо. А к словам выше о том, что приложение LinkedIn весит 275 мегабайт — я сейчас проверил и увидел в App Store надпись «195.4 MB», похоже, его тоже успели уменьшить в полтора раза. То есть в обеих компаниях явно и задумались о потреблении ресурсов, и выделили для их снижения немало трудозатрат, которые можно было бы потратить на «пилить фичи».

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

    И производительность — точно одна из таких тем. По названиям докладов вроде «Оптимизация времени запуска iOS-приложений» видно: разработчики готовы тратить 60 минут, чтобы послушать о миллисекундах.

    Говорят о производительности везде — хоть в JavaScript-мире («Производительность JavaScript через подзорную трубу»), хоть в мобильной разработке («Как уместить в айфоне миллион звёзд»). Но больше всего говорят в бэкенде. Думаю, это потому что смартфоны пользователи покупают себе сами, а вот в бэкенде за вычислительные мощности платит компания, так что есть мощная финансовая мотивация оптимизировать.

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

    • «Этот доклад будет про тюнинг производительности Producer»
    • «Рассмотрим методы оптимизации файлового I/O»
    • «Может, для одного из модулей вы хотите получить большую производительность, чем вы когда-либо сможете выжать из Java?»
    • «Какие связанные с safepoint оптимизации делает HotSpot JVM? О чём стоит помнить разработчикам, чтобы избежать нежелательных пауз?»
    • «Проект Валхалла, инлайн-типы и всё вокруг них, от программной модели до производительности»
    • «Optimize query performance, throughput and memory consumption»
    • «Доклад посвящен детальному разбору того, как происходит процесс записи в базу данных Apache Cassandra с точки зрения производительности»

    Слушайте, если бы этот эксперимент я проводил как drinking game, то к его окончанию был бы уже пьян. Невооружённым глазом видно: Java-разработчиков волнует, как им делать свой код не просто работающим, но и быстрым.

    Более того: зачастую это их даже слишком волнует! От людей, плотно занимающихся перформансом, я неоднократно слышал, что тут легко перестараться. Например, ради незначительного роста производительности люди используют какие-то грязные хаки, которые в итоге создают больше проблем, чем решают. Ну, про это было в прекрасном кейноуте Алексея Шипилёва на JPoint 2017, мы для Хабра делали расшифровку.



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



    Осмысленность и целесообразность


    А теперь, по-моему, самый важный тезис.

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

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

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

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

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

    Вопрос: не кажется ли вам, что это безумие? Если появилась возможность дать каждому вдоволь пространства, то ради чего его экономить? Кому лучше от древнего мастерства пятиярусных кроватей, если при этом пригласить кого-то в гости некуда? Не пора ли овладевать новым мастерством выбора king size-кровати?

    То же самое и в софте. Если в эпоху, когда даже у бюджетных смартфонов есть по 64 гигабайта, мы будем переживать «рантайм Kotlin увеличит наше приложение на мегабайт», то мы и превратимся в эту семью. Расслабьтесь, место для того и нужно, чтобы в нём что-то находилось. Если оно пропадает впустую, это никому не делает лучше. Если места стало много, и для чего-то понадобился рояль — значит, можно смело его ставить, не переживая о квадратных сантиметрах.

    Slack — это и есть рояль. Окей, он ест много памяти, но слышали ли вы, чтобы не-айтишники жаловались на него, как когда-то жаловались на Photoshop? По моим ощущениям, у обычных пользователей уже достаточно пространства, чтобы этот «рояль» не мешал им «пройти по комнате». Да, можно заменить на пианино и сэкономить место. Но если живёшь во дворце, и с годами площадь дворца становится ещё больше, то зачем?

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

    И в такой ситуации лихорадочно избегать всего, что занимает память, когда её уже стало много — это как с мобильными таск-менеджерами, где пользователи прибивают запущенные приложения, чтобы «расчистить оперативную память». Уже много раз создатели мобильных платформ говорили: «Остановитесь, безумцы. Система сама прибьёт приложения, если памяти станет не хватать, а до того-то их прибивать зачем? В чём смысл покупать смартфон с большим объёмом оперативной памяти, а потом держать её пустой и не пользоваться тем, за что заплатил?»


    Выглядит оптимизированно. Хочется ли вам тут жить?

    И ещё мне вспоминается история с «ошибкой 2000». Кто-то из айтишников середины XX века в старости вспоминал: «Мы были в числе породивших её. Мы тогда экономили каждый байт. И когда мы придумали, что можно год хранить двумя цифрами, а не четырьмя, ощущали себя очень умными. Мы сэкономили по два байта в куче мест! И только ближе к концу века стали ясны последствия».

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

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

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

    Так вот: многое из того, что сегодня хочется воспевать как «разумное сберегание ресурсов», в будущем станет выглядеть такой же «экономией на спичках», которая потратила больше ресурсов, чем сэкономила. Например, потому что время разработчика — это тоже ценнейший ресурс, а его тут в расчёты часто не включают. Если вы упоролись по выравниванию данных, и ваше приложение стало чуть-чуть меньше и быстрее, но вы потратили на это неделю, которая могла бы уйти на полезную фичу, то вы сделали пользователю лучше или хуже?

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

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

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



    Примирительное заключение


    Предвосхищаю возражения в комментариях: «а вот задача X стала у меня выполняться реально медленнее, чем 13 лет назад, верните мне мой 2007-й».

    Поймите меня правильно: я не пытаюсь сказать, что таких задач не бывает. Бывают. И чрезмерное использование зависимостей бывает. И bloatware бывает. Когда я слышу, что в Photoshop есть редактирование видео, я испытываю такое же ощущение «ЗАЧЕМ», как и вы. Когда я читаю, что создание любого приложения с create-react-app сразу означает 4304 директории с 28678 файлами в них, у меня тоже возникает вопрос, не свернули ли мы куда-то не туда. Есть много реальных проблем, о которых стоит говорить.

    Моя претензия лишь к тому, что в связи с этими проблемами возникает какая-то радикальная секта, верящая в скорый конец света из-за разрастания софта. В этой секте переписывают историю («раньше всё быстрее работало!»), недопонимают происходящее («а почему это Windows с годами так выросла, там же ничего особо и не поменялось»), говорят о разработчиках незаслуженные вещи («они не хотят ничего оптимизировать») и ударяются в крайность «давайте экономить каждый байт, даже когда это сделает пользователям хуже». Давайте не будем так делать.

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

    Главный вывод — скучный и банальный, но от того не менее правильный: всё зависит от конкретной ситуации. Оптимизации — это не абсолютное зло и не абсолютное добро. Они могут одновременно помогать и вредить. Есть ситуации, где оптимизации явно стоят того, и ситуации, где явно не стоят. И есть промежуточные ситуации, где разные люди по-разному расценят «стоит или нет», и никто из них не будет более прав, и это нормально.

    А если кто-то, включая меня, скажет вам иначе — это сектант, гоните его в шею.
    JUG Ru Group
    Конференции для программистов и сочувствующих. 18+

    Comments 1276

      +7

      Меня вот с комикса бомбит, прям с первого кадра с этим муд… сра… уё… "по быстрее".

        +7
        Да тут все прекрасно, человека бомбит по делу и без дела.

        Скажу прямо: когда я вижу подобные заявления, у меня бомбит. По-моему, в них упускают целый ряд важных факторов

        Можно взять обычный калькулятор и посмотреть его эволюцию в размерах и потреблении памяти. Как по мне самый удачный был в XP.

        вы вообще помните, например, вот это?

        Я помню и у меня есть ретро машины, так что помню как вчера я запускал и вполне спокойно выключил win95.
        Обычно причины были банальные, это мало памяти, открытие много всего и жутко дешевые тормозные диски. Кто-то делал на 80286 с 8 метрами памяти кеш диска в памяти? Да единицы были и да именно 80286 и именно 8 метров (есть платы и на 16)

        Жду когда мы упремся в кремний в итоге и опять начнем оптимизировать soft.
          +1
          Скорее всего упремся не в кремний (его может быть много в далеких облачных дц), а в то, что в какой-то момент нельзя будет относительно дешево (как эволюционно, так и революционно) увеличивать ширину канала связи по фундаментальным причинам.
            +4
            Или Интернет продолжат дербанить в том же духе (тащмайорство, блокировки, поддержка копирайтов, закрытые стандарты, шатдауны — это вот всё не только в России ведь происходит) и в итоге окажется, что облака не такая уж надёжная штука, когда сеть фрагментирована и там периодически штормит.
            +5
            На ширпотребовских компьютерах ставили 8 Мб, начиная только с Пентиума. Говорю так потому, что тогда ставил себе в 2 раза больше памяти, чем «простые смертные».
              +1
              Я скажу больше, что особого смысла больше чем 1 метр на 80286 нет для обычных людей и к концу жизни, это стало просто дешевая машина.
              +24
              Просто люди часто видят либо черное, либо белое. Но, а вокруг все, как правило, серое.

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

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

              Сейчас довольно популярна тема – ну жрет мой блокнот 1гб памяти, и пусть жрет, сейчас же на машинах их 16-32Гб. А по итогу получается, что открыл Firefox на 100 вкладок, 2-3 экземпляра IDE с большим проектом, какую-нибудь GUI для гита – опа, а у тебя уже -15Гб рамы, и в своп уже просится. Ну блин, как так, вроде топовый ноут был 2 года назад, вроде бы и ничего фундаментально не изменилось, а он уже – старые дрова, которые еле тащат разработку.

              Разработчики современных фреймворков – они же тоже больше про «простоту вхождения», чем про оптимизации. Вот если фреймворк взлетел, тогда да, можно начать думать и про это.

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

              Вообще, я бы сравнил «борцов за оптимизацию» с разумными экологами. Вторые говорят, что заводы – это все тоже важно, нужно и прогресс, но давайте все-таки при этом не уничтожать все в округе, иначе через сколько-то лет нам придется решать другие, более сложные задачи. Если сейчас совсем не смотреть на разбухающий софт, то рано или поздно 95% утилизации мощностей компов уйдет в поднятие локальных серверов на каждый калькулятор, и жить сильно лучше не станет.

                +10
                Ну а так, как пример из прошлого, помню, был у меня КПК (карманный персональный компьютер, дедушка современных смартфонов) — Dell x50v. Статья подсказывает, что это около 2004 года было. Конфигурация смешна по современным меркам — 1 ядро на 600Мгц, 64 ОЗУ.

                Я на нем библиотеки книжек в FbReader читал, музыку слушал, инет серфал, в приличные игры играл, имел доступ к файловой системе, карты навигации стояли и т.д. DosBox у меня стоял с Maple 1987 года, в котором я считал всякие математические задачи.
                Короче, все тоже самое, что и делаю сейчас. Да, навигация сейчас стала сильно лучше (а тормозит уже и на 8 ядрах и 6Гб), экраны приличнее, скорости быстрее, но не могу сказать, что я ощущаю какой-то прям качественный скачок в софте. Скорее, стало больше веба и сервисов, что сильно добавило функционала в оффлайн из онлайна (такси, доставки и т.д.), но основной набор софта на десктопе/мобиле у меня плюс-минус одинаковый десятилетиями.

                  0
                  А по итогу получается, что открыл Firefox на 100 вкладок, 2-3 экземпляра Как по мне, web это отдельная боль. Я бы предложил закопать весь JS нафиг, но меня же никто не послушает и альтернатив нет, а если и будет то не очень понятно, что надо что бы оно выстрелело. Было еще проще и производительнее если только.

                  Так то да — устройств стало больше, потребителей больше, а программистов не хватает.

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

                    На самом же деле — всё те же подходы, те же тенденции. Проблема-то не в JS, а в том, что не видят проблемы сбрасывать пользователям монструозные конструкции, которые предсказуемо жрут ресурсы как бегемот веники, но «на среднем смартфоне достаточно мощные процессоры, зачем себя ограничивать».
                      +1
                      Иногда пользователю выкручивают руки. Вот у меня планшет Gataxy Tab 2.0, на нём Янекс-карта. Была. Потому что в один прекрасный момент карта говорит: «НЕ буду работать. Обнови браузер». Без проблем. Обновляю Хром. Он, в свою очередь, говорит: «Обнови Android». Опять без проблем, обновляю. А Android заявляет: «Для ВАшего устройства новой версии нету». С FireFox аналогично. И всё, приплыли. Нет ножек — нет мультиков.
                      +2
                      Кто эти люди, которые открывают 100 вкладок в браузере?
                        0
                        (посчитал) у меня 30 вкладок открыто, а в чем проблема? я бы и больше открыл но памяти не особо много
                          +1
                          Я, например.
                            +2
                            у меня сейчас порядка 140 открыто
                              +2
                              Оке, вызов принят, 821 (да, спец.счетчик стоит).
                              Нет, я не упорот, просто широкий спектр решения задач.
                              И да, это только верхушка айсберга… по факту в Windows стоит ядро линуха (WSL2), а там уже докер со своим миром.
                              Добиваем кучей IDE, торренты, еще браузеры.
                              И да, мне бы памяти по больше, 64Гб как-то маловато (никакого свопа) — когда еще игрушку запускаю, то свободной остается совсем немного ;)
                                0
                                А зачем? Всё равно после перезапуска браузера всё это богатство пропадает. Или, даже если сохраняется список вкладок, может пропасть из-за сбоя. А так: почитал — закрыл, и лишняя информация не мешает.
                                  +1

                                  Иногда открываешь, чтобы прочитать потом

                                    +1
                                    Всё равно после перезапуска браузера всё это богатство пропадает.
                                    Нет, если это так не настраивать.
                                    Или, даже если сохраняется список вкладок, может пропасть из-за сбоя.
                                    Из-за сбоя может и вся информация на жётском диске пропасть, что же, не пользоваться им?
                                  +1

                                  Часто открываю до 300 вкладок в браузере. Минимум — 30, в среднем не знаю, шт. 50–60.


                                  Полагаю, Вы не знаете о дополнении Tree Style Tab и о том, насколько это удобно.


                                  Даже зашёл Хабр почитать — хоп, и уже +45 открытых вкладок в дереве. Суммарно около 100 открытых вкладок.


                                  Тем не менее, браузер сейчас жрёт мало. На 64 ГБ можно открыть 600 вкладок, вполне нормально, мне хватает. В будущем можно будет обновить до 128 ГБ оперативки.

                                  0
                                  > в поднятие локальных серверов на каждый калькулятор

                                  Попадался ftp-сервер на телефоне :)
                                    0
                                    иногда удобно
                                    разве что не на постоянно основе
                                      0
                                      Важен сам факт — сервер на телефоне.
                                        +2
                                        И в чём важность этого факта? «Сервер» — это всего лишь название роли в межпрограммном взаимодействии. От того, что вы назовёте программу «сервером» он не приобретёт каких-то особых свойств по сравнению с не-сервером.
                                          0
                                          Особая роль уже есть. Телефон хранит файлы и выдаёт их по требованию, как будто настоящий сервер из дата-центра.
                                            0
                                            А чем это принципиально отличается от любого другого способа передачи файлов? Например по bluetooth или WiFi?
                                            По такой логике, стоит вам на своём форд-фокусе перевезти мешок цемента, так он сразу превратится в строительный самосвал.
                                          +1
                                          я такими фишками почти 10 лет назад на симбе пользовался
                                      +4
                                      Софт раздувается прежде всего из-за сильно избыточного кода, что связанно с внедрением ООП, фреймворков, визуального программирования, программирования на близких к человеческим языках и пр. многоуровневых абстракций, которые, можно сказать, убивают саму суть программирования. Если раньше программировали на С/С++, Паскале и пр. ЯП, при этом стараясь максимально оптимизировать программный код (часто — с использованием многочисленных ассемблерных вставок), то сейчас, используя библиотеки готовых объектов (классов), накидав формы и объекты в визуальной среде программирования, легко и быстро написать программу любой сложности. И если раньше программный код иногда даже растягивали по строкам при оплате по количеству строк программы, то сейчас программы могут иметь миллионы и десятки миллионов строк кода: МС Виндовс 7 скомпилирован из примерно 40млн строк кода (Вин3.1 — 2,5млн), МС Офис 2013 — 45млн строк, Линукс 3.10 — 13млн, Андроид — 12млн, Файрфокс — 18млн, Гугл Хром — 7млн, новый Фотошоп — 10млн (Фотошоп 1.0 — всего 128тыс.!); а управляющее ПО самых современных автомобилей может иметь и 100млн строк кода (т.е. производители просто накидывают готовые программные блоки, не делая никакой оптимизации кода). Любая универсализация и унификация программирования (с целью его упрощения) в виде ООП, фреймворков, визуального программирования, а также программирования на языках, близких к человеческому (а к этому все и идет), подразумевает огромную избыточность кода. Ну и также в любых крупных проектах (как проприетарных, так и опенсорсных) с выходом все новых версий накапливаются большие объемы устаревшего и неиспользуемого кода, что негативно влияет на производительность и отзывчивость программ; и периодически программисты проводят чистку кода и АПИ и оптимизацию программ (рефакторинг), ускоряя работу приложений, что потом ставят в достоинства вышедшей новой версии ПО (а потом размер программ опять же будет расти).
                                      То же самое с версткой сайтов и веб-программированием. Изначально все сайты выглядели минималистично и просто (наподобие еще более старого Гофер), а сейчас даже минималистичная версия сайта Яндекса (ya.ru) — это почти 50КБ кода; при том что печатная страница простого текста (если набивать текст без стилевого оформления в Блокноте) — примерно 2КБ.
                                      Также сейчас также довольно много внимания уделяется защите данных (шифрование и хэши). Если раньше пароли передавались по сети простым текстом (чем в т.ч. пользовались первые хакеры), то сейчас такого почти не встретить. Много внимания также уделяется обнаружению и закрытию дыр в ПО, и при каждом обновлении ПО в «Что нового» объявляется о закрытии неск. десятков (а то и сотен) уязвимостей; а внедряемые в ПО проверки корректности данных тоже добавляют объема кода.
                                      • UFO just landed and posted this here
                                          0
                                          Ну и также в любых крупных проектах (как проприетарных, так и опенсорсных) с выходом все новых версий накапливаются большие объемы устаревшего и неиспользуемого кода, что негативно влияет на производительность и отзывчивость программ

                                          А как неиспользуемый код влияет на производительность, если не секрет?

                                            +2

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

                                              0

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


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


                                              А не выполняемое условие быстро просчитается branch predictor'ом или вообще компилятором вырежется.

                                                +1

                                                Как минимум уменьшает размер доступных буферов и кэшей.


                                                Ну и не все языки имеют компилятор в принципе.

                                                  +1
                                                  Не, я могу придумать граничные случаи, когда неиспользуемые инструкции вот прям совсем

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

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

                                            0
                                            Обычно причины были банальные

                                            … — насколько я помню, 95-е винды давали КАЖДОМУ приложению 10 секунд на закрытие, а приложения тогда тоже писали люди с руками не из того места, так что чем больше фигни висело в трее (а народ любил коллекционировать там иконки), тем дольше оно выключалось

                                              –13

                                              Всю жизнь (с 1991 года) выключал и выключаю десктоп (если вдруг зачем-то надо) тумблером на корпусе. Это действие требует ровно 10μs.

                                                +16
                                                Больной ублюдок.
                                                  0
                                                  У новых всё равно штатная порцедура проходит, даже если его кнопкой выкличить. Правда, если зависнет, то только вилку из розетки дёргать. Ну, или выключателем сзади щёлкать, у кого он есть.
                                                    0
                                                    На корпусе не одна кнопка. И если нажать ту, что сзади, никакой штатной процедуры не будет.
                                                    А если серьезно — тоже почти всегда выключаю машину коротким нажатием кнопки включения
                                                      0
                                                      > И если нажать ту, что сзади, никакой штатной процедуры не будет.

                                                      Вряд ли обычный юзер будет лезть на заднюю стенку. Хотя, да, бывали оригиналы, которые в ответ на «Press any key» нажимали «Reset». ;)
                                                        0
                                                        дык, там же не уточнялось, что any должна быть именно на клаве =)
                                                      0

                                                      Можно подержать кнопку 4 секунды.

                                                        0
                                                        Самый смак будет, если эта кнопка залипнет.
                                                    +1
                                                    Ахтунг! Скайнет существует — и раздражен поведением белкового организма по отношению его прародителям)).

                                                    PS эдди мерфи давит тараканов youtu.be/yyGeCihP74Y?t=313 родственников Жука.
                                                  +3
                                                  Вот раньше компьютеры были настоящими компьютерами — большими, солидными, занимающими огромные площади, серьезно выглядящими; а сейчас — мельчает техника! И дешевенький смартфон по производительности легко побивает суперкомпьютер прошлого века.
                                                  Помню, в прошлом веке у меня был дипломный проект, посвященный разработке библиотек для разработки обучающих программ. Программы с использованием становящихся в то время популярными библиотек Borland Turbo Vision уж очень сильно тормозили на ПК ЕС-1840/1841, а в нашем вузе было неск. классов с такими ПК. Вот и разрабатывалась мной новая ООП-библиотека на Turbo Pascal, реализующая полноценный оконный интерфейс с диалоговыми окнами, раскрывающимися горизонтальными и вертикальными меню и мн. всякого, в т.ч. объекты для разработки обучающих программ (лекционный материал с иллюстрациями, контрольные вопросы и экзамены с выставлением оценки, кроссворды и т.д.), и даже защиту дистрибутивов от нелегального копирования. На основе этой ООП-библиотеки подпрограмм я писал обучающие и экспертные программы по самой разной тематике (работали шустро в т.ч. на ПК ЕС-1840/1841 под MS-DOS): иностранные языки, русский язык, культурология, история, право, математика, лесное дело и др., мн. из кот. попали в ФАП и распространялись по образовательным учреждениям.
                                                  На работу я недавно принес свой первый ПК с ОЗУ 640КБ и диском 750МБ с Windows ME (изначально, понятное дело, работал под DOS, потом Windows 3.0, 3.1, 95, 98 по мере их появления, в т.ч. бета-версии ОС).
                                                    0
                                                    ПК с ОЗУ 640КБ и… Windows ME
                                                    Э-э?..
                                                      +2
                                                      Да, виноват, 64МБ ОЗУ в нем. Для демонстрации коллегам подключил его к нашей локалке, к Интернет. Конечно, новые сайты в старых браузерах Netscape и MSIE отображаются криво, и мн. сайты выдают, что не могут работать в устаревшем браузере.
                                                      0
                                                      > Программы с использованием становящихся в то время популярными библиотек Borland Turbo Vision уж очень сильно тормозили на ПК ЕС-1840/1841

                                                      Сишные тормозили, а вот Turbo Vision для Паскаля — нет. При том, что Сишные программы работали быстрее эквивалентных Паскальных, хотя exe-файл был больше. Такой вот парадокс.
                                                        +1
                                                        Я программировал в то время как раз на Турбо Паскале (для меня он был удобнее, хотя программировал и на С/С++) с применением Турбо Вижн, и эти библиотеки были неприменимы на ЕС-1840/1841 из-за их тормознутости.
                                                          0
                                                          У меня в институте был эмулятор i8080 для лабораторных работ именно на Turbo Vision именно на ЕС1841 и он особо не тормозил. В принципе Turbo Pascal 6 и 7 как раз на на Turbo Vision и был написан и работал сносно. Другое дело, что памяти могло не хватить, приходилось из командной строки tpc компилировать.

                                                          А так ЕС1841 тормозная вещь, да. Про то, как дисковод выключался я уже писал. Могу ещё привести пример. На ЕС1841 я ждал результата расчётов, а 386-я мне выдала ответ, не успел я руку от Enter оторвать. Это был шок ;)
                                                            0
                                                            с применением Турбо Вижн, и эти библиотеки были неприменимы на ЕС-1840/1841 из-за их тормознутости.

                                                            Да ну, я даже на «Поиске 1» их использовал, который раза в два был медленнее ЕС 1841. Там они тормозили, было не очень комфортно, хотя работоспособно. Впрочем, на «Поиске» вообще всё тормозило. Собственно, и сама IDE Турбо Паскаля версий 6.х/7.х была написана на ТурбоВижине, вы же на ней работали на ЕСке, нормально она ворочалась?
                                                    –23
                                                    Сколько уже можно жаловаться на Electron приложения?
                                                    У нас не существуют более хорошего фреймворка для быстрой разработки кросс-платформенных приложений с аналогичными Electron возможностями.

                                                    Замените свои MacBook «PRO» с 4GB памяти на нормальные компьютеры с 16GB памяти и PCIe SSD диском за такую же стоимость и не будет ничего никогда тормозить.

                                                    У меня всегда единовременно открыты несколько проектов в Blender (1-2 проекта), Electron (1-4 проекта), VScode (1-4 проекта), Chrome (200+ активных вкладок), Photoshop / Premiere PRO. И компрессия RAM в Windows 10 справляется с этим без проблем, сжимая / разжимая память в нужные моменты, и мгновенно передавая гигабайты информации между PCIe SSD диском (1400 мб/с) и памятью
                                                      +3
                                                      У меня и на 8Gib 4 проекта electron'вого VSCode прекрасно работают.
                                                      По моим наблюдениям добрая половина жалоб на Electron приходится на Slack. Ну так Electron'а вина здесь только в том что он по достижению потребления памяти в 1GiB не сегфолтится как те внутренние банковские поделки на Borland C++, которые я тестировал на заре своей карьеры в конце нулевых.

                                                      Electron, конечно далек от оптимальности, но если приложение выжирает пару гигов на список сообщений, то тут дело уже не в движке Хрома или JS, а в разработчиках приложения, на плюсах их приложение бы просто падало каждые 10 минут.
                                                        +43
                                                        на плюсах их приложение бы просто падало каждые 10 минут

                                                        И это было бы гораздо лучше. Потому что падающее каждые 10 минут приложение не пройдет контроль качества и мы его не увидим, а джаваскриптовый шлак, написанный левой ногой, — вот он, во всемирном продакшене.
                                                          +4
                                                          на плюсах их приложение бы просто падало каждые 10 минут.

                                                          Глупость какая. Падение, особенно не вследствие нехватки ресурсов, а именно из-за ошибки программирования — результат плохой архитектуры и плохого QA одновременно. Ядро Линукс написано на С. Много сложных и даже очень сложных приложений написаны на С++, а отнюдь не на Электроне. Более того, сам Электрон написан на чём? :)
                                                            +8
                                                            Я думаю, имелось ввиду что у Slack и программисты не очень, и QA не очень. Просто Electron все это прощает и не падает, а что-то свое на C++ не простило бы и падало бы.
                                                            +6
                                                            но если приложение выжирает пару гигов на список сообщений, то тут дело уже не в движке Хрома или JS

                                                            И в движке и в писателях под движок. Когда каждое сообщение имеет вид типа

                                                            <div class="..."><div class="..."><div class="..."><div class="..."><span>Привет!</span></div></div></div></div>

                                                            это явно ненормально и движок тут тоже виноват.

                                                            На плюсах (чём-то типа MFC, wxWidgets или QT) это было бы больше кода но гораздо меньше ресурсов, и нет, как уже выше заметили, оно бы не падало. Да даже на C# .net это было бы на порядок эффективнее.

                                                          +26
                                                          Замените свои MacBook «PRO» с 4GB памяти на нормальные компьютеры с 16GB памяти и PCIe SSD диском за такую же стоимость и не будет ничего никогда тормозить.
                                                          Ты будешь за это платить?
                                                            –16
                                                            В чем проблема? Если нет компьютера с 16GB памяти, не используйте современные приложения, кто вас заставляет то?

                                                            Если я хочу быстро и с комфортом перемещаться по стране, но у меня нет возможности, поскольку у меня есть только велосипед но нет машины, то это моя проблема или ваша? Вы мне ее должны купить или я все же должен пользоваться тем, что я имею?
                                                              +26

                                                              Не так давно 16 гигабайт памяти стояли в серверах БД и обслуживали тысячи людей. А теперь нам нужно столько же гигабайт памяти чтоб просто работать одному человеку с парой приложений.

                                                                0

                                                                А мы с десктопами с 32 Гб выбиваем чтоб на 3 три ноды кластера с продакшен и тремя текстовыми средам добавили 8Гб чтобы было 16 на ноде :)

                                                                  +2

                                                                  Это вы еще о fpga разработке ничего не слышали.

                                                                  +1
                                                                  А вы запустите те приложения, тех самых версий, которыми пользовались на ПК во времена, когда «16 гигабайт памяти стояли в серверах БД и обслуживали тысячи людей». И попробуйте поработать. Серьёзно.
                                                                    0

                                                                    Какие именно? Серверные? Или десктопные?

                                                                      +1
                                                                      Десктопные.
                                                                        +6

                                                                        Это времена windows xp когда у людей на компьютере и скайп и ворд стоял и полгига памяти типичным объемом был. И я не скажу что эти приложения были ужасны.

                                                                          +1
                                                                          Да нормально всё было. Уже в Word'е 2000 было всё, что нужно. А если конвертор нужен, то 2003-го хватит.
                                                                            0
                                                                            в экселе до 2003 и docx были ограничения по размеру книг
                                                                              0
                                                                              Насчёт Excel'а не знаю, а в Worde, как минимум со второй версии под Windows можно было использовать составные документы, то есть главный файл, в котором поля-ссылки на другие файлы, а выглядит и печатается как один документ.
                                                                                0
                                                                                Они и сейчас есть, и в 2003 были, и до него были, просто лимиты подняли при переходе на xlsx.
                                                                                Лимиты
                                                                                  0
                                                                                  да, только лимиты до -x форматов были совсем какието беспредельно мелкие
                                                                                    0
                                                                                    Издержки реализации «старого» офиса, до 2007, так там много чего костылями было подперто «для ускорения». 2003, даже с обновлением на поддержку X форматов, работает с ними с большими ограничениями, правда большинство с этими ограничениями и не сталкивается. Пришлось в 2008 году насиловать Excel на грани и за гранью лимитов через штатные COM библиотеки на шарпе.
                                                                                0
                                                                                К 2000 тоже плагин есть. У меня ещё жив EeePc 701, с XP и Office 2000 (скорее, курьёза ради). И пришлось плагин подключить.
                                                                                  0
                                                                                  У меня жив и здравствует EeePC 904 HD, с Windows 7, 2 ГБ ОЗУ, SSD на 60 ГБ, WIFI 5 (ac). Хорошая машина, даже с SD карты загружается, жаль CPU не обновить.
                                                                              +3
                                                                              Это вы со временем, когда в серверах было по 16 мегабайт, перепутали. Если брать софт 15-летней давности, когда в компах было по гигабайту, а на серверах этак по 16 гигабайт — то легко можно работать, и никаких особых неудобств не возникнет. Единственное, если вам потребуется синхронизация данных между разными устройствами, понадобится чуть больше лишних действий. Вы же сейчас успешно пользуетесь всякими онлайновыми офисами/графическими редакторами, которые значительно отстают и по юзабилити, и по производительности от десктопного софта 15-летней давности, и ничего.
                                                                            +9
                                                                            Увы, Skype старых версий больше не запустить из-за запрета старого протокола. Но когда одновременно можно было использовать старые версии, и новую что на Electron, разницу в отзывчивости можно было увидеть невооружённым глазом. Из других примеров — новый калькулятор и просмотрщик картинок в Windows 10. Новый просмотрщик фото иногда может и 5+ секунд запускаться, на современной машине с 16Гб оперативы 4-ядерным процессором. Это какой-то кошмар, что там так долго можно делать, если мне нужно просто фотку показать? Новый калькулятор тоже не радует моментальным запуском. Берём старый просмотрщик и калькулятор — и они прекрасно справляются со своими задачами, запускаясь при этом моментально.

                                                                            Не думаю, если вы возьмёте тот же MS Office 2003, то у вас будут какие-то проблемы с ним, если не счиать отсутствие 100% поддержки более новых форматов. Я MS Office не пользуюсь как раз с тех времён (отказывался от использования пиратского ПО), перешёл на OpenOffice/LibreOffice. В нём тоже иногда бывают какие-то косяки с поддержкой неродных для него DOCX/XSLX, но я почти этого не замечаю, так как в основном редактирую созданные мной же документы, которые в стандартном для OpenOffice/LibreOffice формате. Сейчас вот подумал, что наверное на MS Office 2003 сейчас можно недорогую Б/У лицензию найти. Надо будет купить =) Он и в 2003 году очень быстро работал, по сравнению с OpenOffice. На современных машинах он будет просто мгновенно запускаться, это как раз то что я люблю. И аддон для поддержки DOCX/XSLX там есть, пусть и какие-то совсем новые фишки не поддерживаются.
                                                                              +2
                                                                              Новый просмотрщик фото иногда может и 5+ секунд запускаться,


                                                                              После установки 10 я первым делом возвращаю старый «Просмотр фотографий Windows» — благо это вопрос нескольких секунд и десятка кликов мышкой.
                                                                                +1
                                                                                2003-й офис ужасен по сравнению с 2007/2010.
                                                                                Новый калькулятор на порядок лучше старого, но что он запускается с задержкой в полсекунды — не спорю. Меня не раздражает, готов простить за удобство и функционал.
                                                                                  +6
                                                                                  Ну уж не знаю, я Ribbon на дух не переношу. Каждый раз когда сталкиваюсь с такими приложениями (что случается нечасто) — испытываю боль, и побыстрее ищу замену. Калькулятор — я одновременно пользуюсь стандартным калькулятором в Windows 7 и Windows 10, в зависимости от места где нахожусь. Не заметил, чтобы новый калькулятор стал хоть сколько удобнее или полезнее. Мне вот часто надо бывает с битиками поиграться — так это только менее удобно стало, нужно калькулятор в специальный подрежим переводить для этого, и потом обратно. Это в какой-то мере компенсируется тем, что программерский режим сразу в новом калькуляторе показывает значение во всех системах счисления. Но это никак не оправдывает столь медленный запуск. Вообще непонятно, почему он тормозит — красивых свистелок и перделок там ведь тоже нет, программа выглядит откровенно плохо. Вряд ли она хоть кого-то порадует своим видом.
                                                                                    +1
                                                                                    Office очень удачный 2013, который уже с новым интерфейсом и поддержкой docx, но довольно быстрый. Однако после него зачем-то выпустили похожий, но заметно более тормозной 2016.
                                                                                      +1
                                                                                      docx вроде с 2010-й версии появился? Или вообще с 2007-й?
                                                                                        0
                                                                                        С 2007. Собственно, .docx уже существует на 3 года дольше, чем предыдущий формат .doc (родом из Word 97).
                                                                                      +2
                                                                                      Наоборот, 2003-й Офис — последний Офис, выглядящий как программа. Я возлагал надежду на Oepn Office, но он тоже скурвился.
                                                                                        0
                                                                                        а как на счёт его форка: LibreOffice?
                                                                                          0
                                                                                          ЛибреОфис (как и все др. наследники СтарОфиса) во мн. ситуациях уступает Микрософт Офису (в т.ч. работа с таблицами во Врайтере, колонтитулы, нумерация страниц и мн.др.) или не полностью совместим с ним (в частности, редактор формул во Врайтере, выборка данных из разных листов книг или файлов Кальк, скрипты и т.д.), форматирование страниц в сложных документах (текстовые документы, таблицы и презентации) плывет (отступы, колонтитулы и т.д., хотя с каждой новой версией ситуация выправляется). А на простых документах ЛибреОфис, конечно, полностью справляется со своей задачей и достаточно удобен. И если бухгалтерский документооборот (в т.ч. сложные таблицы с многочисленными выборками из разных листов книг и файлов) в организации базируется на Микрософт Офисе, то при переходе на ЛибреОфис всю систему взаимосвязанных документов придется корректировать и заново отлаживать.
                                                                                            0
                                                                                            Точно не вспомню, но вроде бы не зашло. Я тогда пробовал всё, даже какой-то китайский откомпилированный в машинный код аналог.
                                                                                        +1
                                                                                        Это какой-то кошмар, что там так долго можно делать, если мне нужно просто фотку показать?

                                                                                        Как что — телеметрию в Microsoft слить: товарищу майору господину колонелю проверить надо — вдруг Вы ЦП смотрите? Ему тоже посмотреть хочется.

                                                                                          0
                                                                                          Кстати, запускал ЛИНКЁР, а он в сеть полез. Спасибо д-ру Вебу.
                                                                                            0

                                                                                            Я бы тоже полез в сеть — узнать, кто такой ЛИНКЁР. Это гибрид линкера с ликёром? И заодно на вирусы провериться.


                                                                                            А вообще в эти дни в сеть лазит любая встречная и поперечная программа — как правило, узнать, есть ли у Вас на неё лицензия, и не пришло ли ей время запланированно устареть.

                                                                                              +1
                                                                                              > кто такой ЛИНКЁР.

                                                                                              Ну, компоновщик. Хоть горшком назови, проблема-то в названии.

                                                                                              > А вообще в эти дни в сеть лазит любая встречная и поперечная программа

                                                                                              GUI ещё ладно, а вот чтобы узкоспециализированная утилита комндной строки. Ещё бы fc или xcopy в И-нет полезли.

                                                                                              > как правило, узнать, есть ли у Вас на неё лицензия,

                                                                                              Как раз хотел написать — или «стучит» или проверяет лицензию :)))

                                                                                              Хотя я был бы не против, если бы недостающие библиотеки из Интернета подтягивались.
                                                                                          +1
                                                                                          Но когда одновременно можно было использовать старые версии, и новую что на Electron, разницу в отзывчивости можно было увидеть невооружённым глазом.


                                                                                          Особенно сильно заметно, если ты продвинутый пользователь и пользуешься неродным настроенным софтом: Irfan View мгновенно открывает фото, Foxit PDF Viewer мгновенно открывает PDF, в браузере firefox настроены блокировщики рекламы, и так далее.

                                                                                          А потом садишься за чужую систему с «стандартным» софтом и при таком же функционале кровь из глаз течет )
                                                                                            +4
                                                                                            Могу посоветовать Sumatra PDF на замену Foxit PDF Reader. Я сам давным-давно использовал Foxit PDF Reader, но он в какой-то момент начал сильно толстеть, плюс не поддерживал форматы типа Djvu и других популярных (может быть уже научился, не знаю). Sumatra PDF был просто открытием: быстрее, легче, поддержа большего числа форматов, открытый исходный код… Если вам (как и мне) не понравится новомодный интерфейс с меню-гамбургером и вкладками (это излишество появилось в новых версиях) — оно отключается в настройках одной галкой, просмотрщик сразу принимает классический минималистичный вид.
                                                                                              +1
                                                                                              оно отключается в настройках одной галкой,

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

                                                                                                +2
                                                                                                Нажмите на «гамбургер», затем Settings/Options, и там снять галочку «Use tabs»:

                                                                                                image

                                                                                                «Гамбургер» будет заменён на обычное меню, и эти нелепые вкладки исчезнут =)
                                                                                                0
                                                                                                Заменил суматрой STDU Viewer. Полёт нормальный. Вроде удобней.
                                                                                                Даже можно фон вокруг страниц поменять в конфиге (параметр MainWindowBackground).
                                                                                                • UFO just landed and posted this here
                                                                                                    –1
                                                                                                    … и тащит за собой Qt, нет уж, Sumatra всем лучше.
                                                                                                    • UFO just landed and posted this here
                                                                                                        –2
                                                                                                        Нет, только для Windows и в этом её прелесть ибо не тащит за собой лишнего. Ну т. е. я понимаю что можно, например, на WxWidgets тоже сделать хорошо и кроссплатформенно, но я помочь проекту с этим не осилю.
                                                                                                          +3

                                                                                                          Довольно сомнительная прелесть для людей, которые Windows в последний раз видели вживую — в прошлом веке.

                                                                                                            0

                                                                                                            Хинт: "в прошлом тысячелетии" в подобных контекстах звучит эффектнее :)

                                                                                                              0

                                                                                                              :)


                                                                                                              Я использую BM в таких случаях в рабочей переписке (Before Millenium).

                                                                                                              • UFO just landed and posted this here
                                                                                                  +3
                                                                                                  ACDSee раньше хорош был. Потом из него тоже монстра сделали. А в новом просмотре вообще 2 кнопки, остальное за "..." спрятано, хотя место на экране есть. Вот зачем так делать, спрашивается?
                                                                                                    0
                                                                                                    Мне нравится минималистичный дизайн. Из всех просмоторщиков остановился на honeyview, поскольку там можно скрыть все меню и остаться один на один с картинкой которую и хочешь посмотреть и при этом оно не запускается по 10 секунд(утрирую) как стандартный новый просмоторщик вин10. Мне не требуется куча кнопок на экране и тем более не требуется меню из 2003 года которое выбивается и режет глаза. Я картинку смотрю, а не интерфейс.
                                                                                                      +1
                                                                                                      Разве не во всех просмотрщиках есть полноэкранный режим?
                                                                                                        +1
                                                                                                        Если я захочу открыть с трея, например, тот же телеграм, мне надо будет закрывать весь просмоторщик, чтобы наведение мышки в нижнюю часть экрана выдвинулась скрытая панель с пуском? Спасибо, лучше я буду пользоваться тем, который изначально с адекватным дизайном, а не через костыль полноэкранного режима. И это я не уверен, что полноэкранный режим открывается по умолчанию, ибо я открываю зачастую одну фотку/картинку, а не сижу в просмоторщике 20 мин листая всё.
                                                                                                          0
                                                                                                          Хм, вы ведь писали «остаться один на один с картинкой». А не «один на один с картинкой, таскбаром, обрамлением окна с заголовком и кнопками» и т.д…
                                                                                                          Если я захочу открыть с трея, например, тот же телеграм, мне надо будет закрывать весь просмоторщик, чтобы наведение мышки в нижнюю часть экрана выдвинулась скрытая панель с пуском?
                                                                                                          Закрывать-то зачем? Просто выйти из полноэкранного режима. У ACDSee, XnView и прочих это делается средним кликом или сочетанием клавиш.
                                                                                                          И это я не уверен, что полноэкранный режим открывается по умолчанию
                                                                                                          Это, обычно, настраивается.
                                                                                                            0
                                                                                                            В XnView — F11
                                                                                                              0
                                                                                                              Ну так в текущем приложении я уже остаюсь один на один с картинкой, но при этом приложение не мешает мне пользоваться таскбаром. Обрамления окна с заголовком и кнопками отсутствует(точнее скрыто и появляется, если навести указатель), а таскбар скрыт по умолчанию (вылазит при наведении). И это без лишних телодвижений в виде входа/выхода из полноэкранного режима или ещё чего-то.
                                                                                                    0
                                                                                                    > если не счиать отсутствие 100% поддержки более новых форматов.

                                                                                                    Для этого есть конвертор. Работает как раз с 2003-ей версии.

                                                                                                    > но я почти этого не замечаю, так как в основном редактирую созданные мной же документы, которые в стандартном для OpenOffice/LibreOffice формате.

                                                                                                    А я вот редактировал чужие с Госзакупок и замечал. Пришлось даже экземпляр Офиса купить ради этого.
                                                                                                      +1
                                                                                                      Конвертер кривоват и падает на сложных документах.
                                                                                                        0
                                                                                                        Который? Для 2007-го формата под 2003 Офисом на Госзакупках за 4 года ни разу не упал.

                                                                                                        Вот для Опен Офиса падал то и дело. Примечательно, что туда целый Офис входил, только наружу его не выводили.
                                                                                                          0
                                                                                                          Excel 2003 с конвертером падал на небольшой, но сложной таблице в xlsx.
                                                                                                +20
                                                                                                А если при попытке использовать велосипед Вам сказали, что велосипедных дорожек уже нет. Их убрали потому что департамент градостроительства решил, что они устарели и должны быть заменены на электрические моноколеса. Или решили что лампочки будут строго светодиодными, а что бы до всех дошла полезность нововведения — запретили производство старых ламп. Или у фирмы выпускающей ПО перестали покупать их последнюю версию и она прекратила ее поддержку (банально не выпустила драйверов для нового аппаратного обеспечения). Вот все это чьи проблемы?
                                                                                                  +10
                                                                                                  На счет моноколес не знаю, но насчет лампочек (в россии есть такой закон) и на счет невыпуска драйверов (с драйверами на вин7 для новых процессоров/матплат беда) вы угадали. Оно уже здесь. И оно бесит.
                                                                                                    +1
                                                                                                    В дополнение к коменту rtkprg2, есть ещё и такие костыли «не от хорошой жизни» github.com/zeffy/wufuc
                                                                                                    +4
                                                                                                    Если нет компьютера с 16GB памяти, не используйте современные приложения, кто вас заставляет то?

                                                                                                    Microsoft жеж. Жил себе спокойно с Windows 7, никого не трогал, в ус не дул, в один прекрасный день включаю лаптоп — оба-на, а на нём ВНЕЗАПНО Windows 10!

                                                                                                      +5
                                                                                                      Сама по себе Windows 10 не могла поставиться. Когда система что-то спрашивает — не глядя кликать OK и со всем соглашаться — это плохая привычка.
                                                                                                        +4

                                                                                                        А это не там было?
                                                                                                        "Да, установить сейчас"
                                                                                                        "Нет, установить позднее"

                                                                                                          +1

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

                                                                                                            +2
                                                                                                            Такого чтобы оно прям само-само — не было. Надо было согласиться. Было несколько вариантов диалога, который предлагал установку, в том числе был и диалог с серым приёмчиком, что если не вчитаешься, то кликнешь на то, что кажется кнопкой отказа, а на самом деле это согласие на установку сегодня ночью, а не прям сейчас. Ну знаете, как в инсталляторах вам предлагают ещё какой-нибудь Аваст или Хром в довесок, маскируя это под галочки согласия с лицензионным соглашением. Это действительно было, и это не к лицу Microsoft. Но от всей этой ерунды можно было отказаться одной галочкой, вот этой:
                                                                                                            image
                                                                                                            То есть, нужно было просто отказаться от рекомендуемых обновлений (коим и являлось обновление до Windows 10), устанавливая только важные.
                                                                                                              0

                                                                                                              У меня "give me recommended updates" всегда было отключено, и вообще обновления я всегда ставил "ручками".

                                                                                                                +1
                                                                                                                Было-было. Как раз к вопросу о том, что люди всё забывают.

                                                                                                                Причём, если сначала можно было закрыть установку, нажав на крестик, то потом этот крестик УБРАЛИ. И я лично выключал KBxxxx, который его ставит, а потом какой-то из KBxxxx его *включил*.

                                                                                                                А как насчёт того, что Win8 тёрла несовместимый софт? У меня так софта на 200$ чуть не пропало, хвала Акронису.

                                                                                                                Помню, в XP даже специальную активацию добавили, чтобы люди его не копировали, а тут хлеб за брюхом ходит так интенсивно, что хрен выкуришь. Это о чём-то да говорит.
                                                                                                          0
                                                                                                          «Почему они не едят пирожные?» (с)
                                                                                                          +6
                                                                                                          Если вы не готовы заплатить за «несколько проектов в Blender (1-2 проекта), Electron (1-4 проекта), VScode (1-4 проекта), Chrome (200+ активных вкладок), Photoshop / Premiere PRO» — возможно, вам это и не нужно?
                                                                                                          Вспоминаю 90-е. Почему-то тогда абсолютно никого не напрягало, что для «офиса» хватает 486 с 4 Мб памяти, а для серьёзных задач нужен P-200 c 32 Мб.
                                                                                                            0
                                                                                                            Для 486-й лучше было бы 8. Надо было ставить память в 2 раза больше, чем рекомендуется.
                                                                                                              0
                                                                                                              Ну да, это я скорее ещё времена Win 3.1 вспомнил.
                                                                                                                0
                                                                                                                Так для Windows 3.1 и надо было. Тогда были монстры Corel Draw 5 и Visual Basic 3. Еле-еле ворочались. А добавляешь памяти, всё просто летает.
                                                                                                          +2
                                                                                                          Каждый раз, когда читаю о 200+ открытых вкладках, на язык сразу просятся дискриминационные ругательства о зумерах и т.п.
                                                                                                            +3
                                                                                                            Это много или мало? У меня бывает и по 2000+ открытых вкладок.
                                                                                                              +2
                                                                                                              Я уже давно группы вкладок использую вместо закладок, зачем их закрывать? Браузер (firefox) с ними эффективно справляется, благо расширений для этого — больше одного, можно подобрать по вкусу…

                                                                                                                +9

                                                                                                                ИМХО, много. Всегда висят 1-2-10 текущих, все остальное — в закладки. Без сарказма:


                                                                                                                • зачем держать 2000+ открытых вкладок?
                                                                                                                • как осуществлять навигацию по ним?
                                                                                                                • за сколько лет можно прочесть все, что открыто? :))
                                                                                                                  +2
                                                                                                                  Я тысячами не открываю, но несколько сотен — легко. Firefox всегда хорошо справлялся с большим числом вкладок. В современных версиях обычным скроллом они быстро прокручиваются, особенно если у вас мышь со свободным скроллом от Logitech (чтобы было понятнее — вся эта страница с комментариями прокручивается одним махом, вам достаточно разок крутануть колесо, а дальше оно быстро вращается по инерции до самого конца страницы; или вы в любой интересный момент можете остановить вращение). В старых версиях ещё можно было расширениями делать вкладки в много строк, но сейчас без костылей уже так нельзя, к сожалению. Если же вкладок совсем много, и скроллом нужную искать слишком много, в Firefox с древних времён есть поиск по вкладкам. Для этого перед поисковыми словами в адресной строке надо знак % вставить.
                                                                                                                    +3
                                                                                                                    за сколько лет можно прочесть все, что открыто?
                                                                                                                    Когда я пробавлялся писанием популярных статей (в данном случае популярные — это жанр, а не реакция читателей), получалась примерно одна статья раз в неделю, и до тысячи открытых вкладок исключительно под статью. После сдачи статьи вкладки закрывались.
                                                                                                                      +1
                                                                                                                      >зачем держать 2000+ открытых вкладок?
                                                                                                                      Я открываю каждое утро RSS-ридер. Что-то супер-интересное в подписках читаю сразу же, что-то интересное, но не приоритетное, открываю в фоновой вкладке, чтобы прочитать когда будет время и настроение.
                                                                                                                      Иногда времени и настроения не бывает неделями, поэтому вкладки копятся тысячами.

                                                                                                                      >как осуществлять навигацию по ним?
                                                                                                                      Никак.

                                                                                                                      >за сколько лет можно прочесть все, что открыто? :))
                                                                                                                      Две-три недели по часу в день. Обычно за обедом.
                                                                                                                        0

                                                                                                                        Я тоже так делал, а потом постепенно RSS-фиды стали вымирать. На одном трекере уже год висит моя бага с просьбой починить — так и не починили.

                                                                                                                          +1
                                                                                                                          Hacker news, хабр, и реддит пока фиды дают, к счастью. Даже ютуб даёт rss :) я так и подписан на все каналы — по rss.
                                                                                                                        +1
                                                                                                                        как осуществлять навигацию по ним?

                                                                                                                        Установите Tree Style Tab.


                                                                                                                        Закладки — прошлый век. Теперь вкладки не переносятся в закладки, а группируются в дереве.


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


                                                                                                                        за сколько лет можно прочесть все, что открыто?

                                                                                                                        Некоторые вкладки могут читаться ~10 сек, 1000 таких вкладок — 2 ч 47 мин.

                                                                                                                        0
                                                                                                                        У меня тоже. И периодически вкладки прореживаю: просматриваю, удаляю, кидаю в закладки и т.д.
                                                                                                                      +15
                                                                                                                      У нас не существуют более хорошего фреймворка для быстрой разработки кросс-платформенных приложений с аналогичными Electron возможностями.

                                                                                                                      Ок, не существует — ну и аминь. Я, как пользователь, прекрасно переживу, если мои приложения будут или не кросс-платформенными, или кросс-платформенными, но разработанными не очень быстро. Только не надо приложений на Электроне.
                                                                                                                      И, пожалуйста, не надо говорить, что якобы мне придётся за это больше платить. До появления Электрона все как-то без него обходились, и с его появлением софт ничуть не стал доступнее.
                                                                                                                        +7
                                                                                                                        Приложения, разработанные не очень быстро проигрывают конкуренцию. Не-кроссплатформенные приложения проигрывают конкуренцию. Приложения без полноценной веб версии тоже имеют все шансы проиграть конкуренцию. Выживает не сильнейший, а наиболее приспособленный.
                                                                                                                          +4
                                                                                                                          Да конкуренция тут вообще не причём. Рынок софта таков, что на нём куча свободного места, и даже полное дерьмо находит своего клиента. Электрон существует как раз только потому, что конкуренции нет. Есть масса разработчиков, для которых он вполне удобен, и они могут что-то на нём склепать, а отсутствие нормальной конкуренции даёт им возможность даже это выгодно продать.
                                                                                                                            +2
                                                                                                                            Как мне видится что рынок (не профессионального) софта таков, что кто первый встал — того и тапки. Тот задает тренды, под него начинает формироваться экосистема, и «подвинуть» его становится очень сложно и зачастую возможно только если сам этот «первый» перестает развиваться. Можно вспомнить сколько времени IE или скайп были актуальны несмотря на наличие более продвинутых альтернатив.

                                                                                                                            Поэтому возможность запилить новое приложение (которое еще неизвестно найдет ли своего клиента) быстро это вполне себе конкрутнтное преимущество. Тратить на такое же приложение в 3 (условно) раза больше времени потому что натив, и портировать на число платформ (win, mac, linux, web, android, ios — это минимум) без гарантий что у приложения есть клиент — риски вырастают в разы.
                                                                                                                              +3
                                                                                                                              Тапок обычно хватает для первых трех-четырёх. IE и скайп тут не совсем удачные примеры, т.к. первый принадлежал хозяину десктопа, и в общем-то был подвинут только тогда, когда хозяин десктопа плюнул на его развитие, а на его место пришел хозяин интернета. А второй много лет был не только первым, но и действительно лучшим.
                                                                                                                                +2

                                                                                                                                Причем настолько лучшим, что большинство нынешних вайберов с вацапами только недавно подобралась к функционалу скайпа 10-ти летней давности.

                                                                                                                                  0
                                                                                                                                  Да, скайп под Windows был хорош когда-то
                                                                                                                                  Проблема в том что он был только под Windows
                                                                                                                                  И вполне возможно что это его и убило. То что он в развитии затормозился это были цветочки по сравнению с тем что на «внезапно» появившиеся android/ios не было нормального клиента.
                                                                                                                                    +1
                                                                                                                                    Проблема в том что он был только под Windows
                                                                                                                                    Разве?
                                                                                                                                    В 2009 году уже существовала версия под разные версии Symbian.
                                                                                                                                    Не думаю что тогда были версии только под десктопную винду и симбу.
                                                                                                                                  0
                                                                                                                                  Ну не только потому что хозяину, IE был всем прекрасен, IE6 был очень хороший и современный, с кучей новых технологий. Плохой был IE7 поскольку вышел сликом поздно.
                                                                                                                          +10
                                                                                                                          Ладно бы электон просто жрал ресурсов на порядок больше. Но он реально тормозит! Почти во всем софте на электороне очень хорошо видны задержки между нажатием кнопки и откликом, переключением на другую вкладку, иногда заметны подвисания интерфейса. И это вообще не решается железом.
                                                                                                                            +4
                                                                                                                            Захожу на сайт Apple и не вижу там MacBook Pro с 4ГБ ОЗУ, минимальный доступный объем 8ГБ. Да и SSD MacBook последних лет пяти работают на скорости ~3000/3000 МБ/с. Хорошая попытка, hater ;)
                                                                                                                              +4
                                                                                                                              Это не отменяет того, что 8 гиг оперативки мало, и уже при 10 запущенных программах под память жрется от 5 гиг свопа и до 15. Хотя и с этим мы немного зажрались: на XP с 2гб оперативки было нормой выгрузить одну программу, прежде чем запустить другую, а своп был очень болезненным из-за медленного диска. А тут я жалуюсь, что видители, 10 программ в оперативку не помещаются.
                                                                                                                                +3
                                                                                                                                на XP с 2гб оперативки было нормой выгрузить одну программу, прежде чем запустить другую

                                                                                                                                Да ну, так было на ХР с 256Мб оперативки, и на ХР SP2 с 512Мб. В остальном в те годы надо было хорошо постараться, чтобы 2 гигабайта употребить.
                                                                                                                              +1
                                                                                                                              Замените свои MacBook «PRO» с 4GB памяти на нормальные компьютеры с 16GB памяти и PCIe SSD диском за такую же стоимость и не будет ничего никогда тормозить.

                                                                                                                              мгновенно передавая гигабайты информации между PCIe SSD диском (1400 мб/с) и памятью

                                                                                                                              Я даже не знаю, троллинг это, или что. Вы из какого года про 4 гига и SSD на 1400 пишете?


                                                                                                                              Скриншот с MacBook «PRO» (я тоже для прикола добавил кавычки)

                                                                                                                                +18

                                                                                                                                А теперь внимание, вопрос: если бы на вышеприведённом скриншоте не было бы закосов под спидометры дорогой машины, а было бы только две строчки -


                                                                                                                                image


                                                                                                                                , насколько ухудшилась бы жизнь пользователя?

                                                                                                                                • UFO just landed and posted this here
                                                                                                                                    –1
                                                                                                                                    Матричный принтер — это слишком сложная вещь и будет расходоваться слишком много материальных ресурсов (бумага, краситель).
                                                                                                                                    Лучше выводить информацию в двоичном виде с помощью светодиодов (специализированная МС практически никаких ресурсов не потребляет). И вывод информации будет происходить на пару порядков быстрее.
                                                                                                                                      +2
                                                                                                                                      А можно матричный принтер забабахать, тогда и на дисплей не придётся тратить ресурсов!

                                                                                                                                      Поздравляю товарища, он изобрёл ранние ЕС ЭВМ :)


                                                                                                                                      Лучше выводить информацию в двоичном виде с помощью светодиодов (специализированная МС практически никаких ресурсов не потребляет). И вывод информации будет происходить на пару порядков быстрее.

                                                                                                                                      Зато на пару порядков медленнее будет происходить её считывание человеком.


                                                                                                                                      Не волнуйтесь, в ДВК-2 был вполне себе алфавитно-цифровой дисплей, там пишешь в канал байт — на экране появляется символ: и никаких светодиодов не надо, и ресурсы не расходуются. И я вполне себе программировал, и, как видите, не умер.

                                                                                                                                        0
                                                                                                                                        Я программированием начал заниматься, когда получил в пользование клон спектрума 48х примерно в середине 90х.
                                                                                                                                        С ДВК дела не имел.
                                                                                                                                          0
                                                                                                                                          Поздравляю товарища, он изобрёл ранние ЕС ЭВМ :)

                                                                                                                                          На ранних ЕС ЭВМ были телетайпы, там матричными принтерами и не пахло
                                                                                                                                            +1

                                                                                                                                            Для данного конкретного разговора чем именно печатает принтер — иголками или литерами — непринципиально, товарищ вёл речь о замене дисплея принтером.

                                                                                                                                              0

                                                                                                                                              Еще как принципиально! Роторный (или как там он назывался, уже даже забыл) принтер, которым комплектовались ДВК-2, производил такое количество децибелл, что на время вечернего обхода первого отдела в Физтехе его приходилось на всякий случай выдергивать из розетки, чтобы товарищи майоры не зашли спросить, зачем тут так шумно, и что студент делает в ПЯ после 22:00 :)

                                                                                                                                            0
                                                                                                                                            > Поздравляю товарища, он изобрёл ранние ЕС ЭВМ :)

                                                                                                                                            И ЮТ-88 заодно.
                                                                                                                                              0
                                                                                                                                              Поздравляю товарища, он изобрёл ранние ЕС ЭВМ :)

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

                                                                                                                                          +1
                                                                                                                                          Улучшилась бы, ибо читабельно и понятно, а на этой хреновине разглядывать полезную информацию в пустоте надо. Но ведь производителям ПО на это плевать ;(
                                                                                                                                        +3
                                                                                                                                        У нас не существуют более хорошего фреймворка для быстрой разработки кросс-платформенных приложений с аналогичными Electron возможностями.

                                                                                                                                        Чем QT не подойдёт?
                                                                                                                                          0
                                                                                                                                          Чем QT не подойдёт?

                                                                                                                                          (ехидно) это вы про QML сейчас и javascript внутри? :-)
                                                                                                                                            –3
                                                                                                                                            Вы еще должны были упомянуть, что helloworld на Qt занимает никак не меньше 800 Mb на диске. И при запуске с какими-то там драйверами непонятными 100 Mb в памяти.
                                                                                                                                              +6
                                                                                                                                              сильно меньше. примерно 50мб

                                                                                                                                              советую убрать громкий титул с++ из профиля
                                                                                                                                                +2
                                                                                                                                                UEFITool NE (около 50 тыс. строк кода), собранный VS2017 для Windows статически с Qt 5.3.6 (последней версией под LGPLv2, с модулями QtCore, QtGUI и QtWidgets) занимает сейчас порядка 10 Мб. Собранный MinGW — порядка 20 Мб.
                                                                                                                                                  0
                                                                                                                                                  Ну я считал вместе с DLL от Qt, LGPL разрешает же только динамическую линковку. Впрочем непринципиально, важен порядок размера.
                                                                                                                                                    0
                                                                                                                                                    LGPL разрешает же только динамическую линковку.

                                                                                                                                                    Отнюдь. LGPL позволяет и статическую линковку, но при условии, что пользователь может заменить слинкованную библиотеку на свою. Т.е. если вы распространяете вместе со своим приложением его объектные файлы и инструкцию по линковке, LGPLv2 вы не нарушаете.
                                                                                                                                                    0
                                                                                                                                                    с модулями QtCore, QtGUI и QtWidgets
                                                                                                                                                    если речь о QML, там же еще нужен QtDeclarative/QtQuick/QtQML, разве нет?
                                                                                                                                                      0
                                                                                                                                                      Верно, но можно пока что не использовать QML, и кроме QtWidgets вам ничего не понадобится. У меня там QTreeView в качестве основного элемента интерфейса, а в QML он появился только в Qt 5.5.
                                                                                                                                                    +4
                                                                                                                                                    Эм) Я вообще сборки делал с Qt под устройства с 32 Мб памяти :( Очень жаль что настолько гиперболичное высказывание было принято за чистую монету, я обычный типовой аргумент про блоатварность Qt умножил на 5, наверное :) Про драйвера — уже стопицот раз обсуждалось, что смотреть сколько h.w. занял в памяти после запуска нерационально, если там 95% занял аппаратный драйвер (поэтому у разных юзеров это сильно разнится). (ну и да «какими-то там драйверами непонятными» — реально выглядит как сказанное на полном серьезе? эх)
                                                                                                                                                  0
                                                                                                                                                  (ехидно) это вы про QML сейчас и javascript внутри? :-)
                                                                                                                                                  Ну во-первых, бизнес-логика QML-приложения всё равно остается на c++, а обычно тормозит именно она. Во-вторых, там от этого javascript'а одно название. В третьих, в последних Qt'ах его даже скомпилировать можно.
                                                                                                                                                    0
                                                                                                                                                    Если у вас логика написана на QML/JS написана логика, то у меня для вас плохие новости. QML создан только для одного — GUI, знаете концепцию о разделении логики от гуи? На JS обычно пишут Mock для дизайнеров.
                                                                                                                                                  +5
                                                                                                                                                  А на что заменить 9900k если на нем тоже тормозит?
                                                                                                                                                    +1
                                                                                                                                                    На Electron нужно не жаловаться, использующих его разработчиков надо клеймить презрением и подвергать остракизму. Библиотека графического интерфейса, таскающая за собой web-сервер и бразуер — это за гранью добра и зла.
                                                                                                                                                      +1
                                                                                                                                                      разработчиков надо клеймить презрением и подвергать остракизму
                                                                                                                                                      С 1C такая ситуация, и не помогло. А могли бы бизнес-логику на Java писать. Потому что экономика определяется не чувствами программистов, а бизнесом.
                                                                                                                                                        +7
                                                                                                                                                        1С — хороший пример, подходящий. Наглядно демонстрирующий насколько низкокачественным может быть продукт, когда нет альтернатив. Так же и Electron, например, в Skype используется не потому, что Electron хороший и даёт бизнес-преимущества, а потом что пользователям некуда уйти и бизнес может впаривать им любой хлам. Если завтра появится фреймворк, который позволит нанимать самых настоящих обезьян вместо уже нанятых web-макак, Microsoft сразу же переведёт Skype на него.
                                                                                                                                                          0
                                                                                                                                                          даёт бизнес-преимущества, а потом что пользователям некуда уйти и бизнес может впаривать им любой хлам
                                                                                                                                                          Это очень специфичное понимание рынка. Тем более такого гибкого рынка с низким порогом входа, как IT. Пользователи страдают, но ничего не могут с бизнесом сделать, который просто напрочь отказывается делать пользователям то, что надо, и никто им не придёт на помощь, кроме… Исходя из такого специфичного понимания рынка я вижу только только один вариант борьбы с этой «проблемой»: государственное регулирование разрешенных к использованию технологий.
                                                                                                                                                        –6

                                                                                                                                                        Да с чего бы все на Electron-то набросились, не пойму? Во-первых, на нем можно писать по-разному (ср. Atom vs VSCode). Во-вторых, это все равно в миллиард раз лучше, чем Idea. В-третьих, он жрет расходник (память), которая в современном мире не стоит ничего: даже 64G оперативки, не говоря о 128, полностью снимают проблему.


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

                                                                                                                                                          +1
                                                                                                                                                          В-третьих, он жрет расходник (память), которая в современном мире не стоит ничего: даже 64G оперативки, не говоря о 128

                                                                                                                                                          Это в каком магазине бесплатно оперативную память отдают?
                                                                                                                                                          полностью снимают проблему.

                                                                                                                                                          Ого. Бесплатная, да ещё и приложения перестают её много потреблять?
                                                                                                                                                          Какая волшебная оперативка.
                                                                                                                                                            +6
                                                                                                                                                            Пришлите мне пожалуйста 128 Гб бесплатной оперативки. Пересылку по почтовым тарифам я так и быть оплачу.
                                                                                                                                                              –6

                                                                                                                                                              Человек, которому может пригодиться 128G, — зарабатывает на эту память меньше, чем за день работы. Не вижу смысла цепляться к отсутствию слова «почти» перед «не сто́ит ничего».


                                                                                                                                                              Домохозяйке вряд ли нужен редактор с поддержкой синтаксиса.

                                                                                                                                                                0
                                                                                                                                                                Человек, которому может пригодиться 128G, — зарабатывает на эту память меньше, чем за день работы

                                                                                                                                                                Это же с какой планеты вы прилетели, где ИТшники зарабатывают от $16K в месяц?
                                                                                                                                                                  –2

                                                                                                                                                                  Не все, а только те, кому может пригодиться 128G.

                                                                                                                                                                    +1
                                                                                                                                                                    А что, это такая редкость в среде разработчиков, как, например, зарплата в 16К? По-моему, разрабов, которые держат у себя локально пул виртуальных машин, полно. А ещё есть жирные СУБД, девелоперские экземпляры которых тоже нередко удобно держать локально.
                                                                                                                                                                  +2

                                                                                                                                                                  Не согласен. Мне вот может пригодиться (на З2 Gb приходится некоторые вещи, прежде всего виртуалки, выгружать, чтобы в своп машина ощутимо не лезла), но зарабатывать на неё мне нужно несколько дней, если считать, что 1000$ стоит 128G, а учитывая текущие траты, то почти две недели работать на эти две планки (что текущие две по 16 можно продать — пренебрежем). А это уже не "почти", это довольно заметно.

                                                                                                                                                                    –1

                                                                                                                                                                    Между 32G и 128G есть еще 48G, 64G, 96G. Вы попробуйте шажочками, там необходимость в свопе отвалится гораздо раньше 128G.

                                                                                                                                                                      0

                                                                                                                                                                      Я уверен, что 128Gb быстро полностью ютилизируются :) А пробовать шажочками накладно — не 8 слотов для оперативки, а два и оба уже заняты. Может повезёт и замена одного 16 модуля на 32 хватит надолго. Но менять оба 16 на 32, потом оба на 32 точно заметно дороже будет чем поменять сразу на да по 64, потому что оба 16 и, главное, оба 32 в итоге будут по сути выкинуты.

                                                                                                                                                                        –1
                                                                                                                                                                        Я уверен, что 128Gb быстро полностью ютилизируются :)

                                                                                                                                                                        Для очень специальных задач, может быть. Но я могу сказать про себя: прыжок из 64 в 128 был явно излишним.

                                                                                                                                                                          0

                                                                                                                                                                          Смогу держать 5 инстансов системы одновременно, а не накатывать их по очереди по мере необходимости :)

                                                                                                                                                                            –1

                                                                                                                                                                            Не знаю, что у вас за система, но уже испытываю к ней уважение, если ей шести гигабайт (добавленные 32 на пять систем) на инстанс недостаточно :))

                                                                                                                                                                              0

                                                                                                                                                                              Пара десятков наших микросервисов, пяток баз данных (мускуль, постгрес), плюс редисы, рэбиты, нфс и т. п.

                                                                                                                                                                                –1

                                                                                                                                                                                А пять инстансов-то зачем? Я уже больше двух лет вообще не поддерживаю разворачивание системы локально.


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

                                                                                                                                                                                  0

                                                                                                                                                                                  Ради скорости переключения. А с пайплайнами очень долго получать "фидбэк".

                                                                                                                                                                0

                                                                                                                                                                У меня 64 гига оперативки. IDE для плюсов для моего основного проекта за пару дней работы сжирает 20 гигов памяти. IDE для хаскеля сжирает 2-10 гигов на проект. Учитывая, что у меня проектов много, и их иногда неплохо бы еще компилировать и запускать, 64 гига ой как не хватает.

                                                                                                                                                                  0
                                                                                                                                                                  за пару дней работы сжирает 20 гигов памяти

                                                                                                                                                                  Ну перезапускайте ее по вечерам, не знаю. Кроме того, 20 + 10 = 30, если я все еще правильно умею арифметику, остается 34, не? В настолько одновременную разработку нескольких проектов, что их надо все держать открытыми — я тоже не особо верю.


                                                                                                                                                                  Богатым и здоровым быть, несомненно, лучше, чем бедным и больным, но описание проблемы не побудило меня к сочувствию. Вот InterDev 1.0b в 1997 году — это была трагедия, он сразу мегабайт 16 на старте жрал, а докупить еще 16 — стоило, кажется, тысячи три.

                                                                                                                                                                    0
                                                                                                                                                                    Ну перезапускайте ее по вечерам, не знаю.

                                                                                                                                                                    Неудобно. Ну и она минут 5-20 после запуска тормозит.


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

                                                                                                                                                                    Ну по одному проекту я лениво пишу статью по вечерам, другой — мой основной проект сейчас, плюс ещё один проект из двух подпроектов. Вот уже 4.

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

                                                                                                                                                                        Так она интерактивно тормозит, с ней для этого работать надо. Видимо, открывается один файл — лениво подгружаются одни кэши, выбирается navigate to definition — подгружаются другие.

                                                                                                                                                                          0
                                                                                                                                                                          У меня из-за оптики колонки громко щёлкают когда компьютер перезагружается. Не надо так. Кроме того обычно запущено что-то сто работает подолгу. Автоматическая установка обновлений, а уж тем более перезагрузка это жопа. В 10 устал бороться с этим всем. У меня и так уже был волшебный скрипт который раскатывал нужные апдейты того что система сама не может обновлять, ну вот и добавил в его начало запуск службы обновлений и их поиск, а в конец выключение службы и всё, теперь жить можно.
                                                                                                                                                                    +1
                                                                                                                                                                    В-третьих, он жрет расходник (память), которая в современном мире не стоит ничего: даже 64G оперативки, не говоря о 128, полностью снимают проблему.

                                                                                                                                                                    Далеко не во всякий компьютер, даже суперсовременный, можно вставить 64 Г памяти (не говоря уже о 128).
                                                                                                                                                                    В моего старичка больше 16 никак не влазит (после обновления БИОС, до оного было только 8). А в суперсовременный ноут не лезет больше 32.

                                                                                                                                                                      0

                                                                                                                                                                      Значит мне продавцы наврали, да и БИОС врет, наверное. 64G.


                                                                                                                                                                      Но дело даже не в этом, ноут все равно не решает те задачи, которым нужно столько оперативки.

                                                                                                                                                                        +2
                                                                                                                                                                        ноут все равно не решает те задачи, которым нужно столько оперативки.

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