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


Я занимаюсь программированием уже 15 лет. Но в последнее время при разработке не принято думать об эффективности, простоте и совершенстве: вплоть до того, что мне становится грустно за свою карьеру и за IT-отрасль в целом.

Для примера, современные автомобили работают, скажем, на 98% от того, что физически позволяет нынешняя конструкция двигателя. Современная архитектура использует точно рассчитанное количество материала, чтобы выполнять свою функцию и оставаться в безопасности в данных условиях. Все самолёты сошлись к оптимальному размеру/форме/нагрузке и в основном выглядят одинаково.

Только в программном обеспечении считается нормальным, если программа работает на уровне 1% или даже 0,01% от возможной производительности. Ни у кого вроде нет возражений. Люди даже гордятся, насколько неэффективно работает программа, типа «зачем беспокоиться, компьютеры достаточно быстрые»:

@tveastman: Я каждый день запускаю программу на Python, она выполняется за 1,5 секунды. Я потратил шесть часов и переписал её на Rust, теперь она выполняется за 0,06 секунды. Это ускорение означает, что моё время окупится через 41 год, 24 дня :-)

Наверное, вы слышали такую мантру: «Время программиста дороже времени компьютера». Это означает, что мы тратим компьютерное время в беспрецедентных масштабах. Вы бы купили машину с расходом 100 литров на 100 километров? Как насчёт 1000 литров? С компьютерами такое происходит постоянно.

Всё невыносимо медленно


Оглянитесь вокруг: портативные компьютеры в тысячи раз мощнее тех, что привели человека на Луну. Тем не менее, каждый второй сайт не может обеспечить плавную прокрутку страницы на 60 FPS на последнем топовом MacBook Pro. Я могу комфортно играть в игры, смотреть видео 4K, но не прокручивать веб-страницы! Это нормально?

Почтовому приложению Google Inbox в браузере Chrome от той же Google, требуется 13 секунд, чтобы открыть письмо среднего размера:


Он ещё анимирует пустые белые формы вместо того, чтобы показать их содержимое, потому что это единственный способ анимировать что-то на веб-странице с приличной производительностью. Нет, не 60 FPS, а скорее «настолько быстро, насколько возможно на этой странице». С нетерпением жду, что же веб-сообщество предложит, когда дисплеи 120 Гц станут мейнстримом. Они еле справляются с 60 Гц.

Обновление Windows 10 занимает 30 минут. Что можно делать так долго? Этого времени достаточно, чтобы полностью отформатировать мой SSD-накопитель, загрузить свежий билд и установить его примерно 5 раз подряд.



Павел Фатин: Набор текста в редакторе — относительно простой процесс, поэтому даже 286 могли обеспечить довольно плавный процесс набора.

В современных текстовых редакторах задержка при наборе больше, чем в 42-летнем Emacs. Текстовые редакторы! Что может быть проще? На каждое нажатие клавиши, нужно всего лишь обновить крошечную прямоугольную область на экране, а современные текстовые редакторы не могут сделать это за 16 мс. А это много времени. МНОГО. 3D-игра заполняет экран сотнями тысяч (!!!) полигонов за те же 16 мс, а также обрабатывает ввод, пересчитывает мир и динамически загружает/выгружает ресурсы. Как так?

Тенденция такова, что софт вовсе не становится быстрее и функциональнее. Мы получаем более быстрое оборудование, на котором софт с теми же функциями ворочается медленнее, чем раньше. Всё работает намного медленнее максимальной скорости. Никогда не задумывались, почему ваш телефон загружается от 30 до 60 секунд? Почему он не может загрузиться, скажем, за одну секунду? Здесь нет никаких физических ограничений. Лично мне бы такое понравилось. Хочется, чтобы разработчики достигли предела, используя каждый бит для производительности.

Всё ОГРОМНОЕ


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

Система Android без приложений занимает почти 6 ГБ. Просто задумайтесь на секунду, насколько неприлично огромное это число. Что там, фильмы в HD-качестве? Думаю, в основном код: ядро, драйверы. Ещё какие-то ресурсы, конечно, но они не могут быть такими большими. Сколько же драйверов вам нужно для телефона?



Windows 95 занимала 30 МБ. Сегодня у нас есть веб-страницы тяжелее, чем эта ОС! Windows 10 уже 4 ГБ, то есть в 133 раза больше. Но разве она в 133 раза лучше? Я имею в виду, функционально они практически одинаковы. Да, у нас появилась Кортана, но я сомневаюсь, что она весит 3970 МБ. Но это Windows 10, неужели Android должен быть ещё в полтора раза больше?

Приложение клавиатуры Google как ни в чём не бывало съедает 150 МБ. Эта программа рисует 30 клавиш на экране — она правда в пять раз сложнее, чем вся Windows 95? Приложение Google app, в основном, просто пакет для Google Web Search, занимает 350 МБ! Сервисы Google Play, которыми я не пользуюсь (я не покупаю там книги, музыку или видео) — 300 МБ, которые просто сидят здесь и которые нельзя удалить.



После установки всех необходимых приложений (социальные сети, чаты, карты, такси, банки и т. д.) на телефоне остался всего 1 гигабайт для фотографий. И это вообще без игр и музыки! Помните времена, когда ОС, приложения и все ваши данные помещались на дискету?

Ваша программа для заметок наверняка написана в Electron и, таким образом, поставляется с драйвером для контроллера Xbox 360, умеет показывать 3D-графику, воспроизводить аудио и фотографировать с помощью веб-камеры.



Простой текстовый чат всегда славился скоростью и малым потреблением памяти. Так что Slack — это пример очень ресурсоёмкого приложения. Я имею в виду, что чат и текстовый редактор — это самые базовые вещи, они должны потреблять меньше всего ресурсов. Добро пожаловать в 2018 год.

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

Всё гниёт


Android-телефон на 16 ГБ был прекрасен три года назад. Сегодня под Android 8.1 он еле работает, потому что каждое приложение увеличилось минимум вдвое без видимых причин. Дополнительных функций нет. Они не стали быстрее и внешний вид не изменился. Они просто… раздулись?

iPhone 4s вышел с iOS 5, но едва может работать под управлением iOS 9. И это не потому, что iOS 9 намного лучше — в основном, система не изменилась. Но новое оборудование быстрее, поэтому они сделали программное обеспечение медленнее. Не волнуйтесь — вы получили захватывающие новые возможности, например… работа тех же приложений с той же скоростью! Не знаю.

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

@jckarter: Программу DOS можно заставить работать без изменений практически на любом компьютере, сделанном после 80-х годов. Приложение JavaScript может прекратить работу из-за завтрашнего обновления Chrome.

Сегодняшние веб-страницы не будут работать в любом браузере через 10 лет (а может и раньше).

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

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

Хуже — значит лучше


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

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



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

Вся архитектура баз данных веб/SQL построена на предпосылке (даже надежде), что никто не изменит данные, пока вы смотрите на открытую веб-страницу.

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



И нет, в моём мире не является нормальным приложение, которое говорит: «Я уничтожу часть твоей работы, только выбери какую».

Linux намеренно убивает случайные процессы. И всё же это самая популярная серверная ОС.

У меня каждое устройство регулярно выходит из строя так или иначе. Время от времени монитор Dell нужно аппаратно перезагружать, потому что в нём есть софт. AirDrop? Вам повезёт, если он обнаружит устройство, иначе что делать? Bluetooth? Спецификации настолько сложны, что устройства не будут устанавливать связь друг с другом, а периодические перезагрузки — оптимальный вариант.



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

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

В программировании такой же хаос


Кажется, что никто больше не заинтересован в качественных, быстрых, эффективных, долговечных, основательных решениях. Даже если давно известны эффективные решения, мы по-прежнему боремся с теми же проблемами: управление пакетами, системы сборки, компиляторы, конструкция языка, IDE.

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

@przemyslawdabek: Кажется, что rm-rf node_modules является неотъемлемой частью рабочего процесса в проектах Node.js/JavaScript.

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



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

Машинное обучение и ИИ отбросили программное обеспечение к гаданию на кофейной гуще во времена, когда большинство компьютеров даже не были достаточно надёжными.

@rakhim: Когда приложение или сервис говорит «под управлением ИИ» или «на основе машинного обучения», я читаю это как «ненадёжное, непредсказуемое поведение, которое не поддаётся объяснению». Я держусь подальше от «ИИ», потому что хочу от компьютеров противоположного: надёжности, предсказуемости и логики.

Мы засунули виртуальные машины в Linux, а затем засунули Docker в виртуальные машины, просто потому что никто не смог разобраться с бардаком, который производят большинство программ, языков и их окружений. Мы накрываем дерьмо одеялами, чтобы не убирать его. Например, «единый бинарник» остаётся ОГРОМНЫМ преимуществом Go. Нет бардака == успех.


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


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



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

Что ещё хуже, ни у кого нет времени остановиться и выяснить, что произошло. Зачем беспокоиться, если всегда есть другой выход. Поднять новый инстанс AWS. Перезапустить процесс. Удалить и восстановить базу данных. Написать скрипт, который будет перезапускать ваше сломанное приложение каждые 20 минут. Включить одни и те же ресурсы несколько раз: тяп-ляп — и в продакшн. Двигайся быстро, не трать время на исправление ошибок.

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

Мы застряли


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

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



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

Сегодняшнее определение прогресса — или подбросить топлива:

@sahrizv: 2014 — нужно внедрить микросервисы для решения проблем с монолитами.
2016 — нужно внедрить Docker, чтобы решить проблемы с микросервисами.
2018 — нужно внедрить Kubernetes, чтобы решить проблемы с Docker.

или изобретать велосипед:

@dr_c0d3: 2000: напишите 100 строк XML, чтобы «декларативно» настроить сервлеты и EJB.
2018: напишите 100 строк YAML, чтобы «декларативно» настроить микросервисы.
В XML были хотя бы схемы…

Мы застряли, и никто нас не спасёт.

Бизнесу всё равно


Пользователям тоже. Они выучились принимать то, что мы делаем. Мы (инженеры) говорим, что каждое приложение для Android занимает 350 МБ? Хорошо, они будут с этим жить. Мы говорим, что не можем обеспечить плавную прокрутку? Окей, они свыкнутся с телефоном, который подтормаживает. Мы говорим: «Если не работает, перезагрузитесь»? Они перезагрузятся. Ведь у них нет выбора.

Конкуренции тоже нет. Все строят одни и те же медленные, раздутые, ненадёжные продукты. Случайный скачок вперёд по качеству даёт конкурентное преимущество (iPhone/iOS против других смартфонов, Chrome против других браузеров) и заставляет всех перегруппироваться, но ненадолго.

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

Не всё так плохо


Иногда на пасмурном небосводе просвечивают лучики надежды.

Работа Мартина Томпсона (LMAX Disruptor, SBE, Aeron) впечатляет, она освежающе проста и эффективна.

Редактор Xi Рафа Левиена, кажется, построен на правильных принципах.

Джонатан Блоу для своей игры разработал язык компилирования, который компилирует 500 000 строк в секунду на ноутбуке. Это холодная компиляция, никакого промежуточного кэширования, никаких инкрементальных билдов.

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

Манифест лучшего мира


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

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

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

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

Комментарии (1615)


  1. vlreshet
    20.09.2018 15:07
    +2

    Это всё, конечно, правильно, но, мне интересно, готов ли автор (да, я вижу что это перевод) платить вместо условной тысячи долларов за новый телефон — платить 50 000? И тогда действительно расширят штат разработчиков, чтобы у них было время писать ядро системы отдельно под каждый телефон. А ещё придётся платить за каждый веб-сайт, потому что разрабатывать каждый раз всё с нуля, без использования библиотек и фреймворков — будет очень и очень дорого. Вот поэтому, там где оно надо (космос, например, или военка) — там и оптимизируют. А в реальном мире пользователю важнее получить приложение за 1$ которое будет работать и на его телефоне, и на планшете, и даже на телевизоре…


    1. DrZlodberg
      20.09.2018 15:17

      Всё хорошо в меру. Только что попробовали открыть XML файл в пару сотен метров (не спрашивайте зачем) в 17 VisualStudio под десяткой. На относительно свежем компе с 4 пнём (хз какой именно) и 16ГБ оперативки. Через 15 минут грохнули не дождавшись его выхода из медитации.


      1. sopov
        20.09.2018 15:18

        А в FARе за сколько откроет?


        1. lieff
          20.09.2018 15:27

          Мгновенно, он умеет обрабатывать кусочками из произвольного места. Только colorer плагин будет в фоне с начала расцветку считать.


          1. QtRoS
            20.09.2018 22:48
            -2

            'кусочками' научно называется memory mapped files :)


            1. crozzle
              21.09.2018 17:14
              +1

              К словам придираетесь


              1. QtRoS
                21.09.2018 19:08

                Я не придираюсь — даю детали для потенциально заинтересовавшихся реализацией.


            1. sasha1024
              22.09.2018 02:22
              +1

              Мне кажется, memory mapped files тут мало при чём. Речь о том, что некоторые редакторы способны отображать файл, лишь распарсив его целиком, а некоторым достаточно распарсивания некоторых определённых частей (в т.ч. той, которая должна быть отображена в данный момент, т.к. находится в видимой на экране части документа). Memory mapped files тут в принципе можно применить, но, по-моему, не обязательно, обычных lseek/read вполне достаточно, разница скорее в алгоритмах, а не в lseek+read vs. mmap.


              1. IRainman
                22.09.2018 08:23

                Memory mapped files тут не просто можно, а обязательно ибо иначе будет больше вероятность лагов ;)


                1. popov654
                  22.09.2018 09:09
                  +1

                  Мне кажется, или в случае, если весь файл влезает в RAM (точнее даже не так, если все данные, необходимые парсеру/просмотрщику влезают в RAM), то это совершенно лишнее? Исходя из определения


                  1. IRainman
                    22.09.2018 10:41
                    +1

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


                    1. sasha1024
                      22.09.2018 10:54

                      Я так понимаю, в кэше будет не обязательно весь файл, а может быть часть файла (если он большой).
                      А что значит «но в память приложения данные придётся копировать»?
                      Upd.: А, всё, я кажется, понял. При read происходит перенос данных в уже выделенную пользователем память. При этом эта память уже контроллируется приложением, т.е. оптимизировать это каким-то ре'map'ингом страниц (или как там ОС это делать может) не выйдет.


                      1. IRainman
                        22.09.2018 12:15

                        Агу, именно так. Кроме того остаётся пусть и небольшой но оверхед на работу самих API файловой системой, а тут для приложения сразу доступен уже очищенный от всего связанного с ФС кусок памяти содержащий данные файла.


                        1. sasha1024
                          22.09.2018 12:23

                          Ну, оверхед на работу с файловой системой будет в любом случае — разве нет?


                          1. IRainman
                            22.09.2018 12:26

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


                            1. sasha1024
                              22.09.2018 12:28

                              Ну, на скорости это практически не сказывается.


                      1. IRainman
                        22.09.2018 12:20

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


                      1. sasha1024
                        22.09.2018 12:26
                        +1

                        По сути, благодаря mmap мы избегаем лишнего копирования данных из одного участка оперативной памяти в другой. Что достаточно быстрая операция. А основной затык тут не в mmap vs. lseek+read, а именно в алгоритмах, которые либо довольствуются малыми кусочками файла, либо заставляют вычитать с диска (нагрузка на диск) и распарсить (нагрузка на процессор и опять же таки оперативную память) значительный кусок файла или вообще весь файл.


                1. sasha1024
                  22.09.2018 10:29

                  Обосновать как-то сможете?


                1. gearbox
                  22.09.2018 12:45

                  редактор/ide отображает (при подсветке синтаксиса и прочих плюшках) не plain text (где да, memory mapping помог бы) а по сути AST дерево, которое надо где то хранить. И вот это AST во первых весит больше исходника, во вторых его еще создать надо — то есть распарсить весь исходник. vim худо бедно справляется потому что у него подсветка на регулярках, и она регулярно ломается.


                1. vikarti
                  22.09.2018 15:36

                  Похожий функционал был еще в некоторых DOS-приложениях (для просмотра БОЛЬШИХ изображений вроде растровых карт) а в DOS memory-mapped files не бывает. Руками можно все сделать. Сложно но можно.


                1. aamonster
                  23.09.2018 11:54

                  Memory mapped files — это просто немного удобства для программиста. Под CP/M-80 (в которой ещё не было не то что mmf — банальных file handles) текстовый редактор wordstar спокойно правил файл больше размера оперативки.


        1. DrZlodberg
          20.09.2018 16:13

          Не знаю, как фар, а блокнот++ открывает за <1сек.
          Вообще по опыту там дико тормозит подсветка кода, и такая беда не только там.


          1. AlexMt
            20.09.2018 19:00
            +1

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


            1. DrZlodberg
              21.09.2018 08:22

              Как раз в xml это проще простого. Токенов там мало и они все достаточно легко распознаются. Там не требуется делать разметку с корня, достаточно чуть отойти назад и найти начало любого токена. Проблема будет только с CDATA, но на него пофиг.


              1. AlexMt
                21.09.2018 17:30
                +1

                Возможно, но опять же имхо зависит от структуры xml, на моём текущем проекте xml, смёрженный из 5-10 xml может быть от 100-150 MiB и выше, как повезёт. В этом случае открытие файла в np++ становится мучением, как и работа с ним.


                1. DrZlodberg
                  22.09.2018 10:21

                  Раньше использовал EditPlus2 (не помню, почему отказался частично), до 50Мб он переваривал не морщась, больше не пробовал.


                  1. Ezhyg
                    23.09.2018 20:10

                    При открытии большой пачки файлов, пусть даже мелких, на сотню байт-пару килобайт, зависает на иногда до 5-10 секунд, на так и не посчитал каком по счёту файле, что-то после 120, но не всегда на одинаковом количестве. (вот сейчас проверил — завис, правда только на пару секунд, на 127-ом)

                    Я тоже отказался от него в больше части предыдущих операций и перешёл на AkelPad. Он оказался лучше Notepad++.


                    1. DrZlodberg
                      23.09.2018 20:45

                      Если не секрет, зачем нужно открывать 100+ файлов одновременно? А если какое-то однотипное массовое редактирование, то уж проще скриптами. Ну и пару сек — это не катастрофа. Многие редакторы один файл открывают дольше.


                      1. Ezhyg
                        24.09.2018 00:41

                        Пара секунд только сейчас, при открытии же «обычной пачки» из ~200-300 файлов — зависает на заметное время.

                        Для перевода делаю копию файлов. А им нужно иногда конвертирование между форматами (из Unix в Win) и изменение кодировки (последнее можно автоматизировать).
                        После покупки автором оригинала — огрызкобука, часть файлов он стал сохранять в формате Unix. Изредка он заменяет много файлов, бывают сбои синхронизации и резервного копирования. На самом деле такое редко нужно, но всё же бывало, такое приходилось делать массово.
                        Да, можно написать конвертер и я писал один (но только для смены кодировки), но он тоже не универсален, тем более учитывая, что иногда файлы для работы нельзя выделить из всей пачки :(.


                        1. khim
                          24.09.2018 01:49

                          Осталось понять чем вам perl-скрипт на 20 строк не угодил и зачем для конвертации вообще привлекать редактор.


                          1. Ezhyg
                            24.09.2018 03:23

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


                            1. khim
                              24.09.2018 04:30

                              А ещё, он делает только одно, довольно редко нужное действие, но не делает второе, самое важное конвертирование — смену кодировки.
                              Смену кодировки делает iconv.

                              А ещё, помимо самого скрипта, мне внезапно(!) понадобится интерпретатор — сам perl.
                              На любой современной Unix-системе он есть. А откуда у вас возьмутся файлы в Unix-кодировке если у вас нету Unix'а — для меня загадка.

                              В любом случае если такое происходит не один раз в жизни, то проще поставить CygWin, чем забивать гвозди микроскопом, если один раз — можно и потерпеть пока редактор эти файлы откроет…


                              1. Druu
                                24.09.2018 04:53

                                В любом случае если такое происходит не один раз в жизни, то проще поставить CygWin, чем забивать гвозди микроскопом

                                Забивание гвоздей микроскопом — это как раз куча мусора в системе в виде cygwin'ов, перлов и прочей ненужной гадости для решения одной задачи.


          1. vitaliy2
            22.09.2018 20:53

            Notepad++ не очень, т.?к. не предназначен даже для самого базового редактирования кода (не поддерживает Tab indent space align). Зато зачем-то поддерживает подсветку кода. Бред.


            1. DrZlodberg
              23.09.2018 20:46

              Подсветка кода сильно нужнее. Хотя выравнивание не помешало бы, есть такое.


              1. vitaliy2
                23.09.2018 23:19

                Но и подсветку значительно сложнее сделать. На несколько порядков.


      1. Vlad_IT
        20.09.2018 15:25

        Если отключить из редактора intellisence, подсветку синтаксиса, то вероятнее он откроется быстрее. Тот же sublime, если автоматом не поставит подсветку синтаксиса, то может открывать файлы в разы больше чем с подсветкой. Хотя Vim например и с подсветкой открывает достаточно шустро.


        1. DrZlodberg
          20.09.2018 16:14

          Блокнот++ открывает быстрее секунды с подсветкой. На самом деле там 2 проблемы
          1. подсветка. У многих она тормозит. У некоторых — безбожно.
          2. Весь файл в одну строку. Такая подстава многие редакторы ставит на колени. Как пример: PSPad с подсветкой справляется, а вот с однострочниками нет. Более того, там даже прокрутка будет безбожно тормозить (если вкл автоматический перенос)


          1. domix32
            21.09.2018 12:33

            Помнится перестал использовать PSPad после того как надоели постоянные падение при попытке открыть хотя бы метровый файл


            1. Azan
              21.09.2018 17:14

              Та же самая ситуация, сам по себе PSPad был отличным продуктом, но если бы не эти мелочи. Но зато я открыл для себя существование Notepad++ и Sublime Text


              1. vitaliy2
                22.09.2018 20:57

                Если бы ещё в Notepad++ можно было бы редактировать программный код. Туда зачем-то впихнули подсветку синтаксиса, а какой в этом толк, если всё-равно не поддерживает tab indent space alignment.


                1. sumanai
                  22.09.2018 21:01

                  tab indent space alignment

                  И это всё?


                1. IRainman
                  23.09.2018 13:51

                  Подсветка синтаксиса в Notepad++ полезна тем чтобы глаза не вытекали и чтобы можно было, например, скрипт для cmd отредактировать. А для редактирования кода и разработки есть IDE, её и необходимо использовать.


            1. DrZlodberg
              22.09.2018 10:11

              Странно. Сам активно им пользовался и падений особо не припомню. Отказался как раз из-за невозможности работы с большими однострочными файлами (дичайше тормозил). Но если файл порубить предварительно на строки — вполне норм. Для нарезки использовал EditPlus2, он без проблем пережевывал 50+метров (больше просто не пробовал)


              1. domix32
                22.09.2018 20:09

                Я в читерскую бытность частенько открывал непотребные файлы текстовыми редакторами. Переживали такое немногие. Это было году в 2004 в расцвет WinXP и тогда много чего под винды отваливалось по разным причинам.


        1. Goodkat
          20.09.2018 21:04

          Ну сделай ты подсветку синтаксиса отдельными потоком, чтобы не мешать пользователю пользоваться твоей программой.
          Сперва разработчики для iOS догадались (ОК, их заставили) переносить тяжёлые и долгие операции в фоновые потоки.
          За ними подтянулись разработчики для Android.
          А на десктопах всё так же по старинке всё одним потоком, последовательно — если у пользователя комп тормозит, то пусть купит себе новый, ага.


          1. sasha1024
            22.09.2018 12:03
            +1

            Интересно, за что Вас заминусовали…


          1. VolCh
            22.09.2018 13:16

            Ну у джетбрейнс парсинг отдельным потоком или процессом


            1. Goodkat
              22.09.2018 14:05

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


              1. freuser
                22.09.2018 21:18

                … с правами админа (десктоп), с доступом ко всем возможным действиям, нужным и ненужным, но пусть будут (мобайл)…

                Первое еще можно понять — сисадмин по своей лени выдал разработчику полные права для изменения либ и прочего, вот последний так же ленится релогаться туда-обратно и пишет под админом. Ваше право, возьмите да укажите в требованиях к установке полные права. Нееет, мы умолчим о том, что разработка у нас через одно место, а юзер пусть грешит на себя — то ли комп глючит, то ли ОС криво встала… Из последнего — надстройка Overwolf для TeamSpeak3: под юзером запускалась, все рисовала, но не коннектилась к ей же запущенному TS3.
                Порой доходит до абсурда — пользовался плагином EveryHTTPS, и на одном из сайтов сертификат был выдан на айпишник локалхоста, то есть у админа всё работало…


            1. aamonster
              23.09.2018 12:03

              Чтобы делать что-то в отдельном потоке — нужны на порядок более квалифицированные разработчики. Без этого ловим глюки и тормоза (потоки ждут друг друга — не раз наблюдал, как в несколько потоков оказывается медленннее, чем в 1).


        1. kalininmr
          22.09.2018 19:10

          да. vim почти всегда шустро.
          любопытно за счет чего


      1. OlegMax
        20.09.2018 18:08
        +6

        XML хороший пример, но в другом смысле. Среди читающих это есть некоторая доля программистов, некоторым из них приходилось парсить XML. Сколько из них пользовались XML DOM парсером, который по определению жрет память, а сколько гораздо более экономным XML SAX парсером? Вот то-то же, DOM настолько удобен для программиста, что в 99% процентов случаев ему прощали его цену. А из десятков таких нюансов и складывается общий оверхед.


        1. DrZlodberg
          21.09.2018 08:30

          На самом деле sax\dom — это фигня (хотя да, скорость там очень отличается). Недавно столкнулся с кодом, который на больших объёмах почему-то (только у клиента) дико тормозил. Практически экспоненциально! Т.е. для файлов в 100 кб вывод занимает секунд 10, а метр — уже к часу дело идёт. Начал разбираться. Оказалось файл формируется по шаблону, а шаблон тупо нарезается на блоки, из которых собирается файл. String.replace-ом. В итоге у разраба на машине с 16Гб оперативки всё работает, а вот у клиента с 2..4Гб моментально выжирается вся оперативка и дальше становится всё очень печально…


          1. aamonster
            23.09.2018 12:19
            +1

            Напомнило, как я в своё время всадил фееричную багу.
            После нескольких часов работы программа начинала тормозить. Причина: в ней было отладочное окошко с текстбоксом лога, в который я при обработке очередного блока данных добавлял точку (что-то тип dbgForm.textboxLog.Text.Append(".") — дело было на дельфях). Что с каждой точкой оказывалось всё медленней...


          1. evocatus
            23.09.2018 21:06

            В драйверах Qualcomm как-то нашли кусочек кода, где для того, чтобы найти максимум в массиве, его сортировали по неубыванию. Пузырьком.
            Это драйвер, т.е. критичный к производительности код. Для мобильных устройств. От Qualcomm.


        1. multiprogramm
          21.09.2018 12:14

          Абсолютно точно.
          То ли в 2014, то ли в 2015 у нас налоговая приняла законы, по которым XML-ины электронной отчётности по размеру стали допустимы до 10гб (вроде бы с изначального «копеечного» лимита 10-100мб), так все решения на DOM'ах очень красиво посыпались, когда пошли клиенты с громадными «контролируемыми сделками» и «книгами для ндс». Потому что DOM одной только памяти жрёт х10 от размера файла, и если раньше (100мб-1гб) на это закрывались глаза, то на 100гб глаза уже не закроешь, не говоря уже о платформе х86.
          Делал в те времена в системе электронной отчётности проект по уходу с DOM (легаси было крепко на него завязано, XPath и прочие плюшки активно использовались) на SAX в один пробег, с «эмуляцией» плюшек или обоснованным отказом от них — веселья было много. Теперь в резюме указываю тег XML, а на собеседованиях периодически посмеиваются, мол, что там знать-то, древовидная структура, теги/атрибуты и всё. Так-то оно да, но, как и в физическом мире, когда масса объекта пересекает определённые границы, проявляется много интересных эффектов, о которых даже не думаешь, щупая маленькие объекты.


          1. DrZlodberg
            22.09.2018 10:13

            Мы с этой проблемой лет на 10 раньше столкнулись. Объёмы тогда были не такие, но 50..100 метров на тех машинах тоже было не подарком.


        1. 0xd34df00d
          21.09.2018 20:00

          Однопроходный алгоритм в ленивом DOM-парсере вполне может быть O(1) по памяти.

          Да, я такое писал с одним из хаскелевских DOM-парсеров. Было очень удобно, приятно, естественно и эффективно.


          1. OlegMax
            21.09.2018 22:17

            Но это уже не DOM.


            1. 0xd34df00d
              21.09.2018 22:20
              +2

              Почему?


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


              1. DrZlodberg
                22.09.2018 10:19

                Это сильно зависит от структуры документа. Бывают форматы, где есть ссылки из начала в конец, т.е. для обработки самого начала уже надо иметь доступ ко всему файлу. И загружать его всё равно придётся полностью. Так что никакое О(1) не отменит того, что грузиться оно будет медленнее и памяти занимать сильно больше. Причём второе — бессмысленно, т.к. программы обычно всё-таки не работают с самим деревом, а просто загружают его в свою структуру просто дублируя данные.


                1. 0xd34df00d
                  22.09.2018 16:52

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

                  А вот если вам нужно посчитать, скажем, 0.95-персентиль по некоторым нодам в документе, это уже может быть болезненно, да.


                  1. DrZlodberg
                    23.09.2018 20:42

                    В смысле? Чтобы сохранить ссылку нужно сначала распарсить весь файл и найти, куда ссылаться, т.е. нужна доп логика над парсером. Проще sax-ом обработать в один проход. А ещё ссылки бывают не только вперёд, но и назад. DOM для того и нужен, чтобы работать с рандомным доступом, без этого смысла в нём нет.


                    1. 0xd34df00d
                      23.09.2018 21:47

                      Ну это уже от конкретной задачи зависит, так сферически в вакууме трудно обсуждать конструктивно, но смысл в том, что встретили ссылку вперёд — сохранили в список соответствующий предикат. Тогда вы будете O(n) по числу предикатов/ссылок, а не по всему объёму документа.

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


                      1. DrZlodberg
                        23.09.2018 22:10

                        Вот только вы, похоже, не учли один нюанс. В этом случае парсер(!) должен знать структуру конкретного файла, чтобы понимать, что является ссылкой, а что якорем. Что слегка убивает идею универсального псевдо-dom. Imho на этом этапе проще перейти к нормальному sax, это будет проще, чем морочиться со всей лишней логикой чтобы вкорячить сюда то, что тут не требуется. (троллейбус.jpg)


                        1. 0xd34df00d
                          24.09.2018 00:09

                          Зачем это парсеру знать? Парсер просто выдаёт ленивое дерево нод, знать это нужно вам, когда вы по этому дереву проходите.


                          1. Druu
                            24.09.2018 03:38
                            -1

                            Парсер просто выдаёт ленивое дерево нод

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


                            Вообще по такой логике можно любую задачу решить за О(1) — объявить что ф-я, которая делает то, что нужно, ленивая, и не запускается, т.к. оказывается не нужна.
                            В итоге можно мгновенно решать np-задачи.


              1. OlegMax
                22.09.2018 11:36
                +1

                Как был реализован IXMLDOMNode::parentNode?


                1. InterceptorTSK
                  22.09.2018 12:53

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


                  1. OlegMax
                    22.09.2018 13:07
                    +1

                    Но это уже не DOM.


                    1. InterceptorTSK
                      22.09.2018 15:31

                      Еще раз?) Давайте отвечу по-другому. Ему не нужная реализация полного дома. И вам не нужна) Она никому не нужна.
                      Человек отбросил лишнее, и алгоритмически оно у него полетело. При этом совместимость осталась.
                      В чем собственно проблема?

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

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

                      И кто так делает?) Никто. Потому что мозгов нет совершенно.
                      И поможет ли оно? Нет) Потому что нужно понимать из вороха узкозаточенных реализаций что они могут. А значит нужно все равно глубоко знать реализации. Так таких людей опять нет)

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


                      1. Druu
                        22.09.2018 15:37

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

                        Так а почему вы их еще не написали? Идите и пишите, вместо того чтобы в комментах говно обсуждать.


                1. 0xd34df00d
                  22.09.2018 16:53

                  Да чтоб я помнил, какой я библиотекой пользовался из тучи.

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


                  1. OlegMax
                    22.09.2018 18:16

                    Хм, библиотеку не помните, но уверены, что она обеспечивала O(1) по памяти? Звучит правдоподобно.


                    1. 0xd34df00d
                      22.09.2018 19:56

                      А вы помните все применённые вами библиотеки, языковые возможности и тому подобное в каждом нетривиальном случае 5-7 лет назад?

                      Достаточно помнить своё удивление, в конце концов, что ты просто написал код с DOM-стилем беготни по дереву, а он просто за счёт ленивости скомпилировался в O(1).


      1. Berkof
        21.09.2018 08:22

        Нелюблю аппл, но помню как хлопал в ладоши при подключении к клиенту пирса (файлообменник в Новосибе) с маковского Леонардо (или как-там) клиента, который сначала подключался, показывал чатик и позволял уже формировать запросы на поиск файлов, а в фоне отрисовывал всю чепуху с 30к пользователей онлайн… На старом компе под виндовым DC++ это занимало минуту, на новом — секунд 15… Даже оптимизировать ничего не надо, просто ненужную задачу выбросили в фон и нехай там хоть по 5 минут думает.


        1. trublast
          21.09.2018 18:14
          +1

          Или снимаешь галочку отображения списка клиентов в виндовом DC клиенте и получаешь тот же результат. При количестве пользователей в десятки тысяч этот список все равно смысла не имеет. Это не местечковый хаб с чатиком из начала 2000х, не нужен там этот список, там большая часть не люди, а приставки к ТВ.
          Я ещё и чат отключал. Запуск приложения и подключение к хабу — секунда, ну может две.


      1. serf
        21.09.2018 16:24

        А в vscode как на этом же файле? Это ведь vscode сейчас как раз модно и молодежно.


        1. EvilFox
          21.09.2018 16:38

          Лучше чем Sublime (возможно от версии зависит). У меня саблим долго грузил и падал на файле 131МБ, а vscode свободно открыл (предупредил о возможных тормозах и предложил отключить подсветку, я не стал этого делать и так норм работает, только памяти выжирает не мало) и в отличие от n++ сворачивал и разворачивал огромные ветки/узды без особых тормозов (в n++ они были минутами).


    1. muove
      20.09.2018 15:42

      нет не 1$, а блин 1$ + стоимость нового телефона за XYZKRE фантиков, потому что на старом это не работает.


      1. algotrader2013
        21.09.2018 11:00

        Именно так. Лично мне пришлось пару лет назад купить новый телефон, потому, что полностью устраивающий меня galaxy s2 открывал сообщение в скайпе за 30 секунд. К слову, прямо сейчас при наборе этого сообщения и пришедший ему на смену s6 подтормаживает. Неужто разрабы хабра тоже вирусом поражены?


        1. VolCh
          22.09.2018 14:08

          Редкие посты получают 1000+ комментариев.


          1. burzooom
            23.09.2018 15:36

            1000 комментов, каждый в среднем по 300 символов. Сколько это? 300 килобайт?


            1. VolCh
              23.09.2018 16:40

              Килобайты особо непричём, скорее дело в количестве Dom нод и т. п.


            1. evocatus
              23.09.2018 21:13

              600. UTF-8 же.


        1. masv
          23.09.2018 09:39

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


    1. novice2001
      20.09.2018 15:46
      +2

      А кто сказал, что сделать хорошее, быстрое и надежное приложение обязательно очень долго и очень дорого?
      Вот тот же Web. Да, если каждый раз с нуля переписывать все эти библиотеки и фреймворки, то конечно. Только нужны ли они на 99% сайтов? Веб — это информация, текст, таблицы, картинки. Для этого всего вообще не нужен ни js, ни всякие библиотеки/фреймворки. уберите бессмысленное и бесполезное украшательство — и веб начнет летать на самых убогих компьютерах.
      А там, где они нужны, как правило, хватило бы ресурсов и для написания «с нуля». Но незачем, ибо пипл и так хавает.


      1. Beyondtheclouds
        20.09.2018 16:51

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


        1. geisha
          20.09.2018 21:15

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


          1. Aingis
            21.09.2018 11:31

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


            1. w0den
              21.09.2018 12:17

              Недавний пример: Github.com отказывается от использования jQuery и переходит на чистый JavaScript.

              По словам разработчиков, процесс ухода с jQuery занял годы.


        1. w0den
          20.09.2018 21:23
          +4

          Я никогда не работал в больших корпорациях, поэтому хотелось бы узнать, почему, например, когда я открываю Facebook.com как неавторизованный пользователь, страница занимает 6.16 MB и браузер отправляет 65 запросов? Наверное, дело в том, что форма регистрации использует AJAX-запросы и там всё «очень сложно»?! Ну, достаточно открыть страницу авторизации с «обычной» формой и полюбоваться «оптимизацией» — 3.75 MB и 37 запросов. Также, например, «оптимизирована» и главная страница Twitter.com — никаких форм с AJAX-запросами, однако размеры страницы составляет 2.41 MB, и браузер отправляет 18 запросов.

          Забавно, что даже при редактировании файла на Github.com страница весит
          лишь 1.63 MB (а там ведь подсветка кода, AJAX-запросы, живой поиск, предпросмотр, и другие полезные функции).


          1. yarric
            20.09.2018 22:52
            +4

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


          1. SirEdvin
            20.09.2018 23:15

            Представьте сколько аналитики, поведенческих метрик и рекламы с вас собирают facebook и twitter.
            Ну и конкретно на facebook большинство запросов это статика. Как прикажите картинки то грузить?


            1. w0den
              21.09.2018 00:08
              +2

              На странице авторизации Facebook загружаются 6 картинок: два спрайта и 4 однопиксельных изображений. Общий размер картинок: 33.76 килобайт, когда страница занимает 3.75 мегабайт и это только для того чтобы отображать форму с двумя полями и одной кнопкой.

              Насчёт аналитики — даже Google Analytics и Яндекс.Метрика с Вебвизором вместе взятых не занимают больше 250 KB. Тут проблема не в аналитике, а в том, что разработчики банально не используют условные загрузки. По моему мнению, незачем загружать стили/скрипты комментариев, чата, списка друзей, редактирование профиля и других функций недоступны неавторизованных пользователей. Но, возможно это лишь мои иллюзии, ведь я не работал в крупных корпорациях.


              1. Yakud
                21.09.2018 11:26

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


                1. w0den
                  21.09.2018 12:12

                  А Вы точно веб-разработчик? Даже если Вы правы насчёт этой теории, это, мягко говоря, неправильно. Не говоря уже о том, что после авторизации, страница «нагревается» до 42 MB.

                  Заголовок спойлера


                  1. esc
                    21.09.2018 13:51

                    Почему это неправильно? Если для ФБ ценны в первую очередь те, кто пойдет авторизироваться или регистрироваться, то логично сделать удобнее именно им.

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


                    1. Alexeyslav
                      21.09.2018 14:07

                      Если пользователь РЕШИЛ зарегестрироваться, то его не остановят мегабайты первой странички. Может, в первый раз отпугнёт и он передумает но через день-два-неделю он обязательно вернётся и зарегистрируется.
                      К сожалению, сам на мобильном интернете очень многих постов и картинок просто не увидел — тупо не дождался их загрузки, дольше 10 секунд загрузки — это уже бесполезная трата времени и вещь уходит куда-то далеко в бесконечную ленту событий, возврат к которой в будущем маловероятен.


                    1. w0den
                      22.09.2018 00:08

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

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

                      Facebook и Twitter лишь примеры, но они далеко не единственные кто не допускают, что пользователь не будет использовать даже 10% функционала. Посмотрите, сколько ненужных стилей, скриптов и медиа файлов загружаются на веб-сайтах; какие права требуют простые приложения; какие спецэффекты используются, дабы рассказать какие «мы современные»; сколько шрифтов подключаются лишь, чтобы «показать красивое название сайта». Практически все с каждым днём «улучшают» свои программы и сайты, но, к сожалению, это происходит только в пресс-релизах.

                      Напоследок, хотелось бы напомнить, что даже js-файл размером в 1 MB это довольно много для сайта, где пользователи пишут и читают обычные посты. И, тем не менее, Вы хотите оправдать разработчиков, которые подключают десятки мегабайт JavaScript. Боюсь, я не могу согласиться с Вами, поэтому, прошу Вас, не вздумайте переходить на сторону зла!


                      1. esc
                        22.09.2018 00:29
                        +1

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

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

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

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

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

                        Но сервис вполне логично ставит интересы таких посетителей ниже тех, кто авторизацию пройдет.


                        1. popov654
                          22.09.2018 09:17
                          +1

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

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

                          А если вы почитаете, что люди пишут про скорость работы (что веб версии, что мобильного приложения в том же Google Play), то вы увидите, что негативных отзывов гораздо больше, чем позитивных (я правда читал только русскоязычные комментарии, но можно начать хотя бы с России как частного случая). Вы только вспомните: мобильное приложение фейсбука стало настолько тяжёлым, что из него выпилили мессенджер и выпустили отдельным приложением! А потом ещё выпустили Facebook Lite, к слову…


                          1. w0den
                            22.09.2018 13:07

                            Хотелось бы добавить, что лично я не считаю, что огромное количество денег и пользователей это показатель профессионализма. Скорее это говорит о том, что они хорошие бизнесмены и маркетологи.

                            Действительно, сверхпопулярные компании могут позволить себе очень многое. И если они изначально работают над привлечением новых пользователей, то став популярными, чаще всего в первую очередь они думают, как извлечь максимальную прибыль. Как монополисты они уверены, что пользователи никуда не убегут, а значит, они могут творить любую дичь. Правда, некоторые из них (например, IE, ICQ, MySpace, Yahoo) поплатились за это.


              1. xakep2011
                21.09.2018 16:44
                -1

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


          1. YemSalat
            21.09.2018 08:01

            Че-то вы загнули… 1.1МБ на странице авторизации ФБ

            Заголовок спойлера
            image


            1. w0den
              21.09.2018 09:07

              Chrome показывает размер сжатых данных. Активируйте «Use large request rows», чтобы увидеть реальный размер.

              Заголовок спойлера


              1. YemSalat
                21.09.2018 12:44

                А зачем оценивать «разжатые» данные?
                Это подмена понятий, ваш изначальный комментарий негодовал о:

                почему, например, когда я открываю Facebook.com как неавторизованный пользователь, страница занимает 6.16 MB и браузер отправляет 65 запросов


                Вам эти данные приходят в сжатом виде и весят никак не 6 с лишним мегов.
                1МБ нa страничку, учитывая шрифты/иконки/картинки — это более менее.
                Нa мобильной версии приходит около 300кб нa всю страницу.

                Так что не сгущайте краски.


                1. Ogra
                  21.09.2018 12:46
                  +1

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


                  1. justboris
                    22.09.2018 14:19

                    Вот именно, HTML/JS/CSS еще парсится и интерпретируется. Результат займет в памяти еще больше места.

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


                1. w0den
                  21.09.2018 13:02

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


                  1. YemSalat
                    21.09.2018 16:35
                    +1

                    Вы думаете, что все пользователи получают данные в сжатом виде?

                    У 99% браузеры поддерживают сжатие.

                    Или, что сжатие даётся пользователям даром

                    Да, почти даром.

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

                    Вот это ужe под вопросом. Возможно, как написали выше, они грузят что-то заранее, чтобы потом нe «лагало» и нe погружало ничего.


                    1. popov654
                      21.09.2018 17:02
                      +1

                      Даже если разжатие не сильно нагружает процессор (скорее всего, это так), память всё-таки критична. Например, у меня в телефоне браузер крашится, если веб-страница пытается съесть больше 12-13 мегабайт (с учётом графики, шрифтов и всего-всего). А тут в мобильной версии сколько, говорите, после разжатия будет? Уже мегабайта 2-3, а это ещё без фотографий и текстов. А когда пользователь залогинится — тогда самый трэш и начнётся. Там ещё и доп. стили и скрипты прилетят, и реклама с логикой её показа.


                      1. YemSalat
                        21.09.2018 18:54

                        Например, у меня в телефоне браузер крашится, если веб-страница пытается съесть больше 12-13 мегабайт

                        Он крашится если вкладка загружает больше 13 мегабайт? Чего? Диска или памяти?
                        Одни фотки сейчас весят по 2-3, если не больше. Может вам надо обновить телефон?


          1. esc
            21.09.2018 13:48
            +1

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

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


          1. serf
            21.09.2018 16:26

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


        1. DarthVictor
          21.09.2018 00:11
          +1

          Я много имел дело с реалиями вебразработки, но все же пикрелейтед — это дно.

          На пике первая загрузка гмейла в последней лисе.


          1. dartraiden
            21.09.2018 01:55
            +1

            Возможно, потому что в лисе нет поддержки ShadowDOM.


            1. DarthVictor
              21.09.2018 02:09

              Вполне возможно, в Хроме 6MiB.
              То есть полифил на 20MiB(!).


              1. dartraiden
                21.09.2018 02:11

                Но ведь это не вина гугла, что в Firefox не реализовали ShadowDOM v0 (точнее, пытались, но он пока страшно далёк от завершения, а пока реализовывали, сама спецификация v0 стала deprecated, так что силы брошены на ShadowDOM v1).


                1. Ogra
                  21.09.2018 05:11

                  Но ведь это не вина гугла, что в Firefox не реализовали ShadowDOM v0

                  Embrace, Extend, Extinguish нового поколения.


                1. DarthVictor
                  21.09.2018 10:26

                  Это либо вина либо менеджмента гугла в плохой поддержке браузеров с 10% рынка суммарно, либо разрабов которые пишут код на плохо полифилящихся технологиях, которые только один браузер поддерживает, либо и тех, и других.
                  А разгадка проста — из-за сильной интеграции с другими сервисами гугла, в первую очередь с андроидом, гмейлом пользуются все и писать они могут практически любой говнокод. Сравните даже хотя бы с яндексовой почтой.


                  1. srhbdv
                    21.09.2018 11:35

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

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

                    Во-вторых, гугл тем самым форсирует более быструю имплементацию стандартов у всех. И делает он это не впервые. Так было всегда. И если, словом говоря, не гугл, веб бы таки стоял на месте, как это было 10 лет назад, до появления хромиума. Казалось бы и конкуренты у IE были, и много и разных, а что-то ничего не двигалось. А как вдруг гугл показал, что и js можно и нужно джитить, и стандарты реализовывать можно быстро и развивать их тоже необходимо, так все засуетились.
                    Именно такой политикой хром и выбился в лидеры.
                    Именно такой политикой он и продолжает руководствоваться, и руководствоваться иной не обязан. Более того, совершенно не должен.


                    1. sumanai
                      21.09.2018 12:02
                      +2

                      Во-вторых, гугл тем самым форсирует более быструю имплементацию стандартов у всех.

                      Используя устаревшую версию стандарта? Согласен с первым утверждением, но второе не верно.


                    1. popov654
                      21.09.2018 17:09
                      +3

                      Да не стояло там ничего на месте. Во-первых, была прекрасная и весьма шустрая Опера (2004-2008 если берём). Во-вторых, Firefox был не так уж плох (хотя и медленней, но не медленней, чем IE, а ещё намного безопаснее и функциональнее). Так что конкуренты не просто были, они развивались. И IE тоже развивался. Вспомните 5.5 в Win2k, и сравните с 7.0 и 8.0. Совсем разные вещи


                      1. srhbdv
                        22.09.2018 04:03
                        +1

                        Что вы говорите? Я-то прекрасно помню те времена и тот почти 12ти летний застой в развитии стандартов, на ряду с полным мессивом в поддержке существующих. Мне приходилось все это поддерживать. А вот откуда вв можете все это помнить, если в те времена вам не было и 10 лет?
                        Рассказать вам сколько прошло между ES3 и ES5? А где ES4 делся не знаете случаем? А я знаю. А по спекам css, dom, и webapi, не хотите узнать когда они начали развиваться дальше тега marquee и blink? Напомнить вам с чьей инициативы популиризовали иистандиртизовали технологии позволяющие пилить ajax? Почему это был не его изобретатель державший на тот момент большую часть рынка браузеров, и успешно профукав свою позицию по причине того самого стояния на месте?


                        1. popov654
                          22.09.2018 09:24

                          Почему это был не его изобретатель

                          Изобретатель чего, AJAX?

                          Расскажите, это всё очень интересно. Мне тогда и в самом деле было 10-15 лет, и разработкой я тогда ещё не занимался, только читал книжки (года так с 2005-2006).

                          на ряду с полным месивом в поддержке существующих

                          Имхо, не было там особого месива. У меня до сих пор стоит учебник по JavaScript 2004 года издания на полке. Так вот, 60-70 процентов вещей, которые там описаны — кроссбраузерны на сто процентов (да-да, тот самый ES3). Остальное — в двух вариантах, для IE и для Firefox. Opera же, заняв очень мудрую позицию, часто поддерживала оба варианта (окей, не оба, почти всегда вариант IE; но начиная с момента, когда появился Хром, а в Хроме и Firefox подходы были более близки к друг другу и к стандарту — ситуация поменялась, и Opera стала делать как Chrome и Firefox, а синтаксис IE иногда поддерживался в придачу, «для совместимости» — как пример, свойство document.all, которого кроме IE нигде больше не было, а в Opera до версии 11.50 оно всё ещё работало).


                          1. Source
                            22.09.2018 20:18

                            Месиво всё-таки было и именно благодаря ему обрели популярность Prototype, MooTools и jQuery. Они брали на себя большую часть боли по поддержке особенностей браузеров. Отдельной историей было ещё и месиво с реализациями CSS.


                          1. srhbdv
                            22.09.2018 22:26

                            AJAX — это подход, а я говорил о технологии.
                            В стандарте в конечном счете она реализована посредством XHR, а первый прототип XHR появился в IE (Microsoft.XMLHTTP).

                            Имхо, не было там особого месива
                            Вы сильно заблуждаетесь.


                    1. Goodkat
                      22.09.2018 14:27

                      В лидеры Хром выбился благодаря монопольному положению Гугла на рынке поиска и агрессивному маркетингу.


                      1. srhbdv
                        22.09.2018 22:31

                        У IE было монопольное положение на рынке ОС (такое же, как у хрома на рынке поиска) и не менее агрессивный маркетинг. Дело не в этом. Хром на момент появления и в последствии действительно превосходил все, что было. Не смотря на то, что построен он был из уже существующих на тот момент компонентов. За исключением v8.


                        1. sumanai
                          23.09.2018 01:25

                          Хром на момент появления и в последствии действительно превосходил все, что было.

                          Не во всём и не для всех. У него как был дубовый, не настраиваемый интерфейс, так и остался.


                          1. ganqqwerty
                            23.09.2018 23:14

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


                            1. sumanai
                              23.09.2018 23:16

                              Просто большинству плевать, а на меньшинство плевать большинству.


                1. domix32
                  21.09.2018 12:42

                  Так его уже объявили deprecated


            1. popov654
              21.09.2018 17:04
              +2

              Вопрос — а нафига он вообще нужен? Без него интерфейс просмотра писем не сделать?


        1. novice2001
          21.09.2018 08:57
          +2

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


          1. Druu
            21.09.2018 12:15

            а не потому что необходимо.

            Если бы это не было необходимым, то простые сайты с текстом и картинками выигрывали бы в конкурентной борьбе, но мы наблюдаем обратную ситуацию — выигрывают те самые "большие проекты".


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


            Можете себе свой гипертекстовый фидонет замутить и там делать свои страницы с простым текстом и картинками. В вебе поезд ушел.


            1. novice2001
              21.09.2018 12:26
              +1

              Если бы это не было необходимым, то простые сайты с текстом и картинками выигрывали бы в конкурентной борьбе

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


              1. Druu
                21.09.2018 12:38
                +1

                Если бы были сайты с равноценным контентом, но в вариантах с рюшечками и без — то так бы и было.

                Так этих сайтов нет, потому что они проиграли конкурентную борьбу.


                А одной скорости для выигрыша в борьбе мало.

                Ну вот видите, вы сами ответили. Производительность должна быть достаточной, прирост производительности выше чем нужно — уже не дает никакой пользы. И если клиента устраивает производительность на уровне 1% от возможной, то ПО работающее на уровне этого 1% будет иметь конкурентное преимущество над тем, что работает на уровне 90%. Потому что пользователю на эту разницу плевать, а вот затраты на разработку — возрастут.


                1. novice2001
                  21.09.2018 13:14

                  Так этих сайтов нет, потому что они проиграли конкурентную борьбу.

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

                  Нет, просто вы меня поняли так, как хотели понять.
                  Дело не в том, что если сайт грузится за 10 секунд, то это нормально и быстрее не надо. Дело в том, что между сайтом за 10 секунд с хорошим контентом и сайтом за 1 секунду с плохим любой нормальный человек выберет первое. Зато между сайтами с хорошим контентом но загрузкой в 10 и 1 секунду — второе. Это не та разница, на которую можно наплевать.
                  И дело, кстати, не только в загрузке, но и в последующем скроллинге и т.п.


                  1. Druu
                    22.09.2018 05:08

                    Зато между сайтами с хорошим контентом но загрузкой в 10 и 1 секунду — второе.

                    Если бы это было так — мы бы видели в топе сайты с хорошим контентом и загрузкой в секунду. Но это не так.


                    а потому что современные монстры раньше были нормальными легкими и быстрыми сайтами

                    Но их потом взяли и специально сделали ненормальными, тяжелыми и медленными? Зачем? Заговор рептилоидов?
                    Я серьезно спрашиваю. Как вы объясняете этот парадокс?


                    1. popov654
                      22.09.2018 09:30

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

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


                    1. novice2001
                      22.09.2018 09:35

                      Тем, что модно и тем, что можно (в смысле «гляди, как мы могЁм»). Туда же и регулярные редизайны.
                      И не надо говорить, что «компании все просчитывают перед тем как сделать». Ярчайший пример эпик фейла — Кинопоиск 2.0. Просто если изменения не такие резкие, то пользователи просто потихоньку привыкают, но это вовсе не значит, что они в восторге от всего этого.


                      1. Druu
                        22.09.2018 09:39

                        Тем, что модно и тем, что можно (в смысле «гляди, как мы могЁм»). Туда же и регулярные редизайны.

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


                        1. novice2001
                          22.09.2018 09:46

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


                          1. Druu
                            22.09.2018 15:17

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

                            Почему-то успешным оказывается именно тот бизнес, которому так кажется. А которому не кажется — успешным не оказывается.
                            Видимо, "кажется" обоснованно, в итоге.


                            1. Am0ralist
                              23.09.2018 13:48

                              попытка ошибкой выжившего оправдать неверную логику?


                        1. ValdikSS
                          22.09.2018 10:29

                          Зачем бизнес в это деньги вкладывает, если это ничего не дает?
                          За 4 года Webmoney сделали редизайн, по-моему, 6 раз, или даже 7. Зачем — непонятно.


                        1. 0xd34df00d
                          22.09.2018 16:56

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

                          Конкретный манагер просто хочет выслужиться и иметь красивые слова для написания в отчётах, манагер этого манагера — 50-летний чувак, которому вообще уже на всё плевать, дайте до пенсии доработать, ну и так далее.


              1. popov654
                21.09.2018 17:11

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


                1. sumanai
                  21.09.2018 20:17

                  Имхо, никто не мешает публиковать хороший контент и быстрым сайтам без рюшечек

                  Толку то. Поисковики жалуют оригинальный контент, и по возможности определяют его и показывают выше. А до второй страницы гугла всё равно никто не доходит.


                  1. popov654
                    22.09.2018 09:33

                    Так не поиском единым. В том-то и дело, что даже очень хороших и красивых сайтов с рюшечками — больше чем на одну страницу выдачи, и на первую страницу все попасть не смогут. Кто-то всё равно проиграет в этой борьбе.

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


            1. 0xd34df00d
              21.09.2018 20:10
              +1

              Выигрывали бы при прочих равных.

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

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

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


              1. khim
                21.09.2018 21:04

                Гмейл выиграл не потому, что он свистит на компьютере пользователя.
                Как раз за счёт этого. В 2004м, когда он появился большая чем почты в браузере была на обычных формах и потому работала гораздо медленнее, чем AJAX-подобный GMail…

                Конечно в современных реалиях быстрого интернета и многомегабайтных страниц GMail'а разница невелика — но тогда GMail был меньше, а «обычная почта» — тормознее.


                1. 0xd34df00d
                  21.09.2018 21:12
                  +1

                  Я не пользовался им в 2004-м, но вот в 2006-м у меня уже был там инвайт, и я отчётливо помню, как именно и вокруг чего именно формировался хайп.


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


                  И оно не свистело. Оно было удобно и по делу.


                  1. khim
                    22.09.2018 06:03

                    И оно не свистело. Оно было удобно и по делу.
                    Так всегда бывает. Вначале добавляются фичи, которые реально удобны (AJAX позволил резко снизить задержки), а потом, через несколько лет — получаем монстра.

                    Во многом и Chrome был рождён из-за того, чтобы GMail-подобные сайты можно было писать не опасаясь добавить пару строк JavaScript'а… ну а потом, как и везде — оптмизаторы V8 упёрлись в возможности железа, а астронавты продолжили решать несуществующие проблемы…


                    1. popov654
                      22.09.2018 09:39

                      Так оптимизаторы упёрлись в попытках оптимизации. Вопрос, зачем было пихать столько фич и свистелок, чтобы это в итоге начало тормозить? Причём это вопрос не только к Хрому. А также к авторам всё новых и новых стандартов (которые часто сначала добавляли, потом выпиливали, потом снова добавляли спустя год уже в другой версии).

                      Только вспомнить, сколько всего редко используемого (и в целом опционального) было напихано: Flex, CSS Grid, WebSQL (на страницах MDN как-то осторожно пишут, что лучше этим не пользоваться, поскольку разработка стандарта была приостановлена на стадии драфта), SPDY/HTTP2, WebRTC, WebAudio с кучей фильтров, больше подходящих для работы со звуком в проф. аудиоредакторе типа Nuendo/Cubase, чем для применения на сайтах или в JS игрушках (который сначала добавили, потом убрали, потом снова добавили в сокращённом варианте, но только в Chrome, в Firefox не стали).


                      1. sumanai
                        22.09.2018 10:57

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


                        1. VolCh
                          22.09.2018 16:24

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


                        1. Sychuan
                          22.09.2018 17:49

                          Grid был бы полезным, но он лишь немногим лучше Flex и с более худшей поддержкой, позднее внедрён, поэтому да, сейчас не нужен

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


              1. Druu
                22.09.2018 05:10

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

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


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


                1. 0xd34df00d
                  22.09.2018 05:16

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


                  1. Druu
                    22.09.2018 05:33

                    Так эти примеры как раз и демонстрируют то, о чем я говорю.
                    Зачем бы кому-то делать новый дизайн реддита, если для этого нет причин? Значит, причины были.


                    1. 0xd34df00d
                      22.09.2018 06:23

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


            1. masv
              23.09.2018 10:10

              Переключил GMail почту на упрощённое HTML отображение. Грузится мгновенно. В отличии от стандартного интерфейса, для которого даже прогресс-бар загрузки в виде логотипа сделали.


              1. khim
                23.09.2018 16:07

                Это всегда так было. Даже в 2004м. Но раньше основной интерфейс, после загрузки, «летал». А теперь… увы…


        1. popov654
          21.09.2018 16:54
          +1

          Не скажите. Тот же ВК, например, если брать клиентскую часть — практически оригинальный продукт (до редизайна точно, да и после процентов на 70-80).


      1. michael_vostrikov
        20.09.2018 17:20

        Веб — это информация, текст, таблицы, картинки.

        Эм, нет. Веб — это добавление информации, текста, таблиц, картинок… А для этого нужен и js, и фреймворки, и на фронтенде, и на бэкенде. Предпросмотр нового коммента все-таки удобнее, чем перезагружать страницу отправкой формы и проверять как оно выглядит, не так ли?)


        1. Nimo_tsi
          20.09.2018 17:49

          Согласитесь, глупо подтягивать всю библиотеку jQuery, чтобы добавить анимацию меню или прокрутки.


          1. OlegMax
            20.09.2018 18:08
            +2

            Нет.


            1. popov654
              21.09.2018 17:14
              -1

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

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


              1. PsyHaSTe
                21.09.2018 17:58
                +1

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

                Откройте любую статью, посвещенную опенсорсу. Как там хорошо, что много глаз код просматривают и все такое… (заметите под ковер heartbleed). А потом разверните аргументы на 180* и получите перечень проблем, которые возникают от «всего своего». Начиная от качества этого «своего» и заканчивая временем нового разработчика для понимания.

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


                1. popov654
                  22.09.2018 09:52

                  При чём тут вообще крутость?

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

                  Надо просто писать без багов.

                  Начиная от качества этого «своего»

                  Зависит от того, кто и как реализует (и насколько ему интересно/приятно этим заниматься).

                  и заканчивая временем нового разработчика для понимания

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

                  чтобы сделать медленную

                  В том-то и дело, что как правило, это будет в 2-3 раза быстрее, чем на каком-то фреймворке/движке, как минимум из-за отсутствия лишней логики.

                  работающую только в пачке браузеров

                  Так надо писать так, чтобы работало во всех, а не в пачке! Где я за «пачку» агитировал?

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

                  Но с другой стороны, для старых браузеров можно использовать условно подключаемые полифилы, и результат будет надёжнее и предсказуемее, так как фреймворк неизвестно насколько большой совместимостью в сторону старых версий обладает, особенно если брать динозавров вроде IE 6-8 и новые версии JQuery. Причём даже если фреймворк обладает такой совместимостью, то вот плагины к нему (на примере того же JQuery) с вероятностью 99,9% — нет, и всё равно в старом браузере сайт сломается и будет нерабочим. Кроме того, в случае 90% проектов на совсем старые браузеры вроде IE до версии 9 можно вообще забить, поставив заглушку с просьбой обновиться.

                  Что до компактности, то из-за неё сложность исполнения кода браузером увеличивается если не на порядок, то в разы, также растёт и количество потребляемой памяти: например, известный факт что движки обычно работают с синтетическими объектами событий (заворачивая внутрь них обычные как одно из полей), оборачивают HTML элементы в специальные объекты, возвращая результаты из функций-селекторов, и так далее).


                  1. sumanai
                    22.09.2018 11:00

                    Надо просто писать без багов.

                    Так надо писать так, чтобы работало во всех, а не в пачке!

                    Как у вас всё просто. А чтобы быть здоровым и богатым, нужно зарабатывать много и не болеть?


                  1. VolCh
                    22.09.2018 16:31

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


          1. ScreamPassion
            20.09.2018 18:28
            +1

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


            1. SerafimArts
              21.09.2018 00:32
              +1

              Вот из-за подобных мыслей сайты и тормозят. Опытные разработчики возьмут и просто напишут нужный transition на css и добавят will-change для фонового пререндера и выноса этой анимации в отдельный слой, чтобы не перерисоывавать всё, когда что-то будет меняться. Это всё будет работать на GPU и не тратить процессорного времени и работать будет моментально, и не будет жрать лишнего, т.к. браузер знает что будет анимироваться, а что нет.

              А другой человек подумает, возьму я JQuery (который, к слову, давно уже пора закопать) и буду анимировать всё на нём. И конечно же будем вычислять каждый кадр каждого свойства каждой анимации на CPU, и каждый раз будем сбрасывать кеш всей страницы. Это ведь на порядок, как вы говорите, стабильнее. А на пользователей нам плевать.

              Верно я понял вашу мысль на тему «JQuery для анимаций»?


              1. PsyHaSTe
                21.09.2018 00:53
                +1

                Да я до сих пор помню свой проект, где я сделал на css необольшой аккордеон (я бекенд разработчик, которого на фронт сунули, не судите строго :) ). Потратил около недели, чтобы все красиво было, принес на ревью, мне сказали «шо эта, сложный цсс, я не понимаю. Мы пишем не write-only код, а цсс который занимается вычислениями это нонсенс! (там были calc-и для заголовков элементов в аккордеоне). Жду от тебя через 2 дня все переписанным на понятный js…

                Долго я там не проработал, но осадок остался…


                1. SerafimArts
                  21.09.2018 06:07

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

                  В любом случае визуализация должна быть на стороне css — это точно, а на JS уже бизнес-логика. Если ваш calc только для позиционирования элементов, то не вижу ничего страшного в этом, сам с недавнего времени начал активно его использовать и не понимаю теперь как жил без него.


                  1. verbaux
                    21.09.2018 11:44
                    -1

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


                    1. Barafu_Albino_Cheetah
                      22.09.2018 00:17

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


              1. ScreamPassion
                21.09.2018 10:52

                Не забывайте jQuery — это в первую очередь более-менее удобные селекторы, ну а во вторых, если следовать вашей логике, то сперва надо написать свою ОС, потом свой браузер, а уже потом если все таки жизни хватит, писать нормальную анимацию)


                1. SerafimArts
                  21.09.2018 15:05

                  А что по этому поводу говорит автор в статье? Тоже предлагает ОС свою написать?

                  Я привёл в пример всего лишь один из случаев, когда кто-то, не зная одного инструмента, но зная другой ненамеренно всё усложняет. По-этому весь софт и становится медленнее.

                  Конечно, есть и другие критерии. Например, дополнительные абстракции ради снижения сложности поддержки ПО. Как раз тот из вариантов, когда JQ можно использовать для селекторов. Хотя, лично я в этом вижу не слишком много смысла, благо 2018год на дворе и давно есть querySelector, но мнение имеет право на существование.


                  1. ScreamPassion
                    21.09.2018 15:12

                    Я бекенд программист, по этому лично для меня, написание нативных решений js, в любом случае подразумевает дополнительные затраты по времени. Автор предлагает улучшать все, где мы имеем счастье(и/или несчастье) работать, так почему бы (следуя этой логике) не начать с главного (ос), а потом уже про jquery поговорим отдельно…


                    1. SerafimArts
                      21.09.2018 15:33

                      Тут есть такая тонкая грань, где использование JQ обосновано, а где нет. Часто пишут велосипеды, вместо того, что бы использовать готовое, часто наоборот. Решать где нужно что-то писать с нуля, а где нет — опыт и зачастую чисто субъективное.


                    1. popov654
                      21.09.2018 17:19

                      по этому лично для меня, написание нативных решений js, в любом случае подразумевает дополнительные затраты по времени

                      Вы полагаете, изучить и научиться применять на практике такую большую библиотеку, как jQuery (пусть и не самую сложную из тех что есть), будет быстрее? Тут смотреть надо


                  1. 0xd34df00d
                    21.09.2018 20:14
                    +1

                    Автора в статье поведение OOM-киллера в линуксах удивило, так что я уже боюсь представить, что он там про ОС думает.


                1. popov654
                  21.09.2018 17:17

                  Но ведь удобные селекторы теперь есть из коробки с приходом querySelector и querySelectorAll в HTML5… Или jQuery умеет что-то ещё в этом плане?


                1. MrDaedra
                  21.09.2018 20:24

                  Тот же GitHub заменил jQuery на querySelectorAll и fetch с полифиллом.


          1. michael_vostrikov
            21.09.2018 10:08

            Ее обычно добавляют не для анимации, а для удобства работы с DOM. Действия с информацией предполагают работу с элементами интерфейса. Кто-то jQuery использует, кто-то Angular, совсем без js сложно обойтись.


        1. Wesha
          21.09.2018 00:07

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

          То есть в эпоху стамегабитного интернета Вам западло лишний раз "перезагрузить страницу отправкой формы"? Если уж Вам тяжело перещагружать страницу со 100500 комментариями — загрузите окно предварительного просмотра в iframe, наконец!


          1. sumanai
            21.09.2018 09:15

            iframe

            Который по сути отдельная страница, с кучей накладных расходов на её создание и поддержку.


          1. Ranwise
            21.09.2018 09:29

            на мобилках уже есть 100 Мбит?


            1. sumanai
              21.09.2018 09:37

              По WiFi у себя дома.


              1. saege5b
                21.09.2018 11:02

                С 10-50 соседями на каждом канале.
                Или, едва добиваещемуся 5 ГГц в соседнюю комнату.


                1. sumanai
                  21.09.2018 11:06

                  Я не говорил в квартире. Частный дом с участком в 6 соток позволяет вольготно использовать 2,4 ГГц.


            1. Asaelko
              21.09.2018 17:20

              В Москве и Петербурге до 139Мб/с выжимал на 4G+ с Йотой. В среднем 50-70 где-то в центре города.


          1. michael_vostrikov
            21.09.2018 10:00

            Ну у меня 400 КБ/c. Попробовал открыть страницу с этой статьей в приватном режиме, в первый раз 16 секунд, во второй 10. В этих условиях мне удобнее предпросмотр на js.

            Если на каждой странице будет по iframe со своей разметкой на каждое действие, то мне кажется ресурсов это будет занимать еще больше. Вместо 20 вкладок в памяти браузера будет 60-100. А если и нет, все равно это менее удобно, почему и стали делать на js.


        1. novice2001
          21.09.2018 09:08

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


          1. michael_vostrikov
            21.09.2018 10:22

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

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


            1. novice2001
              21.09.2018 11:43

              Я говорю о конкретной и при этом самой распространенной категории сайтов. Таких сайтов, которые были практически единственными на заре веба. Сайтов информационных, на которых контент генерирует только автор сайта. Где пользователь только просматривает его. Поэтому там не нужно ни форм с валидацией, ни прочего. Но где все это навешивается, потому что у 100500 других сайтов такое есть.
              В конце концов есть простое и абсолютно элементарное решение — кнопка или ссылка, по которой пользователь переходит на страницу, где вы можете хоть гигабайт жабаскрипта навешать. Хочет какой-то пользователь пострадать — пусть страдает. Не надо делать тормозные страницы, только из-за того, что кто-то захочет что-то прокомментировать.
              И даже на более интерактивных сайтах можно что-то такое придумать, чтобы страницы, где 99,99% пользователей только читают, не загружали весь мусор, необходимый для интерактивного взаимодействия.


              1. Sychuan
                21.09.2018 11:54

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

                Такие сайты никуда не делись. Вот пожалуйста, www.kurims.kyoto-u.ac.jp/~motizuki/top-english.html
                Или возьмите arxiv там все так как и было. Но фейсбук и хабр не могут быть как в 90-ых.


                1. novice2001
                  21.09.2018 12:03

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


              1. michael_vostrikov
                21.09.2018 12:33

                Я говорю о конкретной и при этом самой распространенной категории сайтов. Сайтов информационных, на которых контент генерирует только автор сайта.

                Таких сайтов сейчас практически нет. Интернет-магазины, соц-сети, веб-интерфейсы к сервисам типа почты — это самые распространенные категории, и везде есть функционал, который требует действий от пользователя. Даже на сайте газеты NY Times есть кнопки подписки, поиска, и подгрузка картинок при прокрутке. И как раз на популярных ресурсах перенос части обработки на клиент дает пользу.


                по которой пользователь переходит на страницу, где вы можете хоть гигабайт жабаскрипта навешать

                Ну вот это они и есть. Не хотите, не переходите) Вы предлагаете тратить в 2 раза больше денег и поддерживать 2 версии. Мало кто на это пойдет.


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


                1. novice2001
                  21.09.2018 13:05

                  Таких сайтов сейчас есть сколько угодно.
                  Модная подгрузка страницы при прокрутке — на самом деле одно из вреднейших извращений. Если раньше при использовании pagination я мог сразу перейти на 10-ю, 100-ю, да хоть на миллионную страницу, то теперь чтобы попасть на 100-ю мне нужно перелистать все 99 предыдущих. Мало того раньше первая и последняя страницы работали одинаково быстро, то теперь быстро (и то относительно) работает только первая, поскольку при подгрузке постепенно растет объем пожираемой памяти и тормоза.

                  Вы предлагаете тратить в 2 раза больше денег и поддерживать 2 версии

                  А зачем ее отдельно поддерживать? Если вы не будете лезть с ненужными никому кроме вас «улучшениями», то она может работать десятилетиями. В конце концов верстку вы можете иметь идентичной с интерактивной страницей.
                  Мне тоже не нравится тормознутость, но надо понимать, что у нее есть причины

                  У нее гораздо меньше рациональных причин, чем вам хочется думать.


                  1. michael_vostrikov
                    21.09.2018 14:27

                    Таких сайтов сейчас есть сколько угодно.

                    Примеры?


                    Модная подгрузка страницы при прокрутке

                    Я не писал "подгрузка страницы", я написал "подгрузка картинок". Это совсем не то, о чем вы говорите.


                    А зачем ее отдельно поддерживать?

                    У вас какое-то неправильное представление о том, как делаются веб-приложения. Если мы переименовали поле в базе данных с body на text, то и в обычном коде, и в коде "без скриптов" надо поменять условный output($news['body']) на output($news['text']). Если мы поменяли верстку шаблона интерактивной страницы для новости, то и верстку шаблона для страницы "без скриптов" надо менять, чтобы они были идентичные. Просто отключить скрипты не выйдет, вы можете в этом убедиться, отключив скрипты в браузере. Нужно предпринимать отдельные усилия, чтобы работало и так и так. Один и тот же шаблон использовать нельзя, потому что в одном шаблоне есть условная кнопка "Подписаться", а в другом нет. Либо каждый блок, требующий скриптов, оборачивать в проверку выводить или нет, и проверять, что при добавлении очередной кнопки в версии без кнопок ничего не поехало. И т.д. и т.п.


                    У нее гораздо меньше рациональных причин, чем вам хочется думать.

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


                    1. novice2001
                      21.09.2018 14:42

                      Примеры?

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

                      Это только при условии, что js служит не только для взаимодействия, но и для отрисовки. И да, вы меня тоже изначально неправильно поняли. Совсем необязательно иметь 2 визуально идентичных версии страницы, на одной из которых комментировать нельзя, а на другой можно. Есть смысл разделить функционал. Очевидно, что подавляющее большинство только читает, скажем, новости. Они получают легкую и быструю страницу без лишних скриптов с кнопкой/ссылкой «обсудить». И вот на этой странице делайте что хотите. Я не вижу смысла делать ее визуально похожей на первую страницу.
                      Так я причины из практики знаю. То, о чем вы говорите, требует дополнительных ресурсов при разработке.

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


                      1. michael_vostrikov
                        21.09.2018 16:27

                        Вики.

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


                        Они получают легкую и быструю страницу без лишних скриптов с кнопкой/ссылкой «обсудить». Я не вижу смысла делать ее визуально похожей на первую страницу.

                        Ну вот у нас и появилось 2 страницы вместо одной, да еще и с разной версткой. И почему вы все время про комменты говорите? Это был пример конкретно про Хабр, на других сайтах свои применения скриптов. Та же кнопка "Подписаться". Сделают так, как вы предлагаете, а потом будут жалобы от пользователей "почему у вас кнопку Подписаться не найти, вот сайте X она рядом со статьей, нажал и все".


                        Так это потому что вы и те, кто дает вам задание, мыслите именно в такой парадигме.

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


                        1. novice2001
                          21.09.2018 16:53

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

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

                          Это как? Откуда появляются при этом новые пользователи?
                          Так какие есть распространенные сайты, где все это есть, но можно убрать без проблем?

                          Я свои примеры привел. Давайте наоборот — приведите хотя бы один пример сайта где тонны js прямо необходимы.
                          Та же кнопка «Подписаться». Сделают так, как вы предлагаете, а потом будут жалобы от пользователей «почему у вас кнопку Подписаться не найти, вот сайте X она рядом со статьей, нажал и все».

                          По-видимому вы так и не поняли. Оставьте все необходимые кнопки, только сделайте их просто ссылками на соответствующие страницы — и все! Даже не на много, а на одну страницу.
                          Ну вот у нас и появилось 2 страницы вместо одной, да еще и с разной версткой.

                          И не говорите, это просто ужас. Ведь на второй странице нужно обязательно делать какой-нибудь крутой дизайн, а это сложно, дорого и бла-бла-бла.
                          Правда я сделал бы там дизайн в духе ya.ru (ага!), который стоит 3 копейки и не нуждается в поддержке. Но да, это же сейчас не модно…
                          Если на фреймворке прототип делается за час

                          Дак кто ж вам запрещает делать на фреймворке прототип? Сколько угодно. Но вот в продакшн — не надо…


                          1. PsyHaSTe
                            21.09.2018 18:00

                            И не говорите, это просто ужас. Ведь на второй странице нужно обязательно делать какой-нибудь крутой дизайн, а это сложно, дорого и бла-бла-бла.
                            Правда я сделал бы там дизайн в духе ya.ru (ага!), который стоит 3 копейки и не нуждается в поддержке. Но да, это же сейчас не модно…

                            Пользователям тоже будете сами объяснять, какой это крутой дизайн?


                            1. novice2001
                              22.09.2018 09:21

                              Ах вон оно как, т.е. это пользователи требуют от вас какого-то особого дизайна на сугубо функциональных страницах, а не вы сами хотите выпендриться с мегатоннами украшений и жабаскрипта…
                              Это очень странно, поскольку google.com миллиардам пользователей по-видимому вполне нравится. А там как раз дизайн вроде того, что предлагаю я.


                              1. PsyHaSTe
                                23.09.2018 04:13

                                Конечно пользователи. Я-то реализовываю то, что сказал продукт, а продукт анализирует как раз требования пользователей и «вон те чуваки прикрутили Х, и у них конверсия увеличилась, айда так же сделаем».


                          1. michael_vostrikov
                            21.09.2018 20:51

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

                            Из чего вы сделали такой вывод? Вы говорили про "распространенные сайты, где все это навешивается". Я попросил примеры. В Википедии это навешивается? Нет. Так какое отношение она имеет к разговору?


                            Я бы даже сказал, она подтверждает мои слова. Там не нужны скрипты, вот и не добавляют. А где добавляют, значит там они зачем-то нужны.


                            как раз сайтов со статической информацией вася-пупкин.рф опять же на порядки больше ваших сайтов

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


                            Это как? Откуда появляются при этом новые пользователи?

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


                            Я свои примеры привел. Давайте наоборот — приведите хотя бы один пример сайта где тонны js прямо необходимы.

                            Нет, не привели. Только про одну Википедию написали, которая ни при чем.
                            И давайте без демагогий. Я не говорил, что необходимы именно тонны js, я говорил, что в целом js и всякие библиотеки/фреймворки нужны. Но вообще https://docs.google.com неплохой пример.


                            Оставьте все необходимые кнопки, только сделайте их просто ссылками на соответствующие страницы — и все! Даже не на много, а на одну страницу.

                            "Я нажимаю кнопку Подписаться, а страница просто перезагружается. С остальными кнопками то же самое. Почините немедленно!". Ну и да, одна страница все равно требует меньше ресурсов (для разработки), чем две похожие. И зачастую разница гораздо больше, чем в 2 раза.


                            Правда я сделал бы там дизайн в духе ya.ru (ага!), который стоит 3 копейки и не нуждается в поддержке.

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


                            Но вот в продакшн — не надо

                            Вы думаете, для продакшена математика другая и там по волшебству дополнительные недели появляются?)


                            1. popov654
                              22.09.2018 09:59

                              Ну и да, одна страница все равно требует меньше ресурсов (для разработки), чем две похожие. И зачастую разница гораздо больше, чем в 2 раза.

                              Про сложность согласен, это важный фактор. Хотелось бы однако отметить, что есть техники, позволяющие обойтись всего одной страницей, и при этом обеспечить её полиморфное поведение. То есть она будет одинаково хорошо работать и при отключенном, и при включенном JS. Вы наверное об этом знаете. Ну да, в разработке это сложнее, и даже не в 2 раза. Зато у нас одна страница, работающая везде и у всех (даже в каких-нибудь мобильных Операх Мини), все правки централизованы в одном месте, разработчики заняты делом и получают повышенную зарплату за возросшую сложность. Классно же.


                    1. sumanai
                      21.09.2018 15:20

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

                      .come_block {
                          display:none;
                      }
                      body.has_js .come_block {
                          display:block;
                      }


                      1. michael_vostrikov
                        21.09.2018 16:34

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


                        1. popov654
                          21.09.2018 17:29

                          В обёртку — это как? come_block — Это и есть собственный класс в примере выше)


                          1. michael_vostrikov
                            21.09.2018 21:00

                            <button class="display_inline_block come_block"></button>

                            Ну если вы вот так сделаете, то верстка может поехать, там же display другой задан.


                            1. popov654
                              22.09.2018 10:01

                              А, не понял вас. Да, поехать теоретически может. Добавление/удаление каждой кнопки по-хорошему надо будет тестировать на обеих версиях. Я просто имел в виду, что класс самой кнопки останется без изменений, и правила для неё тоже.


                            1. sumanai
                              22.09.2018 11:04
                              +1

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

                              body.no_js .come_block {
                                  display:none;
                              }

                              И удалять класс no_js яваскриптом.


      1. VolCh
        22.09.2018 14:12

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


    1. Kodath
      20.09.2018 15:49

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


    1. springimport
      20.09.2018 16:20

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


    1. Massacre
      20.09.2018 16:31

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


      1. lubezniy
        21.09.2018 09:48

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


        1. solver
          21.09.2018 11:43
          +1

          Только вот большинство сайтиков никогда ни с кем не интегриуются…
          Но страдать пользователей от тормозов теоретической будущей интеграции заставляют уже сейчас.


          1. lubezniy
            21.09.2018 15:31

            Ну так совсем не обязательно реализовывать на клиентской стороне функции, не нужные браузерному приложению.


    1. DrPass
      20.09.2018 17:17
      +2

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


      1. yefrem
        20.09.2018 17:42
        -1

        Мы пользовались софтом, который [...] был значительно более функциональный

        это каким же?


        1. DrPass
          20.09.2018 18:06
          +13

          Да что угодно возьмите. Сравните функционал почтового клиента конца 1990-х годов и того, что в вашем телефоне. Сравните ваш просмотрщик электронных таблиц и Excel, который весил меньше, чем калькулятор у вас на телефоне.


        1. lorc
          20.09.2018 18:19
          +3

          Кстати да, Слак никогда не будет уметь того, что умеет kvirc, например.

          Мобильный софт — это вообще издевательство. Там количество фич только уменьшается. Старые гугл.карты (еще на Андроиде 2) умели трекать остановки транспорта. В новых появилась прекрасная фича «потряси телефон, если нашел ошибку», зато они перестали показывать таймлайн с остановками маршрутки. Хотя, вроде в этом году вернули эту фичу обратно…

          Атом (который редактор) в принципе не умеет того, что умеет мой emacs.

          Про новый скайп уже говорили.

          Даже в новом MSPaint потеряли какую-то фичу, которой многие пользовались в оригинальном приложении. Извините, не помню деталей.

          При желании, этот список можно продолжать еще долго.


          1. yefrem
            20.09.2018 19:01
            +2

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

            При желании, этот список можно продолжать еще долго.

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

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


            1. VolCh
              22.09.2018 18:04

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


            1. AlexPancho
              22.09.2018 18:26

              Вот пример одинакового: функционально Ексель97 и Ескель2016 если и отличаются, то как раз не существенно для 80% пользователей. Но скорость и качество работы… Про размер дистрибутива я вообще скромно умолчу.


          1. Simplevolk
            21.09.2018 09:32

            В новом скайпе я физически ощущал его сопротивление моей попытке напечатать сообщение…


          1. ashalaenko
            21.09.2018 17:13

            Я в этом плане грешу на интернет и распространение софта по сети. Раньше пользователь покупал физическую копию и если там обнаружиывался баг, то быстро доставить фикс было проблематично, что стимулировало больше времени тратить на тестирование, тестирование на различных архитектурах, стабилизацию и тд. Ведь бажный софт мог повлиять на репутацию компании. Это же касается игр. Сейчас, когда патч можно доставить за считанные минуты практически всем клиентам, наступила эра сырого софта (и игр в том числе). Принцип «лучшие qa — это наши пользователи» вышел на новый уровень. Репутационные проблемы решают пиарщики (вот вам фтболка и скидка на следующую версию). И вправду, зачем тратить время на глубокое тестирование и отшлифовку, если через 10 минут после релиза пользователи все сами напишут, и если, вдруг, у кого-то будут проблемы — мы сможем сразу им выкатить фикс. Это же позволяет выкатывать недоделанные фичи, доделаем следующим минорным релизом, а пока и mvp сойдет.


            1. Druu
              22.09.2018 05:44

              Ведь бажный софт мог повлиять на репутацию компании. Это же касается игр.

              Будто раньше в предел забагованных игор не выходило.


          1. Druu
            22.09.2018 05:42

            что умеет мой emacs.

            Только вы почему-то не упомянули что емакс тормозит ;)


        1. DarthVictor
          20.09.2018 18:46
          -2

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


          1. yefrem
            20.09.2018 19:07
            +1

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


            1. yarric
              20.09.2018 22:57

              за возможность играть в новую игру хоть каждый день

              А можно поподробнее, что в этом инновационного по сравнению с, к примеру, приставками из 90-х?


              1. shpaker
                21.09.2018 09:57

                Графен, не более. Механики мобильных игр крайне тупы. Плюс с тех пор как там продоминировал фри2плей так и вообще все маркеты сгнили.


              1. VolCh
                22.09.2018 18:07

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


                1. yarric
                  22.09.2018 18:14

                  На PlayStation уже шли игры на CD.


                1. khim
                  22.09.2018 19:43

                  И тем не менее, это можно было желать «хоть каждый день». Картриджи арендовались за небольшую сумму и киосков с ними было… достаточно.


                  1. VolCh
                    23.09.2018 16:43

                    По сути каждый день происходил апгрейд аппаратной части.


            1. DrPass
              20.09.2018 23:53
              +1

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


              1. SHadDim
                21.09.2018 15:18

                А AppStore и GoogleStore это не «издательство», это «средство доставки софта, которые имею приличную долю в финальноё стоимости софта» <_<


                1. DrPass
                  21.09.2018 15:31

                  В том-то и дело, что это всего лишь удобные магазины. Они не имеют вообще никакой доли в финальной стоимости софта и не претендуют на неё. Отличия от издательств тут колоссальные.
                  1. Вам не нужно убеждать магазин в том, чтобы он начал распространять ваш продукт. Зарегистрировались, выложили. А дальше уже покупатель голосует рублём/долларом/юанем.
                  2. Магазин не имеет никаких прав на ваш продукт, ни даже эксклюзивного права на распространение. Как вам больше нравится — так и распространяйте. Издательство же вас сожрёт с потрохами.
                  3. Магазин у вас не требует никакой финансовой доли в бизнесе. Он продал ваш софт — он взял свою комиссию, не продал, он ничего не потребовал. Насчет того, что комиссия большая, вопрос спорный. Сколько вам не жалко отдать денег посреднику за продажу вашего товара, которой без него вообще бы не было? Особенно если учесть, что тиражирование этого товара не стоит вообще ничего.


                  1. 0xd34df00d
                    21.09.2018 20:24

                    Они не имеют вообще никакой доли в финальной стоимости софта и не претендуют на неё.

                    И они даже не берут некоторый процент с продаж?

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

                    А зачем аппстору юридические эксклюзивные права, если 99.9% пользователей iOS не имеют других источников?


                    1. DrPass
                      22.09.2018 03:44

                      И они даже не берут некоторый процент с продаж?

                      Ну, на ваши расходы на создание продукта это уж точно никак не влияет. Согласитесь, факт, что магазин берёт свою наценку при продаже вашего товара, абсолютно естественен и логичен.
                      А зачем аппстору юридические эксклюзивные права, если 99.9% пользователей iOS не имеют других источников?

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


                      1. 0xd34df00d
                        22.09.2018 05:17

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

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


                        1. VolCh
                          22.09.2018 18:11

                          Скорее приносили бы больше прибыли. Процент не такой большой, чтобы снизив цену на него получить аналогичный процент роста продаж. Стоит сейчас приложение 0.99 или 9.99 — снижать цену на 10% смысла очень мало.


                          1. 0xd34df00d
                            22.09.2018 19:57

                            Так там вроде не 10% берут, а 30. И для уникальных нетривиальных приложений смысла действительно нет, а для какой-нибудь ерунды по 2.99 продавать её по 1.99 вместо этого — почему бы и нет?


                        1. DrPass
                          24.09.2018 01:38

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


          1. Sychuan
            20.09.2018 23:04
            +1

            Суперкомпьютер НАСА в 60-ые был именно, что только в НАСА. У обычных людей ничего такого не было и в помине. И вы бы не захотели платить ту цену за компьютеры и программы, которые были в 60-ые годы. И я почему-то уверен, что в ужасном «тяжелом» вебе сегодняшнего дня вы смотрите кино, качаете игры со стима, ориентируетесь по гуглокартам и так далее. Ну а если вам нужны супервозможности 60-ых годов, то никто от вас ничего не закрывает. Браузер Lynx, какая-нибудь Windows Xp и можно спокойно считать траетории полета на Луну


        1. Am0ralist
          20.09.2018 22:47

          Windows 98 в эпоху, когда сжатие инфы больно дорогим накладным расходом занимал 245 метров после выкидывания всяких справок. Офис 97, хм… 100 мб установщик? И по сколько там каждое приложение в отдельности занимало из всего пакета?
          Давайте, расскажите мне, что какая-нибудь приблуда на телефон, типа читалки сложнее этих программ при соизмеримом размере?
          Да даже программа эмуляции командной строки под винфон, которая умеет только в пару комманд — 16 мб. Эмулятор нескольких команд доса, блин, который занимал сколько килобайт на дискетке?


          1. srhbdv
            20.09.2018 23:04

            Не напомните, какой размер указателя в байтах был на windows 98, и каков он в «современных приблудах на телефоне», раз уж взялись мерить?

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


            1. khim
              21.09.2018 00:11
              +3

              Не напомните, какой размер указателя в байтах был на windows 98, и каков он в «современных приблудах на телефоне», раз уж взялись мерить?
              Припомню, да. 4 байта размер указателя в Windows 98 (сегмент 16 бит, смещение 16 бит), 4 байта сегодня (да, большинство приложения 32-битные до сих пор). И?

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


              1. srhbdv
                21.09.2018 00:15

                большинство приложения 32-битные до сих пор

                Это наглая ложь.


                1. khim
                  21.09.2018 01:35

                  Если это «наглая ложь», то вы, я думаю, сможете привести десяток популярных приложений без поддержки armeabi-v7a.

                  Я про существование таких знаю, могу даж пример привести. Целое одно приложение, вы не поверите.

                  Все остальные — либо ABI-agnostic (то есть там может быть любой поинтер), либо с поддержкой armeabi-v7a.

                  P.S. Да, я знаю, что в мире iOS всё не так — ну так это, опять-таки, чисто и исключительно хотелки чьи-то. То ли Тима Кука, то ли духа Стива Джобса, я не знаю. Никакой объективной необходимости в таком «форсированном» переходе на 64-бита нет и не было.


                  1. 0xd34df00d
                    21.09.2018 20:27

                    Я тут одну игру вспомнил, которая 16-20 гигабайт памяти жрёт только так. Интересно, как ей бы было с 32-битными указателями.

                    Хотя это десктопное всё, конечно.


                1. Massacre
                  21.09.2018 02:48

                  Конкретно для винды — вполне правда, это под линукс всё собирается, как правило, под битность дистрибутива, а так 64-bit only это, в основном, новые игры.


                  1. khim
                    21.09.2018 02:54

                    Речь шла про «современные приблуды на телефоне». Процент винды на телефонах — где-то под микроскопом нужно рассматривать.


              1. YemSalat
                21.09.2018 08:16

                Не расскажите — как именно с помощью вашего браузера создать табличку с формулами и посчитать что-нибудь в ней. Сделать каталог с книгами и найти там чего-нибудь? ...

                Гуглодокс и прочие веб приложухи.

                И не говорите мне что 97ой офис не тормозил нa компах того времени. Еще как тормозил. Ворд частенько падал при сохранении/загрузки нетривиальных документов, все они нe показывали контент при скролле и т.п.

                Попробуйте собрать себе старый комп с 98ой виндой и поработать под ним. Очень быстро захочется обратно в «тормозное будушее»


                1. Neznauy
                  21.09.2018 10:32
                  +1

                  А причем здесь «гуглодокс и прочие веб приложухи»? Это совершенно отдельные вещи, живущие на далеких гугловских серверах.
                  А бразуер, грубо говоря, парсит и генерирует http, и может открыть некоторые файлы для чтения.


                  1. srhbdv
                    21.09.2018 11:43
                    +1

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

                    И если вы тоже хотите в демагогию, в браузере есть целая IDE. Открываете about:blank и верстаете себе любого вида форматированный документ\интерактивную таблицу для подсчета чего угодно\каталог книг, не сложнее чем это делается в офисе, да даже хоть видеоплеер или фоторедактор. Сохраняете, пересылаете, печатаете, что хотите, то и делаете.


                    1. popov654
                      21.09.2018 17:45
                      +2

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

                      Как верно заметили выше, браузер только парсит HTML, применяет CSS и исполняет скрипты; в довесок он умеет определять геопозицию юзера, показывать картинки и сохранять их на диск, проигрывать аудио и видео (уже лет 7-8 как), выводить и подсвечивать в консоли JS код, а также исполнять пользовательский код прямо там же. Но это обстоятельство не позволит вам сделать электронную таблицу, сверстать книгу или статью, или сделать слайд-шоу. Для всего этого нужно облачное приложение — браузер же может его только исполнить. Некорректно говорить, что функционал, предоставленный этим приложением, предоставлен непосредственно браузером. С таким же успехом можно сказать, что мы обязаны всему JVM или компилятору (браузер по сути такой же JIT-компилятор/интерпретатор).


                      1. InterceptorTSK
                        21.09.2018 18:24

                        Еще большая глупость заключается в том, что то что может быть исполнено на юзерской тачьке в 100 раз быстрее — зачем-то сваливают на сервак. Это вообще верх идиотии.
                        А может и в 1000-100000 раз быстрее. Смотря что…


                        1. Neikist
                          21.09.2018 18:26

                          Вот ни разу. Откуда вы мощность машинки пользователя знаете? Может там i7, а может целерон. Или вообще какой нибудь андроид тысяч за 7-8.


                      1. YemSalat
                        21.09.2018 18:28

                        Через веб-приложение — да, но при чём тут браузер?

                        Ээ… А браузер без веба зачем нужен то вообще?


                        1. khim
                          21.09.2018 21:09
                          +1

                          Дык в этом и дело! MS Office — является весьма функциональным приложением, которым можно пользоваться самим по себе, без ничего, браузер же, по сути — «современный тонкий клиент»… и при этом мне безапелляционно заявляют, что он умеет больше чем офис…

                          P.S. Это если забыть про то, что начиная с MS Office 2000 в офис и «настоящий» браузер входит. Кокретно в MS Office 2000 — MS IE 5.0


                          1. srhbdv
                            22.09.2018 00:36

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


                            1. swelf
                              22.09.2018 00:52

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


                              1. srhbdv
                                22.09.2018 00:54

                                Я следовал поставленному ТЗ. Если мне понадобится больше возможностей, я это реализую с такой же легкостью.

                                Ты попытался сымитировать эксель
                                Это у вас в голове. Лечитесь. У меня не было задачи написать эксель. У меня была задача создать таблицу с формулами.

                                Продолжайте передергивать, мы с вами свяжемся.


                                1. swelf
                                  22.09.2018 01:29

                                  Я следовал поставленному ТЗ

                                  но ты же его провалил, ни одного пункта не реализовано, кроме простой части первого пункта, я ж говорю на листе мог бы посчитать и скинуть фото.
                                  1)Таблицы с формулами нет, только предзаданные вычисления
                                  2)Каталога с книгами нет
                                  3)Книги с картинками нет.

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

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


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


                                  1. srhbdv
                                    22.09.2018 03:19

                                    1)Таблицы с формулами нет, только предзаданные вычисления
                                    Они такие же «предзаданные», как ваши формулы в экселе. Чтобы изменить формулу расчетов в документе мне не нужно покидать пределов браузера, так же, как вам экселя. Или вам может еще показать как выглядит в экселе редактор макросов, например, чтобы вы перестали пугаться девтулзов?

                                    2)Каталога с книгами нет
                                    3)Книги с картинками нет.
                                    А вы мне что за это? Может мне вам еще вашей маме что-нибудь сверстать? Только конченный идиот может полагать, что подобное нельзя создать с помощью браузера. Особо забавно наблюдать, как в одних ветках люди уповают, что браузеры перегружены возможностями, а в других, эти самые возможности отрицают.

                                    когда 1 программа имеет функционал, а в другой необходимо руками реализовывать каждый конкретный случай, то спорно все же
                                    Я бы с удовольствием посмотрел, как вы реализуете каждый конкретный случай, с помощью офиса, без помощи рук. Ногами может, или силой мысли? А если для вас открытие, что верстка документов — это не мышевозюканье, то откройте для себя такие вещи, как, например, TeX. И строго говоря, ничто не мешает в браузере и мышевозюкать, если вам так это необходимо. Инструменты разработчика очень богаты функционалом.


                                    1. popov654
                                      22.09.2018 10:15

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

                                      У меня вопрос по существу вашего примера имеется. Код простой, но у меня он, однако же, не работает. Ошибка очень забавна: "document.querySelectorAll(...).forEach is not a function". Перед этим я заменил стрелочную функцию на обычную, так как моя версия Хрома стрелочные ещё не поддерживает. Но тем не менее подсчёт итоговой суммы не работает. Я так понимаю, querySelectorAll возвращает в моей версии не массив, а NodeList или что-то вроде того, и у этой сущности отстутствуют методы массивов. То есть надо делать Array.prototype.forEach.call(...). Вопрос, почему у Вас работает без этого?

                                      P.S. Не знал про темплейты, спасибо, теперь где-нибудь применю при случае :)


                                      1. mayorovp
                                        22.09.2018 14:13

                                        querySelectorAll всегда возвращает NodeList, но в новых версиях у NodeList тоже есть метод forEach


                                      1. srhbdv
                                        22.09.2018 22:11

                                        Потому что вы сидите на устаревших версиях браузеров.
                                        developer.mozilla.org/en-US/docs/Web/API/NodeList/forEach


                            1. Kwisatz
                              22.09.2018 14:14

                              Коллега, поверьте, вы практически носитель сакрального знания. Функции для манипулирования DOM сейчас практически забыты. А чтобы создать подобную страничку современному разработчику нужно подключить jquery, react, less, настроить сброку итд итп

                              ЗЫ foreach работает не везде


                      1. srhbdv
                        21.09.2018 20:04
                        -1

                        Смогу.

                        А глупость пишете вы, полную противоречий.

                        Меня сильно поражает, сколько тут людей, пытается меня(или себя?) убедить, что я в программе для работы со сверстанными динамическими документами — не смогу сверстать динамический документ.

                        не позволит вам сделать электронную таблицу, сверстать книгу или статью, или сделать слайд-шоу


                        Ну да. Какие еще статьи и слайд-шоу в браузерах. Где же это видано. Фантастика не меньше.


                        1. 0xd34df00d
                          21.09.2018 20:40
                          +1

                          Да и программа такая для этого не нужна, открываете командную строку, и copy con чётотам, и фигачите прям в машинных кодах.


                1. DrPass
                  21.09.2018 11:55

                  И не говорите мне что 97ой офис не тормозил нa компах того времени. Еще как тормозил.

                  На новом компе 1997-го (а это был бы Pentum 133+ с 16 Мб памяти и выше) года он работал адекватно, не тормозил. На компе 1999-го уже бы летал. Сложно сравнивать производительность тех лет с современной, т.к. тогда за год-полтора производительность вырастала в разы, а сейчас лет за пять процентов на сорок.


                  1. YemSalat
                    21.09.2018 18:30

                    О, ну на «новом компе 1997-го» любой дурак может…
                    У меня на новом компе 2018-го последний офис тожe не тормозит.


                    1. khim
                      21.09.2018 21:20
                      +1

                      У меня на новом компе 2018-го последний офис тожe не тормозит.
                      А вы в этом уверены? Или вам так кажется?

                      Поставьте себе MS Office 2000 (он на Archive.org доступен), поиграйтесь пару дней — и, внезапно, MS Office 2016 начнёт тормозить.

                      Мы просто забыли что бывают программы, которые не тормозят.

                      И я даже могу сказать когда это произошло: 1984й год, вот тот самый роликс молотком, являение GUI народу.

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

                      А вот появление GUI сделало «патоку» нормальной… но это, в общем, ощущалось как нечто временное: да, оно тормозит пока, но потом машинки станут мощнее, и будет как в рекламе — красивые окошки и реакция за 16.6ms…

                      Однако прошло 30 с лишним лет, а «патока» — по прежнему на экране. Только разработчики игр знают, что может быть по-другому…



                    1. DrPass
                      22.09.2018 03:25

                      У меня на новом компе 2018-го последний офис тожe не тормозит.

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


            1. Am0ralist
              21.09.2018 09:55

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

              То есть вы надстройкой над ОС сможете сделать больше задач, чем может ОС. Ну-ну.


              1. srhbdv
                21.09.2018 10:00

                Во-первых. Где вы взяли список, перечисленных вами, задач в моем посте? Сами придумали?

                Во-вторых перечисленное вами не может сделать ни одна ОС, без наличия соответсвующих драйверов на оборудование. Так при чем же тут ОС? «Ну-ну»


                1. Am0ralist
                  21.09.2018 10:41

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

                  Более того, а что может сделать ваш браузер БЕЗ сайтов, ну раз вы ОС отказываете в дровах, которые без нее работать и не могут? Ну или хотя бы без интернета? Что, оказывается, что бы гуглить код и смотреть ютубчики нужны не только браузер, а наличие сайта и интернета? То есть по факту, специально для этого написанные вещи? А сам по себе он что умеет? Ах, считай — ничего.

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


                  1. srhbdv
                    21.09.2018 11:47
                    +1

                    И без интернета, он может очень много. Как минимум то, что может офис — он может и без интернета. И даже больше.

                    А сам по себе он что умеет? Ах, считай — ничего.

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

                    Если вы не умеете пользоваться браузером. Это же не значит, что все не умеют, верно?


                    1. novice2001
                      21.09.2018 12:11

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


                      1. srhbdv
                        21.09.2018 12:18

                        У вас какое-то в корне неверное представление о мошенничестве.


                    1. Am0ralist
                      21.09.2018 12:34

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


                      1. srhbdv
                        21.09.2018 12:41

                        Может. Сколько платите?


                        1. Am0ralist
                          21.09.2018 13:30

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


                          1. srhbdv
                            21.09.2018 19:39

                            Тут нет никаких повышенных ставок. Я не должен вас бесплатно обучать и показывать вам наглядно то, в чем вы некомпетентны.

                            Будь то сверстанная таблица в браузере, или аналогичная таблица в чем-либо еще.

                            А вы крайне некомпетентны.


                            1. Am0ralist
                              21.09.2018 22:43

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


                        1. novice2001
                          21.09.2018 13:42
                          +1

                          У нас и доказательства есть, но они секретные, мы их не покажем


                        1. InterceptorTSK
                          21.09.2018 14:53

                          А причем тут плата?))
                          Договоритесь со знакомым Васей, он вам сделает Ворд, а вы ему Эксель) Можете обсудить стоимость. Только она не важна) Вы можете сделать друг-другу куски офиса скажем за мильярд долларов. Хватит? Но взаимозачет же. Он вам. Вы ему.
                          Только фишка же получается не в деньгах вовсе) Ни он ни вы абсолютно ничего не сделаете.
                          Выводы.

                          Причем тут фишка еще и в том, что тут совсем деньги ни при чом. Потому что вы и так знаете, что Вася вам ничего в итоге не сделает) А значит и вы не захотите. Смысла же нет.

                          Если вы ваш скил обратите в экономические бумашки — эти бумашки вообще ничего не будут стоить. Потому что вы ничего не можете вовсе) Потому что есть другие, которые могут. Которые сделают круче, быстрее и дешевле, а скорее всего вообще задаром.

                          И да, браузер тут вообще не нужен.


                          1. fukkit
                            21.09.2018 16:44

                            Договоритесь со знакомым Васей, он вам сделает Ворд, а вы ему Эксель) Можете обсудить стоимость. Только она не важна) Вы можете сделать друг-другу куски офиса скажем за мильярд долларов.

                            Идея богатая и в некоторых кругах весьма уважаемая. У каждого фигуранта в этом случае остается компания с миллиардным оборотом.
                            Остается отрастить бороду, подвернуть штаны — и на ICO, а того краше — на IPO.


                    1. popov654
                      21.09.2018 17:54

                      Отображать pdf

                      Только если стоит плагин от Adobe, либо, опять же, через JS расширение, написанное сторонним разработчиком (да, его иногда включают в поставку, но у меня даже нет уверенности, что его пишут те же люди, что сам браузер).

                      Предоставляет инструменты для их верстки.

                      Да, но это верно только для HTML, в какой-то другой формат экспорт сделать будет вряд ли возможно)

                      С помощью браузера и написанного на коленке скрипта, я могу p2p позвонить знакомому по webrtc, без всяких скайпов.

                      Окей, что-то такое анонсировали, как минимум в Mozilla. И как это сделать? Что для этого нужно знать, куда нажать и что куда ввести?

                      И делается это движением мизинца правой ноги.

                      Вы сильно утрируете. Хотя в целом такое и правда возможно, для создания веб-приложения не нужен сервер, можно работать и локально, и даже делать импорт/экспорт в файлы, и использовать прикольные штуки вроде Indexed DB, WebSQL и Local Storage.


                      1. srhbdv
                        21.09.2018 19:45

                        Только если стоит плагин от Adobe, либо, опять же, через JS расширение, написанное сторонним разработчиком (да, его иногда включают в поставку, но у меня даже нет уверенности, что его пишут те же люди, что сам браузер).


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

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


                        1. Am0ralist
                          21.09.2018 22:49

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


                          1. srhbdv
                            22.09.2018 00:07

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


                            1. Am0ralist
                              22.09.2018 09:58

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


                      1. srhbdv
                        21.09.2018 20:54

                        Да, но это верно только для HTML, в какой-то другой формат экспорт сделать будет вряд ли возможно)

                        Я сильно сомневаюсь, что ваш офис может сделать экспорт документа в psd, например. А мой браузер ваш документ прекрасно экспортирует в pdf.

                        Вы сильно утрируете.

                        Вы по всей видимости пропустили такой веселый челлендж - что-угодно в 30 строк на js — на хабре?
                        Ну вот вам как пример habr.com/post/202304


              1. srhbdv
                21.09.2018 10:03

                Ну и если вам угодно в демагогию, то пожалуйста, уже давно существуют ОС — boot2browser. В которых с помощью веб-браузера, можно решить все перечисленное вами. Удачи.


                1. bykvaadm
                  21.09.2018 13:10

                  и чем эта урезанная ОС, в которой есть только браузер отличается от концепции ос + браузер? сам браузер без ОС этого ничего не сможет


                  1. Alexeyslav
                    21.09.2018 14:09

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


                  1. VolCh
                    22.09.2018 18:20

                    Не помню у какого вендора, но уже встречал браузер без ОС, только БИОС.


                    1. IRainman
                      23.09.2018 13:57

                      Хромбуки от гуглы наверное?


                      1. VolCh
                        23.09.2018 16:57

                        Нет, имеется в виду обычные материнки какого-то вендора, с которыми можно серфить из биоса, без ОС на диске и вообще диска.


        1. Gordon01
          21.09.2018 10:25

          Все что было для windows mobile было гораздо функциональнее. SoftMaker Office — повторял функционал НАСТОЛЬНОЙ версии ms office на КПК. Почтовые клиенты тоже были такого уровня. Программы от Resco — тоже образцы невероятного функционала.
          При этом все это очень быстро работало на мобильных процессорах того времени (200-500 МГц), 64-128 МБ памяти.
          Но глючновато, винмобайл часто любил зависать наглухо.


          1. Alexeyslav
            21.09.2018 13:39

            Потребности людей с тех пор сильно уменьшились. Зачем на мобильном клиенте выбор кодировки письма? настройка mime-типов? способы кодирования вложений? Оно просто должно работать… причем без лишних заморочек — на мобильных девайсах возможность ввода и взаимодействия с приложением ограничена, а значит и многие функции становятся невостребованными.
            Кстати, а почтовые клиенты прошлого умели передавать файлы больше 100мб? а 10Гб? Сейчас это на уровне средних потребностей.


            1. DrPass
              21.09.2018 13:57
              +1

              Кстати, а почтовые клиенты прошлого умели передавать файлы больше 100мб? а 10Гб? Сейчас это на уровне средних потребностей.

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


              1. Alexeyslav
                21.09.2018 14:18

                Почему же? вот совсем недавно отправлял фото для печати в онлайн-сервис, почта… 5Гб. Приложил вложение вжууух и письмо ушло. Всё абсолютно прозрачно, никаких плясок с какими-то там файлообменниками, настройками FTP-клиента и т.п. всё делается автоматически сервисом. И, кстати, надо заметить никаких оверсайзов на 140% из-за BASE-64 кодирования вложения.
                Технологии вроде бы как не изменились, но пользовательский опыт — очень сильно.
                Почему, кстати, досихпор не видно отдельных нативных почтовых программ способных автоматически передавать большие файлы вложений через файлообменники?


                1. DrPass
                  21.09.2018 14:30

                  Почему же? вот совсем недавно отправлял фото для печати в онлайн-сервис, почта… 5Гб.

                  Ну а я так ни на одном из своих ящиков не смогу. И никто из тех пользователей, у кого нет специального корпоративного ящика с отсутствием лимита на вложения, так не сможет. Gmail сейчас имеет лимит на вложения 25 мегабайт. Mail.ru — 20 мегабайт. И подобные лимиты практически везде. У вас это редкое исключение, связанное с профессиональной деятельностью.
                  Почему, кстати, досихпор не видно отдельных нативных почтовых программ способных автоматически передавать большие файлы вложений через файлообменники?

                  Кстати, идея очень даже неплохая :)


                  1. Alexeyslav
                    21.09.2018 15:33

                    Нет, обычный GMAIL, и даже маилрушечка так умеет. Про яндекс не знаю, но наверняка и его уже научили. Конечно, они не гоняют письма по почтовым серверам — они для этого используют промежуточное хранилище и делают это совершенно прозрачно обходя ограничения почтовых серверов. Будь там даже 1Мб ограничение.


                    1. popov654
                      21.09.2018 17:59
                      +4

                      Так это делается совсем не так. Просто файл заливается на их собственный сервер, а к письму прикрепляется ссылка. Технически, будь такие компании с такими объёмами для хранения в 90-ые — это технически было бы возможно и в 90-ые. Тут нет какого-то особенного «ноу-хау» :)


                      1. Alexeyslav
                        21.09.2018 23:58

                        Так ведь фишка в том что это делается прозрачно для пользователя. У — удобство.


                        1. khim
                          22.09.2018 03:05

                          Вот только прозрачность эта — мнимая. Как вам уже ненавязчиво указали.

                          Да, если все вокруг пользуются GMail'ом и GDisk'ом — то это работает. Но шаг вправо, шаг влево… и нет больше прозрачности…


                1. SUA
                  21.09.2018 14:56

                  вот совсем недавно тоже отправлял сканы в обыкновенную корпоративную почту (банки — не «совсем безнадежные» должны быть по используемым технологиям)…
                  один робот мне ответил что их предел 25Мб,
                  второй — что 20,
                  один человек — «шлите все только в pdf, картинки не открою»
                  и двое — «приложенные ссылки гуглдиска не открываются, шлите только вложением»
                  и это при том что мобильный клиент гугла умеет напрямую с интернет-диска гугла же только ссылки шарить (хорошо что наоборот еще отключить не догадались — с приложения гуглдиска можно отправить письмо с вложением)
                  так что «вжжух и ушло» — это несмотря на 2018 ситуация до сих пор из серии «любой каприз за ваши деньги»


                  1. staticlab
                    23.09.2018 15:41
                    +1

                    банки — не «совсем безнадежные» должны быть по используемым технологиям

                    ИБ — информационная безопасность


                    «шлите все только в pdf, картинки не открою»

                    Скорее всего регламент.


                    «приложенные ссылки гуглдиска не открываются, шлите только вложением»

                    Google Drive запрещён как файлообменник.


            1. Am0ralist
              21.09.2018 14:06

              Кстати, а почтовые клиенты прошлого умели передавать файлы больше 100мб? а 10Гб? Сейчас это на уровне средних потребностей.
              Послать то они могли, только и сейчас на метрах 15-30 тебя входящий сервачок завернет очень часто. Используйте всякие сервисы для расшаривания файлов, говорят они.


              1. Alexeyslav
                21.09.2018 14:11

                Вот. Вы говорите именно о почтовом приложении, которое кроме POP3 и IMAP протоколов не знает ничего, но работает быстро. Собственно это ограничения не интернета а протокола и сети почтовых серверов.


            1. khim
              21.09.2018 14:07

              Но если потребности людей уменьшились, то почему потребности приложений увеличились?


              1. Alexeyslav
                21.09.2018 14:27

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


                1. sumanai
                  21.09.2018 15:23

                  Как будто список настроек оправдывает рост объёма приложений на сотни мегабайт.


                1. popov654
                  21.09.2018 18:02

                  Но разве так жить интересно? Это же деградация в чистом виде какая-то…

                  То есть пользователь, конечно, не обязан становиться разработчиком и даже админом. Но всё-таки… Хоть для себя-то какой-то кайф получить от того, что сделал, настроил, и оно заработало в итоге


                  1. SirEdvin
                    21.09.2018 18:18
                    +1

                    Столько много всего можно настроить, что чем меньше, тем лучше, на наш век все равно хватит.


                  1. Alexeyslav
                    22.09.2018 00:04

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


                  1. VolCh
                    22.09.2018 18:24

                    Не все от этого тащатся вообще, а некоторые раньше тащились, а теперь перестали. Я, например.


                  1. DrPass
                    24.09.2018 01:47

                    Хоть для себя-то какой-то кайф получить от того, что сделал, настроил, и оно заработало в итоге

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


    1. darthmaul
      20.09.2018 19:34
      -3

      Не надо многотысячных КБ для разработки софта, достаточно выкинуть «свистелки и перделки» из имеющегося. Замечательный пример — современный вэб. Что нужно для сайта? Ответ прост — HTML, CSS, PHP/Python, SQL — совместимая БД. Можно еще написать на JS несколько простейших функций для подтягивания контента без перезагрузки (тех же комментов). А все остальные мегабайты «нод джс», «джкверри», другие фреймворки и прочие кучи дерьма работают лишь ради «красивеньких» анимаций и прочих перделок.


      1. khim
        20.09.2018 20:14
        +9

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

        Люди, которые думают иначе либо не читали пресловутого секрета айберга, либо не до конца осознали его.

        Прицитирую самую важную часть:
        Вы знаете, что 90% айсберга находится под водой? Ну и с большинством программ то же самое – есть красивенький интерфейс, который занимает 10% работы и потом 90% программистской работы «за кулисами». И если вы примете во внимание, что около половины времени уходит на исправление ошибок, то на пользовательский интерфейс уходит только 5% работы. И если вы ограничиваете себя только визуальной частью интерфейса, картинками, которые показываются в PowerPoint, то мы говорим сейчас менее, чем об 1%.

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

        И, кстати, зря он програмисстов отделил. Они точно также считают. Я это понял, когда увидел фразу Есть еще Gerrit, который там как-то с этим борется, но интерфейс из 90х убивает все желание пользоваться этим. Речь шла об управлении VCS для программных проектов. Уж гиковей задачи быть не может. И… всё равно: пиксели — важнее.

        Кстати разработчики Gerrit'а отреагировали адекватно: последняя версия выкинула нафиг «устраевший» интерйес, который позволял мне с клавиатуры сделать то, что мне нужно за секунды. Теперь это «чудо природы» грузится многие секунды (иногда десятки секунд), глючит, но… зато у него теперь современный интерфейс! Победа!

        Автор статьи вообще не понимает, где причина, а где следствие: машину с потребелением топлива 1000 листров на 100 киломестров — никто не купит. А сайт, который теряет данные, будет пользоваться большей популярностью, чем сайт «с интерфейсом из 90х». Вот и всё. Вот и вся «тайна».

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

        Почему автор вообще к разработчикам обращается? Не в них ведь дело!


        1. engine9
          20.09.2018 20:44
          +1

          Тут, батенька, вот еще какое дело. Капитализм выращивает (нытик-фильм на 3 часа!) невежд, так как фрустрированному тревожному дураку проще все это барахло и скармливать.

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

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

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


          1. Neuromantix
            20.09.2018 21:07
            +3

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


            1. engine9
              20.09.2018 21:27
              +2

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

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


              1. Neuromantix
                20.09.2018 21:36
                -1

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


                1. khim
                  20.09.2018 21:53
                  +1

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

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

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


                1. Tantacula
                  20.09.2018 22:40

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

                  Как минимум мешает невозможность учесть все nullday эксплоиты, повышенные затраты времени и денег на усиленное тестирование (которое опять же не гарантирует 100% отсутствие багов, а лишь увеличивает вероятность их обнаружения) и тот факт, что значительная часть софта — это не изолированная вещь в себе, а программа, общающаяся со сторонними компонентами, которые часто меняются. Вы выпустили клиент для инстаграмма, а завтра фб объявил об изменении api или вовсе закрыл доступ к нему. Вы выпустили графический редактор с поддержкой всех существующих камер, а через неделю олимпус объявил о выходе 5 новых фотоаппаратов с новым форматом рав, либо конкурент встроил функцию новую, без которой ваш продукт стал неинтересен аудитории. Вы уже отчаялись и написали простой блокнот для айфона, а тут эппл решил отказаться от поддержки 32-битных приложений в новых версиях ios.


                  1. muon
                    21.09.2018 08:58

                    Как минимум мешает невозможность учесть все nullday эксплоиты, повышенные затраты времени и денег на усиленное тестирование
                    Это же противоречивое высказывание. Качественное тестирование (вместе с качественной разработкой) спасёт вас от null-day эксплойтов.
                    И не говорите, что это невозможно. Сколько дырок нашли в AS/400? В системах крутятся бухгалтерии космических масштабов, наверняка есть желающие их расковырять. И не расковыряли почему-то.
                    А разгадка проста: AS/400 делается для людей, которые умеют зарабатывать и считать большие деньги. А условный айфон — для закомплексованных потребителей, которые считают, что за новый телефон их сильнее будут уважать коллеги по опенспейсу. И новые сайты с 10-мегабайтными страницами — для них же, и будут посещать, потому что конформное поведение.


                    1. Tantacula
                      21.09.2018 18:24

                      И не говорите, что это невозможно. Сколько дырок нашли в AS/400? В системах крутятся бухгалтерии космических масштабов, наверняка есть желающие их расковырять. И не расковыряли почему-то.


                      Разгадка проще — вы либо не слышали об этих nullday уязвимостях (вы слышали о stuxnet, heartbleed или meltdown до их появления? насколько публично IBM вообще объявляет о своих уязвимостях? Или они всегда пишут идеальный код?), либо система представляет собой неуловимого Джо (экономически целесообразнее ломать конкурентов, либо другие компоненты системы, особенно если атака точечная).

                      Ну не может единоразовое тестирование системы никак закрыть все баги и уязвимости. Не с нынешними технологиями. В таких компаниях как google, facebook, microsoft тестирование включает в себя регулярно работающую bug bounty не потому, что они наняли идиотов разработчиков. Сколько лет прошло с момента запуска интелом уязвимой архитектуры и до момента обнаружения spectre/meltdown? Тоже скажете, что в интел дураки сидят?


                1. Alexeyslav
                  21.09.2018 10:59

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


                  1. vin2809
                    21.09.2018 15:33

                    Так может нужно сразу выпускать РАБОТАЮЩИЕ приложения, прошедшие тестирование. А не обновлять (читайте исправлять) «внутренние».


                    1. Alexeyslav
                      21.09.2018 23:36

                      Предлагаю попробовать прикинуть сколько надо ресурсов чтобы проверить простейшую программу которая складывает два 32-битных числа, а именно полный её тест. А потом приступить к надёжному тестированию более сложных программ. Без полного теста всех вариантов состояний программы и переходов между ними никакой гарантии отсутствия ошибок в программе быть не может.
                      А пока такие программы выходят в свет лишь в надежде что АЛУ процессора нас не подведёт, и как правило так и бывает. Но есть ньюанс…


                      1. 0xd34df00d
                        22.09.2018 00:03
                        +1

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

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


                        Хотя...


                        А пока такие программы выходят в свет лишь в надежде что АЛУ процессора нас не подведёт, и как правило так и бывает.

                        А, так вы на каждой целевой машине тестировать будете? Ну ладно.


                        1. Alexeyslav
                          22.09.2018 00:13

                          А как ещё можно доказать что программа действительно правильно складывает ЛЮБЫЕ числа? Целевые машины непричём — мы проверяем программу. Программа — черный ящик, она складывает числа. На входе два 32-битных числа, на выходе — результат. Нам надо убедится что программа работоспособна и правильно работает для любых чисел на входе. Сейчас мы просто предполагаем что такие простейшие операции не нуждаются в проверке и заранее считаем их валидными, но если такой уверенности нет? Механизм сложения, допустим, нетрадиционный и в нём проверяется множество условий. Каждая такая проверка увеличивает количество вариантов состояний которые надо проверить, и с ростом сложности программы оно растёт очень быстро. Даже для современного варианта «хелло-ворлда» количество состояний стремится к неприличной величине, и даже в такой программе может возникнуть сбой по вине операционки или скажем драйвера видеокарты.


                          1. 0xd34df00d
                            22.09.2018 00:20

                            Ну если у вас нетрадиционный вариант сложения, скажем, myplus, то вы берёте и пишете другую функцию, например,
                            myPlusEqualsPlus с типом (a, b : Int32) -> (myplus a b = a + b) (как говорит Карри-Говард, этот тип эквивалентен утверждению, что для любых a и b значение myplus a b равно значению a + b), пишете её реализацию (как говорит Карри-Говард пополам с теорией типов, реализация является доказательством соответствующего утверждения) и радуетесь жизни.


                            Правда, при написании доказательства от чёрноящиковости придётся доказаться.


                            Или не отказаться и использовать внутреннюю верификацию, тогда на внутренность myplus смотреть не нужно, но её сигнатура изменяется с myplus : (a, b : Int32) -> (c ** a + b = c). Зависимый тип-сумма, это всё.


                            Как, по-вашему, математики теоремы доказывают? Проверяют все возможные значения переменных?


                            1. Alexeyslav
                              22.09.2018 00:39

                              Масло масляное, в этом примере альтернативного сложения мы используем тот же АЛУ что и оригинальный вариант. Но вот допустим программа использует свою реализацию двоичного сложения чисел. Та что используетс в АЛУ проверена вдоль и поперёк и даёт гарантию что работает корректно(хотя вообще это утверждение нуждается в проверке, вдруг для какой-то пары чисел возникает сайд-эффект приводящий к неверному результату?) но мы должны проверить свой алгоритм. Эта задача в некоторой степени очевидна, но уже приводит к определённым трудностям и сложностям доказательства. Что будет с более сложными программами?
                              Ошибки в арифметике процессора в истории были, так что даже алгоритмы которые мы считаем надёжными на самом деле таковыми не являются и по большому счету даже такие элементарные вещи нуждаются в проверке и доказательствах.
                              Что касается доказательства корректности алгоритма, даже математически точное доказательство не даёт гарантии отсутствий ошибок в самом алгоритме. Ну да, алгоритм делает то что должен делать. Но то ли он делает что НАМ нужно?


                              1. 0xd34df00d
                                22.09.2018 01:08

                                Масло масляное, в этом примере альтернативного сложения мы используем тот же АЛУ что и оригинальный вариант.

                                Почему? Вы вольны использовать что угодно внутри myplus, главное — доказать, что оно ведёт себя как обычное сложение.


                                Что касается доказательства корректности алгоритма, даже математически точное доказательство не даёт гарантии отсутствий ошибок в самом алгоритме. Ну да, алгоритм делает то что должен делать. Но то ли он делает что НАМ нужно?

                                А это вопрос совсем другого уровня. Даёт ли вам теорема то, что нужно в данной конкретной прикладной задаче?


                              1. PsyHaSTe
                                22.09.2018 02:59

                                На википедии есть неплохая статья, советую ознакомиться: en.wikipedia.org/wiki/Formal_verification

                                И это не абстрактная хрень, так баги в реальном софте находят:

                                Btw, this bug was found while trying to prove soundnes of (an idealized version of) Mutex. Yay for formal methods :D


                                Более подробно можно почитать в блоге парня, который это нашел.


                                1. 0xd34df00d
                                  22.09.2018 05:20

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

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


                                  1. gearbox
                                    22.09.2018 12:52

                                    О, гомотопию приспособили таки к жизни :)


                            1. Druu
                              22.09.2018 06:05

                              А как доказать, что ваша система, проверяющая корректность доказательства, сама корректна?


                              1. 0xd34df00d
                                22.09.2018 06:25

                                А как доказать, что ваше доказательство теоремы ручкой на бумажке корректно?

                                А если чуть серьёзнее, вроде были всякие критерии, позволяющие в известном смысле извне верифицировать систему верификации. Но я эту тему пока особо не ковырял.

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


                                1. Druu
                                  22.09.2018 06:37

                                  А как доказать, что ваше доказательство теоремы ручкой на бумажке корректно?

                                  Как? :)


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

                                  С чего вы взяли что в компиляторе вашего языка с тактиками багов нет? :)


                                  1. 0xd34df00d
                                    22.09.2018 06:42

                                    Как? :)

                                    А я вот хз, как. Папиры публиковать, разве что, чтоб их другие читали.

                                    С чего вы взяли что в компиляторе вашего языка с тактиками багов нет? :)

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


                              1. gearbox
                                22.09.2018 12:58
                                +1

                                Druu — оставьте этот детский сад. Абсолютного доказательства не бывает, Гедель постарался. Но формальная верификация — она не про абсолютное доказательство. Начну издалека. Возьмем например криптографию — это наука о чем? Это наука о том как большой секрет сделать маленьким. Но избавиться от секрета полностью не получается. Вернемся теперь к верификации. Это наука о том как большую веру сделать маленькой. Если вы формально верифицировали код, то на выходе вам не надо ВЕРИТЬ в его корректность, достаточно ВЕРИТЬ в то что корректны аксиомы, на базе которых строилось доказательство И верны методы доказательства. Но доказать все и вся — не будет :)


                                1. Druu
                                  22.09.2018 15:22
                                  +1

                                  Если вы формально верифицировали код, то на выходе вам не надо ВЕРИТЬ в его корректность, достаточно ВЕРИТЬ в то что корректны аксиомы, на базе которых строилось доказательство И верны методы доказательства. Но доказать все и вся — не будет :)

                                  Ну если уж говорить о вере, то мы вообще сразу попадаем в область субъективного. Кто-то 100% покрытие тестами выдрочил и верит теперь, что все работает идеально.


                                  1. gonzazoid
                                    23.09.2018 00:53

                                    Что есть аксиома если не вера?


                                    1. Druu
                                      23.09.2018 03:45

                                      Аксиома — это просто гипотеза. Математика занимается поиском ответов на вопросы вида: "что, если Х?", при этом истинность Х (аксиомы) где-то за пределами исследования.
                                      Так что верить в аксиомы не требуется, можно даже быть уверенным в том, что они все ложны. С математической точки зрения это ничего не меняет.


                                1. 0xd34df00d
                                  22.09.2018 17:02

                                  Где-то тут потенциал для треда о философии математики и доказательства в математике чую я.


            1. bano-notit
              20.09.2018 22:43

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


              1. Cipper
                21.09.2018 09:55

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


                1. VolCh
                  22.09.2018 18:35

                  Не путайте прибыль с зарплатой/гонараром. Прибыль не гарантирована, это риски. А кушать хочется.


                1. bano-notit
                  22.09.2018 19:21

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

                  Новички же делают ещё больше гавнокода, даже если хотят сделать хорошо. Уровень их «нормальной работы» и моего говнокода различаются. Если бы всё, что делается сейчас «нами» делалось бы новичками…

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


            1. Cipper
              21.09.2018 09:29

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


              1. Neuromantix
                21.09.2018 09:56

                Похоже, основы капитализма многие изучали по журналу «Крокодил». При этом распрекрасные не-капиталистические страны вначале строились на крови и костях, а потом вообще передохли. Видимо рептилоиды помогли.


                1. senglory
                  22.09.2018 22:51
                  -1

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


                  1. Sychuan
                    23.09.2018 00:04

                    У капиталистических этих костей на порядки больше за сотни лет истории было

                    Какие ваши доказательства?
                    Ну и одно дело 15 век и 20-ый. Во времена огораживания вроде как процветал феодализм с лордами, королями и рыцарями


                    1. senglory
                      23.09.2018 02:25
                      -1

                      1. Вот из того, что находится на раз-два:

                      На вскидку, раз
                      На вскидку, два

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

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


                      1. PsyHaSTe
                        23.09.2018 03:41

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

                        Исследование показало, что все дыщащие воздухом люди умирали.


                        1. khim
                          23.09.2018 16:16
                          +1

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

                          И не надо про то, что «это были далёкие колоннии, о том, что там происходит никто не знал». Ирландия рядом с Англией всегда была, никуда не отплывала…


                          1. Druu
                            23.09.2018 16:24

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

                            Погодите, сколько всего существовало стран за последние 200 лет и сколько из них не были капиталистическими?


                            массовое уничтожение людей в других странах

                            То есть если в своей — то это ок?


                      1. Sychuan
                        23.09.2018 16:44

                        Вот из того, что находится на раз-два:

                        Меня интересовало утверждение
                        У капиталистических этих костей на порядки больше за сотни лет истории было

                        А не ссылка на голод в Бенгалии. И потом сравнить в относительных цифрах, чтобы было ясно видно. Коммунистические режимы убили 5% человек от общего числа проживавших на их территориях и территориях их сателитов, капиталистические страны убили 35% от от общего числа проживавших на их территориях и территориях их сателитов. Тогда все будет замечательно. Ну и опять таки хотелось бы рассматривать 20-ый век, когда уже можно точно определить, какие страны капиталистические, а какие нет. И посторонние факторы вроде феодальных завоеваний отсутствуют.


              1. Fracta1L
                21.09.2018 10:55

                А касаемо всё же не капитализма — там ведь принцип был иной, делалось многое для удобства «пользователя»

                Што, простите? Это в СССР многое делалось для удобства пользователя? А примеры можно увидеть? А то я сколько ни встречал советских изделий, начиная от мелких штучек типа посуды, и заканчивая заводами и жилыми домами — всё сделано через ЖОПЕНЬ, за очень редким исключением.


                1. Cipper
                  21.09.2018 11:04
                  -2

                  Вы как то не учитываете что вы судите мерой человека видевшего гораздо больше чем обыденный рабочий в СССР, жившего в свое время и в изолированной стране, но даже сейчас многие наработки используются в других странах и очень успешно, я уж промолчу что последние лет 30-35 страна не развивается вообще, если не больше. Смотрите шире и всё увидите


                  1. Fracta1L
                    21.09.2018 11:35

                    Т.е. создаваемое в СССР кажется удобством только тому, кто ничего лучше не видел из-за железного занавеса? Интересное определение удобства, очень такое своеобразное XD

                    последние лет 30-35 страна не развивается вообще

                    Если вы под развитием подразумеваете шагание строем в ногу в сторону очередной «великой цели», то да, не развивается, и нафиг бы оно упало, такое «развитие».


                  1. Mabusius
                    21.09.2018 16:51

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


                1. Sychuan
                  21.09.2018 11:49

                  А как же самое вкусное мороженное! (сарказм)


                  1. vin2809
                    21.09.2018 15:57

                    Кстати, действительно самое вкусное. И колбаса была из мяса… (Это не сарказм).


                    1. PsyHaSTe
                      21.09.2018 16:01

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


            1. Simplevolk
              21.09.2018 09:45

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

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


              1. Neuromantix
                21.09.2018 10:01

                Скорость получения прибыли важна не для капиталистов, а для местного бизнеса, Пелевиным описанного в Генерэйшн Пи. Отсюда же и все разговоры вокруг «убыточности» предприятий Маска, Безоса и тп. Это только в воспаленном мозгу российского псевдо-бизнеса может быть идея «хапать, пока не замели, не развалилось и водка не кончилась».


                1. vs_starosta
                  22.09.2018 12:57

                  А прекрасному эльфу капиталисту нужна прибыль не здесь и сейчас? Или биржевые рОботы создаются с целью эстетического удовольствия? Или после каждой презентации родстеров в космосе не меняется цена акций?


                  1. Neuromantix
                    22.09.2018 13:34

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


                    1. senglory
                      22.09.2018 22:57

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


                      Вот что пишут люди из самого сердца мира наживы и чистогана
                      На бизнес-встрече представителей венчурного капитала с «господами учеными» инвесторы, то есть те, кто реально финансирует прикладные исследования, на пальцах объясняли некоторые прописные истины. К примеру, одним из первых тезисов был таков: We do not need cure, we need treatment.


                      Это как, «нормальные условия»? Или капитализм какой-то неправильный, цветов радужных?


                      1. Sychuan
                        23.09.2018 00:17

                        Какой-то чувак в ЖЖ, написал про каких-то неизвестных чуваков где-то неизвестно где. О да. После такого могучего аргумента пора всем обратится в коммунизм. Ну а в реальном мире, лекарство от гепатита C было наконец изобретено пару лет назад. Хотя казалось бы, ситуация до этого фармкомпании отлично устраивала. Я уж не говорю о генетических лекарствах, которые сейчас горячая тема. Вот уж где можно было бы собирать деньги за тритмент десятки лет


                        1. senglory
                          23.09.2018 01:27

                          Какой-то чувак в ЖЖ


                          «Какой-то чувак в ЖЖ» уже 22 года живет и работает в Университете Нью-Йорка биохимиком и профессором. Зовут его Виталий Эпштейн.

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

                          лекарство от гепатита C было наконец изобретено пару лет назад.


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

                          Я уж не говорю о генетических лекарствах, которые сейчас горячая тема.


                          … и с эффективностью работы которых пока что как с УТС — вроде движемся, но сильно медленнее, чем нужно. А вот пиара и понтов — выше Эвереста.


                          1. 0xd34df00d
                            23.09.2018 22:01
                            +2

                            А вот что стоило бы (мечты, мечты) — так это иметь инструмент давления на всех этих «инвесторов» чтобы, например, разработке новых антибиотиков они бы уделили финансирование в таком же объеме, что они тратят на цитостатики.

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

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


                      1. 0xd34df00d
                        23.09.2018 21:59

                        Это как, «нормальные условия»? Или капитализм какой-то неправильный, цветов радужных?

                        Если знать английский немножко за пределами ландан из зе кэпитал оф грейт британ, то становятся ясны некоторые коннотации. Cure — это полное исцеление, treatment — в том числе, достаточное поддержание качества жизни. Ничего о стоимости тут нет. Более того, стоимость этого cure может быть 100500 денег за раз, а treatment — 100 за 1000 необходимых доз. И не очень понятно, почему второе безусловно хуже первого. А, не безусловно? Ну, значит, додумывание, как всегда.

                        Придумывают все эти лекарства в основном почему-то кляты капиталисты.


                        1. senglory
                          23.09.2018 23:49
                          +1

                          И не очень понятно, почему второе безусловно хуже первого


                          Что тут непонятного? Вылечивание — это точка в истории болезни, а tretament — это деньги, вытягиваемые зачастую пожизненно. При таком раскладе тот, кто поставляет препараты, становится просто на сторону заболевания, а не пациента. Что неясно-то?


                          1. 0xd34df00d
                            24.09.2018 00:12

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

                            Я привёл пример, когда исцеление — это, конечно, точка, но нереализуемая.

                            Если у меня будет выбор, платить за лечение пипецомы 100 денег в месяц или 100500 единоразово, я скорее выберу первое, потому что 100500 единоразово у меня нет, а кредит людям на смертельные пипецомы выдавать — довольно рисковано.

                            И, кстати, жить я буду вряд ли больше 83 лет, так что это даже финансово выгодно.

                            При таком раскладе тот, кто поставляет препараты, становится просто на сторону заболевания, а не пациента.

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


          1. Tantacula
            20.09.2018 22:19
            -1

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


          1. Am0ralist
            20.09.2018 22:53

            . Капитализм выращивает (нытик-фильм на 3 часа!) невежд,
            Извиняюсь, но фильм начался с фразы про «30 лет реформирования» и меня уже с нее бомбит, если честно. Ну потому что бред…
            Как человек, который по семейным, дружеским и жизненным причинам был долгое время связан с оным.


        1. Xandrmoro
          20.09.2018 21:47

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


          1. khim
            20.09.2018 21:54

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


            1. yarric
              20.09.2018 23:05
              +1

              Игры с рисованием красивых пикселей нормально справлялись ещё в 90х — на компах, которые сейчас даже свежую винду не потянут (интерфейс которой выглядит примитивнее, чем у старой винды). Фейл по всем фронтам: даже красивые пиксели рисовать ниасилили, на четырёхядерных процах на 2 ГГц.


              1. khim
                21.09.2018 00:20
                +1

                Те игры, о которых вы говорите разрабатывались месяцами, иногда — годами. А современные тяп-ляп сайты создаются на дни, иногда за часы…

                И если люди отказываются пользоваться интерфейсом 90х, а требуют продуктов в стиле Windows 10 (или в «материальном дизайне»), то, стало быть, цель достигнута.

                Что там сказал бы Роден на тему этих интерфейсов — неважно…


                1. SerafimArts
                  21.09.2018 00:39

                  И если люди отказываются пользоваться интерфейсом 90х, а требуют продуктов в стиле Windows 10 (или в «материальном дизайне»), то, стало быть, цель достигнута.


                  Начнём с того, что использовать Windows 10 пользователей просто вынуждают. Лично я на свой компьютер 7ку или более ранние версии просто физически не могу поставить. Начиная с того, что там не работает Docker, заканчивая тем, что то ли процессор (i7 7600k), то ли оперативка (DDR4) несовместима и из-за этого вылетает синий экран при установке. Интерфейс у 10ки неприятный и отталкивающий, а в более ранних версиях вообще отвратный. Глаза кровоточили, когда видел иконки не по гайдлаинам (в свой время занимался вёрсткой и получал люлей от дизайнера, если где-то какой-то пиксель вылезал).


                  1. Neikist
                    21.09.2018 07:26
                    +1

                    Хм, а мне десятка нравится. Управление окнами удобное, иконки (да и вообще дизайн), по моим ощущениям поживее шевелится на удивление.


                    1. popov654
                      21.09.2018 18:22
                      +1

                      Управление окнами удобное

                      Чем оно хуже в семёрке?)
                      по моим ощущениям поживее шевелится на удивление

                      А по моим дико тормозит. По крайней мере в виртуальной машине. Версия 1609 ещё кое-как ворочалась, после апдейта до 1803 — это просто слайдшоу с загрузкой по 7-8 минут.


                      1. Am0ralist
                        21.09.2018 22:55

                        Чем оно хуже в семёрке?)
                        больше вариантов, что с окном приложения можно сделать с помощью шорткатов (посмотрите, как они меняются от версии к версии).


                      1. PsyHaSTe
                        22.09.2018 03:04

                        Один из крупнейших плюсов — если приложение вдруг сдохло (такое бывает), игра например, затащив с собой весь UI, то в семерке была старая проблема, что даже если открыть диспетчер устройств, то игра рисуется поверх и её не прибить. Раньше приходилось через ctrl+alt+delete попадать на страницу прользователя и делать logout. Хоть не полная перезагрузка, так сказать. В десятке сдохшее приложение можно перенести на другой виртуальный рабоий стол, спокойно открыть диспетчер и прибивать надоедливую фигню. Очень удобно и не раз пригождалось.


                        1. vis_inet
                          22.09.2018 21:34

                          Кажется, что это достаточно нечастая потребность


                          1. PsyHaSTe
                            22.09.2018 23:08

                            Ну раз в месяц где-то стабильно появляется.


                            1. vis_inet
                              23.09.2018 15:32

                              Нечасто…
                              А в целом насколько удобнее чем Win7?


                              1. PsyHaSTe
                                23.09.2018 16:43

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

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

                                Ну а в целом это та же семерка, только с небольшими бонусами вроде перечисленных + напирмер красивый слайд-шоу скринсейвера. То есть все ровно то же самое, глобально внешне ничего не поменяли.


                                1. sumanai
                                  23.09.2018 17:12

                                  Больше софта ставится из коробки.

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


                                  1. PsyHaSTe
                                    23.09.2018 21:35

                                    Под софтом я имею ввиду драйверы. Всякие принтеры/вайфаи/мышки/… определяются намного бодрее. WSL опять же.


                                    1. sumanai
                                      23.09.2018 23:15

                                      Нестандартная трактовка. Так то да, я не против драйверов. Хотя как по мне, лучше иметь варинат их загрузки из сети.
                                      Но всё таки именно ненужных программ в десятке вагон.


                                1. Kwisatz
                                  23.09.2018 19:41

                                  А вы видели как на ходу винда вытягивает обновления для драйверов видеокарты и в процессе меняет два монитора местами? Один раз я выцарапывал уи с телевизора, вторая раз эта гадина вообще не смогла отрисовать уи изза частоты в 120гц (о как это весело было).

                                  А как вам невозможность уменьшить громкость не дефолтного звукового устройства?

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


                                  1. PsyHaSTe
                                    23.09.2018 21:38

                                    А вы видели как на ходу винда вытягивает обновления для драйверов видеокарты и в процессе меняет два монитора местами? Один раз я выцарапывал уи с телевизора, вторая раз эта гадина вообще не смогла отрисовать уи изза частоты в 120гц (о как это весело было).

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

                                    А как вам невозможность уменьшить громкость не дефолтного звукового устройства?

                                    Хм, не знаю, я обычно уменьшаю громкость текущего. То есть включил наушники — регулирую наушники, зачем мне что-то другое? Через 2 устройства одновременно слушать как-то странно, мне кажется.

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

                                    Видел много сешных роликов в интернете на эту тему, но у меня почему-то ни разу не было. Ставлю себе активные часы с 10 до 20 и всё, в это время точно ничего не перезагрузится.


                                    1. Kwisatz
                                      23.09.2018 21:49

                                      Через 2 устройства одновременно слушать как-то странно, мне кажется.

                                      У меня телек вторым.

                                      в это время точно ничего не перезагрузится.

                                      А я и не говорю что само, но будто вам никогда не требуется)


                                      1. PsyHaSTe
                                        23.09.2018 21:54

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


                                    1. Ogra
                                      24.09.2018 05:09

                                      Через 2 устройства одновременно слушать как-то странно, мне кажется.

                                      Телевизор для одного члена семьи, наушники с монитором для другого. У нас дома каждый вечер так.


                        1. Mingun
                          23.09.2018 09:31

                          В таких случаях (если игра закрывает весь экран и диспетчер задач не виден) помогает его открытие не по комбинации Ctrl+Shift+Esc, а Ctrl+Alt+Delete -> «Запустить диспетчер задач». Это если у него в параметрах не стоит «Поверх всех окон». Если же стоит, проблем обычно не бывает.


                          1. PsyHaSTe
                            23.09.2018 09:42

                            Все равно игра рисуется поверх. После ctrl+alt+delete действительно появляется окно логина с выбором вариантов, но после тыка на «диспетчер задач» он открывается под игрой. Это если галка не стоит. Если стоит — то проблем нет, но она в 99 случаях из 100 просто бесит.


                            1. sumanai
                              23.09.2018 11:16
                              +1

                              Теоретически должно помочь Alt > v Enter.


                            1. Mingun
                              23.09.2018 11:44

                              А Alt-Табом после этого переключиться можно? Просто иногда он может открываться ниже игры, но он открывается и на него можно переключиться, в отличие от варианта с простым Ctrl+Shift+Esc, когда комбинация (судя по всему) даже до системы не доходит.


                              1. sumanai
                                23.09.2018 12:57

                                ctrl+alt+delete ничем нельзя перехватить, в отличии от других комбинаций.


                  1. Am0ralist
                    21.09.2018 10:33

                    Начнём с того, что использовать Windows 10 пользователей просто вынуждают.
                    <...>
                    Начиная с того, что там не работает Docker,
                    И в этом тоже MS виноваты, которые винду вам десятую навязывают?


                    1. san-smith
                      21.09.2018 13:04

                      Справедливости ради — некоторое давление всё же присутствует. Например, отказ от поддержки старых версий windows, по сути, вынуждает переходить на ту же десятку. Понятно дело, нельзя во всём винить мелкомягких — у них свои резоны, но мне, как пользователю, такая политика не очень нравится.


                      1. Am0ralist
                        21.09.2018 13:35

                        Например, отказ от поддержки старых версий windows
                        Внезапный отказ? Или запланированный?
                        И вообще, давайте раскритикуем, что они 98 не поддерживают до сих пор? Ну всё же, границы поддержки должны же быть, причем вменяемые? Или разок деньги получили — теперь сто лет поддерживайте?


                        1. san-smith
                          21.09.2018 13:42

                          И вообще, давайте раскритикуем, что они 98 не поддерживают до сих пор?

                          Я специально уточнил, что нельзя во всём винить MS/Google/%company_name%. Естественно, нельзя требовать «столетней поддержки». Тем более, что, как я уже сказал, у них свои резоны — никто и не обещал этой поддержки, да и рынок требует.

                          И всё ж таки, как пользователь, я имею право возмущаться, что в новой версии windows/android/skype/etc всё не так хорошо, как в моей любимой.


                        1. DrPass
                          21.09.2018 14:03

                          Внезапный отказ? Или запланированный?

                          Сам по себе «отказ от поддержки» ничего плохого не несёт. Ну не поддерживают, и фиг с ним. Никто же не возмущается, что у чайника гарантия три года, а не сто лет?
                          Плохо здесь то, что во многих случаях новое программное обеспечение перестаёт быть совместимым со старыми версиями ОС, без технической необходимости в этом. Просто ради маркетинга. Т.е. не потому, что разработчики там какой-то новый API заюзали, а просто потому, что вставили строчку if (OSVersion < LowestSupported) { SayByeBye(); }


                          1. Alexeyslav
                            21.09.2018 15:24

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


                            1. DrPass
                              21.09.2018 15:44

                              Win 98 — это слишком маржинальный пример. Там архитектурная пропасть между линейкой NT и 9х. Но какие, например, есть технические, а не маркетинговые причины не выпускать сейчас виндовый софт, совместимый вниз до WinXP, а не до Win7 (по крайней мере, для 99% такого софта?).


                              1. 0xd34df00d
                                21.09.2018 20:56

                                Чувак, делавший виндовый платформенный слой получения событий о питании в одном моём опенсорс-проекте, говорит, что нужные API появились только в 7, что ли.


                                Ну, как конкретный пример.


                                1. Alexeyslav
                                  21.09.2018 23:55

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


                                  1. 0xd34df00d
                                    22.09.2018 00:05

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


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


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


                              1. Alexeyslav
                                21.09.2018 23:53

                                Так именно в этом проблема. Отбросили какашку наплевав на совместимость.
                                Полагаю, что обширный перечень накопившихся костылей препятствует желанию поддерживать софт в старых операционках вроде XP. Во первых, это поддержка старых интерфейсов API, которые могут нести с собой нехилые уязвимости для системы — вспомните SMB v1, v2 и нынешнее v3… некоторые концепции были переосмыслены и некоторый функционал закрыт для прямого доступа в новых операционках, только через новый API другим способом и т.д. ради обеспечения безопасности операционной системы и т.п. вернуть прежний доступ будет означать открыть давно залатаную уязвимость системы. Конечно, часть подобного API эмулируется через различные ухищрения но не в полной мере и с дырами в абстракциях — всякие там режимы совместимости, прозрачное перенаправление доступа в системную папку на пользовательский профиль и т.д. всё это вроде бы работает, но не так хорошо как хотелось бы.


                              1. VolCh
                                22.09.2018 18:40

                                Банально как проверить эту совместимость, если легально приобрести XP мягко говоря не просто.


                                1. khim
                                  22.09.2018 19:48

                                  Для проверки вам не нужна полноценная XP. Достаточно запустить образ XP в Hyper-V


                          1. sumanai
                            21.09.2018 15:26

                            а просто потому, что вставили строчку if (OSVersion < LowestSupported) { SayByeBye(); }

                            Вряд ли кто так делает. А вот версия подсистемы в PE заголовке часто мешает просто взять и запустить софт на старой ОС, хотя по API полная совместимость. Или линковка со системной msvcrt вместо версии конкретной студии, лишь бы не ставить пакет Visual C++ для Visual Studio 20хх.


                            1. hermes-jr
                              21.09.2018 17:13

                              if (OSVersion < LowestSupported) { SayByeBye(); }
                              Вряд ли кто так делает.
                              Ооо, нет. Именно так и делает Apple. Помню правил iso образ OS X чтобы поставить, кажется, Lion на старую модель ноута (беленький пластиковый), т.к инсталлятор утверждал, что железо устарело. Ось встала и заработала на ура. Единственное, что изменил — значение переменной а-ля LowestSupportedHwVersion в каком-то файлике.


                              1. sumanai
                                21.09.2018 20:07

                                Именно так и делает Apple.

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


                            1. SuperNovaWS
                              22.09.2018 22:48

                              Точно так же делает Microsoft

                              support.microsoft.com/en-us/help/4012982/the-processor-is-not-supported-together-with-the-windows-version-that

                              8-ка на 7+ поколении процессоров Интел не получает поддержку из-за наличии буквально такой функции. Если пропатчить пару функций в памяти — все начинает опять работать.


                        1. SuperNovaWS
                          22.09.2018 22:46

                          Внезапный, не волнуйтесь. Вы знаете, например, что с определенного момента на 8-ке нельзя получить обновлений, если она стоит на машине с Intel 7-го поколения? Просто нельзя — и всё.

                          support.microsoft.com/en-us/help/4012982/the-processor-is-not-supported-together-with-the-windows-version-that

                          Ставьте 10ку — и не волнует.

                          Правда… Есть один маленький патчик. Он подменяет пару вызовов библиотечных функций. После чего пропадает голубое окошко и апдейты становятся без дальнейших танцев с бубнами!

                          И это называется «вменяемые границы поддержки»? По моему это просто — наипалово типичное.


                          1. PsyHaSTe
                            23.09.2018 03:39

                            Они таким образом просто не поддерживают старые ОС. Эти патчики в 99 случаев из 100 будут работать, а в одном будут ломаться. Если бы они официально поддерживали восьмерку, их саппорт бы завалили жалобами. А так, сам пропатчил — сам и разбирайся, юникс вей так сказать. Не скажу, хорошо это или плохо, но вполне логично.


                            1. sumanai
                              23.09.2018 11:17

                              Интересно, с чего бы им ломаться? Ограничение исключительно искусственное.


                              1. PsyHaSTe
                                23.09.2018 13:51

                                Если вы майкрософт, и у вас есть баг один на миллион, то у вас сотни недовольных клиентов, у которых всё сломалось. Ломаться им с того, что их никто не тестировал на этих ОСях, и никто не знает, достаточно ли разницы между 7 8 и 10 чтобы разломать этот патч.


                                1. sumanai
                                  23.09.2018 14:59

                                  Ну да, пусть будут недовольны 999900 клиентов из-за отсутствия обновлений и требований поставить новую ОС.


                                  1. Druu
                                    23.09.2018 15:03

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


                                    1. sumanai
                                      23.09.2018 19:03

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


                                      1. PsyHaSTe
                                        23.09.2018 21:40

                                        Каким образом он что-то нарушает?


                                        1. sumanai
                                          23.09.2018 23:18

                                          Патчингом файлов? Я в упор не знаю, что именно там делается, но уверен, что это нарушает лицензионное соглашение.


                                          1. PsyHaSTe
                                            24.09.2018 00:01

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


                                            1. sumanai
                                              24.09.2018 00:12

                                              Майкрософт не может нарушать свое лицензионное соглашение

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


                                              1. PsyHaSTe
                                                24.09.2018 00:16

                                                Это да, поэтому если у кого-то что-то ломается, майкрософт вместо «ой, чего у вас случилось, сию секунду исправим» говорит «а чей-та вы соглашение нарушаете?». И им не надо это чинить.


                                      1. Druu
                                        24.09.2018 03:43

                                        Ну все правильно, что не так-то? Костыль же не поддерживается.


                            1. SuperNovaWS
                              23.09.2018 18:59

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

                              Типа, в микрософте такие — «А нам лень писать патчи для новых ядер — идите нахрен! И пофиг.»

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


                              1. PsyHaSTe
                                23.09.2018 21:40

                                Ну ваш выбор, голосуйте рублем. Так и надо.


                  1. Fracta1L
                    21.09.2018 13:02

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

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


                    1. Alexeyslav
                      21.09.2018 14:01

                      До этого недалеко. Уже есть процессор не совместимый со старыми ОС…


                      1. SuperNovaWS
                        22.09.2018 22:49

                        Несколько ПОКОЛЕНИЙ от РАЗНЫХ вендоров, вообще-то

                        support.microsoft.com/en-us/help/4012982/the-processor-is-not-supported-together-with-the-windows-version-that


                1. popov654
                  21.09.2018 18:20
                  +1

                  а требуют продуктов в стиле Windows 10 (или в «материальном дизайне»

                  Не требуют, а навязали. И даже многих обновляли принудительно. И XP заранее объявили end of life, хотя могли поддерживать ещё года 2-3 как минимум, не было там особых проблем. Новые протоколы шифрования бы завезли, aac и h264 кодеки, DirectWrite, и IE9 с ним вместе — и была бы сказка. Вы вот спросите пользователей честно, многие ли довольны новым интерфейсом десятки. Мне кажется, результаты вас удивят.

                  А современные тяп-ляп сайты создаются на дни, иногда за часы…

                  А куда спешить-то? Чем круче проект, тем больше времени можно потратить на разработку. Но даже сайт-визитку чтобы сделать прилично, нужно потратить 2-3 дня в идеале. И это не так уж и много. В веб-студии, кстати, если несколько человек будут работать параллельно, получится быстрее.


                  1. DMGarikk
                    21.09.2018 18:35

                    Навязали… я отлично помню разговоры в 01-04 годах что MS навязывает тормознутую и обвешенную рюшечками XP, в то время как под 98 реально все работало быстрее, и w2k без лишних рюшечек стабильнее… и только в SP2 и с подешевевшей памятью стало реально в ней жить
                    ==
                    все идет все изменяется, а придирки старые


                    1. khim
                      21.09.2018 21:27
                      +1

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


                    1. SuperNovaWS
                      22.09.2018 22:50

                      Навязывание установки Windows 10 — уже забыли?


                  1. khim
                    21.09.2018 21:26

                    Не требуют, а навязали.
                    В том-то и дело, что требуют! Я про это уже писал: человек на полном серьёзе отказывается смотреть как и что работает в gerrit'е, потому что у того, ай-ай-ай — интерфейс из 90х.

                    Сейчас, впрочем, запилили моднючий интерфейс c «материальным стилем», так что всё стало жутко тормозить… но может теперь этим начнут пользоваться?


              1. YemSalat
                21.09.2018 08:25

                У игр из 90х был полный или почти полный доступ к ресурсам компа (той же видюхе) Браузеры же — это «песочницы», тут у вас банально не получится все так жe оптимизировать.

                И че все так прицепились к «красивым» пикселям?
                Гуглокарты со стритвью — это красивые пиксели? Запусите на свой любимой 98ой винде тогда в 3ем фаерфоксе.


          1. srhbdv
            20.09.2018 21:57
            +1

            А вы готовы платить в разы больше за более качественный софт, чем сейчас (если вы вообще за него сейчас платите)?


            1. lokkiuni
              21.09.2018 14:13

              0*500=0, так что конечно готов))))


        1. staticlab
          20.09.2018 22:12

          Автор статьи вообще не понимает, где причина, а где следствие: машину с потребелением топлива 1000 листров на 100 киломестров — никто не купит. А сайт, который теряет данные, будет пользоваться большей популярностью, чем сайт «с интерфейсом из 90х». Вот и всё. Вот и вся «тайна».

          Если следовать Секрету айсберга, то какой-нибудь арабский шейх всё-таки может купить автомобиль, потребляющий условные 1000 л / 100 км, если увидит, как этот автомобиль разгоняется до сотни за 2 секунды, услышит, как он при этом рычит, и при этом в нём опять же видна вся эта мощь ;)


          1. khim
            21.09.2018 00:22
            +1

            Ну дык. Вы изобрели концепцию суперкара, да.


            1. Teemon
              21.09.2018 03:40

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


              1. khim
                21.09.2018 04:32

                Другой вопрос почему такого софта нет?
                Почему нет? Есть. Поставьте MS Office 2000 на современную систему и он будет запускаться за такое время, что вам покадрово видеосъёмку нужно будет изучать, чтобы заметить, что он делает это не мгновенно.

                И да — он вполне работает:

                Собственно это основная беда софта: суперкар выпускать выгодно, так как в нём может не быть хитрых подставок для кофе — но скорость окупит всё и его купят.

                А быстрый софт выпускать невыгодно: разработка быстрого софта со всеми-всеми-всеми фичами, которые есть в той куче… добра, которое сейчас стоит на полках — невозможна (пока вы будете его разрабатывать выйдут ещё версии с ещё большим количеством фич), а с ограниченным — не нужно, так как старые-то версии не протухают!

                Есть довольно большое количество софта, маленького и шустрого (тот же FAR) — но это всё некоммерческие проекты. Ибо заработать на этом нельзя!


                1. SuperNovaWS
                  22.09.2018 22:50

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


                  1. khim
                    23.09.2018 16:25

                    Вы не поверите, но, в общем, всё, что угодно. Поставьте Compatibility Pack — и вперёд.

                    Да, накладки возможны — ну так они и в рамках одной версии возможны и указывают, скоре на то, что OOXML — плохой стандарт. Но да, это стандарт и да — он поддерживается.


        1. gohan
          21.09.2018 00:56

          Автор статьи вообще не понимает, где причина, а где следствие: машину с потребелением топлива 1000 листров на 100 киломестров — никто не купит. А сайт, который теряет данные, будет пользоваться большей популярностью, чем сайт «с интерфейсом из 90х». Вот и всё. Вот и вся «тайна».

          Сайт, который теряет данные? Хаха. Сайт, который пойман на воровстве данных и передаче их левым людям, до сих пор наверное топ1 по популярности в мире, если не брать поисковые сайты.

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


          1. Fracta1L
            21.09.2018 10:21

            Идиоты это те, что не разделяют ваших ценностей? XDD


            1. muon
              21.09.2018 10:32

              XDD
              Только я трактую этот набор символов как «зажмуренные глаза, смеющийся рот, второй подбородок»?


        1. SUA
          21.09.2018 10:50

          машину с потребелением топлива 1000 листров на 100 киломестров — никто не купит.

          а кроссовер за 2 тонны вместо городского компакта для покатушек на работу вполне. Разница не настолько впечатляет (всего лишь в 3 раза), смысл тот же


          1. sumanai
            21.09.2018 11:05

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


            1. SUA
              21.09.2018 13:03

              Таки нет. Даже с учетом «не Москвы» (просто в ней нагляднее проявляется из-за избытка денег у части жителей).
              И написал я именно

              кроссовер за 2 тонны вместо городского компакта для покатушек на работу

              поскольку в случае когда вместо дорог уже направления — нужен полноценный внедорожник а не кроссовер


              1. sumanai
                21.09.2018 15:28

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


          1. novice2001
            21.09.2018 13:47

            Смысл не совсем тот же. Кроме повышенной проходимости 2-тонный кроссовер еще и сильно безопаснее городского компакта. Учитывая количество идиотов на дорогах и мягкость наказания даже за смертельные ДТП — это совершенно нелишнее.
            И полноценный внедорожник нужен в основном только для тех, кто по направлениям вместо дорог ездит постоянно. Для периодической езды по засыпанным снегом улицам — очень годный компромисс.


      1. darthmaul
        22.09.2018 11:33

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


      1. VolCh
        22.09.2018 18:26

        nodejs имеет полное право быть добавлена к PHP/Python. Ничем принципиально от них не отличается.


    1. walti
      20.09.2018 20:19

      платить вместо условной тысячи долларов за новый телефон — платить 50 000?

      А придется.
      Физика круче психологии.
      В этом можно убедиться, убедив себя, что человек может летать и шагнув за балкон посмотрев на технологии литографии.
      Предел кремния где-то 3нм и 5-6ГГц для десктопа.
      Но раньше все упрется в тепло — навскидку, 200 Ватт для десктопа и ватт 5 для смартфона.
      Больше — ожоги конечностей Боженька не велел.


      1. demon416nds
        21.09.2018 08:32

        Предел кремния где-то 3нм и 5-6ГГц для десктопа.
        Но раньше все упрется в тепло — навскидку, 200 Ватт для десктопа и ватт 5 для смартфона

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


        1. sumanai
          21.09.2018 09:22

          Рассеять же несколько десятков ватт не настолько большая проблема.

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


          1. demon416nds
            21.09.2018 09:26

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


            1. sumanai
              21.09.2018 09:38

              естественно активное охлаждение нужно

              Я не хочу телефон с вентилятором.


              1. tvr
                21.09.2018 12:48
                +1

                Я не хочу телефон с вентилятором.


                У вас будет выбор между вентилятором воздушным и насосом жидкостным охлаждением.
                «Вот видите — мы предлагаем вам выбор из двух неприемлемых для вас вариантов, а это значит — мы заботимся о вас!» ©


                1. ValdikSS
                  21.09.2018 13:22

                  Теплотрубки уже начали вставлять, в Sony Xperia Z2 2014 года, например.


                  1. tvr
                    21.09.2018 15:07

                    Да много уже куда на самом деле.
                    Всякие околофлагманские игровые Asus, Xiaomi. Скоро и в бюджетный сегмент лепить начнут.


                1. sumanai
                  21.09.2018 15:29

                  Систему ЖО тоже нужно охлаждать, объёмы рассеиваетелей и вентиляторы там зачастую больше башенных кулеров.


              1. Irgen
                21.09.2018 13:47

                А они уже выпускаются
                image


    1. demon416nds
      20.09.2018 22:30
      +1

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


      1. Tantacula
        20.09.2018 22:42
        +2

        Такого рода высказывания хорошо бы подкреплять примерами проектов, чтобы можно было оценить сложность проекта.


        1. demon416nds
          21.09.2018 07:45

          проекты в основном закрытые
          ну вот вам скриншот написанной с нуля админки
          ibb.co/bVTANK
          96кб не минифицированного javascripta
          148кб общий вес с серверной частью


          1. YemSalat
            21.09.2018 08:30

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


            1. demon416nds
              21.09.2018 08:47

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


              1. YemSalat
                21.09.2018 09:07

                Ну у вас типичный случай разработчика одиночки.
                Когда вы пишите код для своего проекта в 1-2 файлах и вы все помните — где что лежит, что как работает и т.д.
                Но попробуйте разобраться в чужом таком 'pet' проекте — сразу поймете в чем проблема. К тому же качество кода из примера ниже явно хромает.

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


                1. popov654
                  21.09.2018 18:33

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


                  1. YemSalat
                    21.09.2018 18:49

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

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


            1. srhbdv
              21.09.2018 08:52

              1. YemSalat
                21.09.2018 09:03
                +2

                Если это правда так, то тут гордится «96кб не минифицированного javascriptа» думаю особо не стоит :)
                Вот этот момент порадовал:

                // Пошла магия
                ...


              1. demon416nds
                21.09.2018 09:07

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


                1. PsyHaSTe
                  21.09.2018 12:05
                  +1

                  То «сайты прекрасно пишутся», то «Да там до меня 7 человек было, вот эту грязь вообще не я писал». Вы уж определитесь :)


                  1. demon416nds
                    21.09.2018 12:22

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


                    1. PsyHaSTe
                      21.09.2018 12:23
                      +1

                      Если на пример "сайта без современных фреймворков" не взглянуть без слез, то это очко в пользу этих самых современных фреймворков, вы же понимаете?


                      1. demon416nds
                        21.09.2018 12:29
                        -2

                        бедняжко контуженный материальным дизайном
                        вот тебе пример современных фреймворков
                        вот где глаза кровоточить начинают и шаринган пробуждается
                        ibb.co/hSwOsK


                      1. popov654
                        21.09.2018 18:36

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

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


                        1. PsyHaSTe
                          21.09.2018 18:39

                          Не пользоваться фреймворкаи это как не пользоваться IDE, не пользоваться средствами ОС, не пользоваться драйверами, а пытаться всё-всё-всё запихнуть в одно приложение. Есть хорошие принцицы SRP и DRY, которые дико нарушаются таким подходом.


                        1. Grox
                          21.09.2018 21:01

                          Так вопросы дизайна и решаются дополнительными библиотеками шаблонов. Bootstrap или целые модули админок. Но да, они часто тащат jquery. Но его можно не использовать.


              1. fukkit
                21.09.2018 16:58

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


      1. DelphiCowboy
        21.09.2018 10:25

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

        Только вот при устройстве на работу в требованиях для Веба, по причине КАРГО-культа, маячат требования знать очередной новомодный фреймворк.


        1. GrigoryPerepechko
          21.09.2018 11:46
          +1

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


        1. popov654
          21.09.2018 18:34

          Поэтому гораздо проще фриланс)


    1. yarric
      20.09.2018 22:46
      +1

      В 90-х что-то не приходилось платить 50к за Windows 95, хотя зоопарк устройств был тот ещё: и дискеты, и сидюки, и диски увеличенной ёмкости разных форматов, далее — пяток производителей «графических ускорителей», пара производителей звуковых карт (что это?) и тд


      1. Frankenstine
        21.09.2018 07:43

        Однако, 95-я винда стоила таки заметно дороже «десятки»: 210 баксов за коробку, против примерно 100 (и ещё можно учесть инфляцию).


        1. SergeyMax
          21.09.2018 08:07

          Но ведь Pro версия десятки как раз стоит около 200 долларов.


          1. Frankenstine
            21.09.2018 16:51

            95-я не тянят на прошку ;) На хоум лишь.


            1. DrPass
              21.09.2018 17:35

              В 1995-м очень даже тянула :) В офисах найти Windows NT было ещё нереально, у всех 95 или 3.11 FWG


              1. Frankenstine
                21.09.2018 20:59

                Вообще-то, в 95-м Windows NT 3.1 (первая с поддержкой NTFS) уже была 2 года в продаже и даже получила к этому времени третий сервис-пак. Хотя, конечно, расцвет линейки начался с Windows NT 4.0 в 1996-м. Но поскольку 95-я вышла через два года после NT 3.1, ваше утверждение что в офисах была 95-я в 95-м, а NT 3.1/3.5 не было, выглядит голословно и подозрительно нелепо. Более того, википедия фактически говорит что вы не правы:

                Windows NT 3.1 sold about 300,000 copies in its first year.

                И это несмотря на высокие аппаратные требования на тот момент (recommended system requirements of a 486 processor with 16 megabytes of memory), неподдержку офисных пакетов (и малое число программ вообще) и высокую цену: the workstation version for $495, and the server version for $1,495. Заметьте, что сейчас Windows Server 2016 Standard стоит немного дешевле в числовом значении (без учёта инфляции), а Windows 10 Pro for Workstations дешевле Windows NT 3.1 for Workstations почти в два раза. Причём вначале Майкрософт заявлял что цена на сервер будет такой лишь пол года, а потом повысится до $2,995, но так и не была повышена (разработка, проведённая силами 250 программеров, стоила 150 мегабаксов, т.е. окупилась лишь через год, когда подоспела NT 3.5).
                Конечно, в мелких оффисах до выхода NT 4.0 (и соответствующего железа) в 1996-м было вероятнее встретить 95-ю, но в крупных — очень сомнительно из-за низкой устойчивости. В сети с хотя бы сотней компов 95-я падала наверное на одном из компов каждые пять минут :)
                При этом надо признать, 95-я имела отличный коммерческий успех, продавшись миллионом экземпляров в первые 4 дня после релиза.
                Жаль, в вики нет данных по продажам NT 4.0.


                1. khim
                  21.09.2018 21:47
                  +1

                  Более того, википедия фактически говорит что вы не правы:
                  Windows NT 3.1 sold about 300,000 copies in its first year.
                  Википедия говорит о том, что вы не умеете пользоваться википедией. Потому что в другом её разделе можно обнаружить, что ежегодные продажи персоналок уже в те годы достигли десятков миллионов… на этом фоне триста тысяч… не смешите мои тапочки…

                  Или на другую статью посмотрите о Windows 95:
                  Sales were strong, with one million copies shipped worldwide in just four days

                  Действительно некоторое время после выхода Windows 95 она оставала от Windows NT 3.1. Примерно неделю. К концу года количество установок и сравнивать было нельзя.

                  Конечно, в мелких оффисах до выхода NT 4.0 (и соответствующего железа) в 1996-м было вероятнее встретить 95-ю, но в крупных — очень сомнительно из-за низкой устойчивости.
                  В 1995м можно было чаще встретить Windows 3.1, но никак не Windows NT 3.1

                  Конечно, в мелких оффисах до выхода NT 4.0 (и соответствующего железа) в 1996-м было вероятнее встретить 95-ю, но в крупных — очень сомнительно из-за низкой устойчивости. В сети с хотя бы сотней компов 95-я падала наверное на одном из компов каждые пять минут :)
                  Ну так Windows 3.11 была ещё глюкавее, а Windows NT была экзотикой, которую никто не видел. Так что приходилось мириться, да…


                  1. Frankenstine
                    21.09.2018 22:16

                    ежегодные продажи персоналок уже в те годы достигли десятков миллионов… на этом фоне триста тысяч… не смешите мои тапочки

                    Если вы говорите таки не про персоналочки, а про офисы, то не забывайте, что до появления на рынке линейки Windows NT, этот рынок был на 90% «под пятой» Novell NetWare, к 95-му году уже пару лет как имевшей в активе NetWare 4 с NetWare Directory Services, аналог которого у Майкрософта (Active Directory) появился лишь через ещё пять лет. Так что если уж про офисы, причём крупные, то в 95-м можно было таки скорее увидеть эту самую нетварь, чем мастдай.

                    Вы просто молоды видимо, а я 95-й помню, потому что как раз школу заканчивал.


                    1. DrPass
                      22.09.2018 03:36

                      Если вы говорите таки не про персоналочки, а про офисы, то не забывайте, что до появления на рынке линейки Windows NT, этот рынок был на 90% «под пятой»

                      Это абсолютно верно, в офисах *крупных компаний* тех лет сетевой ОС была чаще всего как раз нетварь, реже всякие *никсы. И не только до появления линейки Windows NT, а ещё долгое время после её появления. Перелом был где-то в 1997-м году. Но есть момент, который вы упустили — хороший и очень популярный клиент нетвари как раз был встроен в Windows 95 ;)


                      1. Frankenstine
                        22.09.2018 10:38

                        Microsoft Client for NetWare предоставлял лишь доступ к файлам и к принтерам (без авторизации в NDS) в сети нетвари. Ничего другого, например авторизации в NDS и доступ к другим сервисам, он не предоставлял. Так что с «про» ролью мастдай не справлялся, как минимум до покупки пакета «плюс» (содержавшего интернет эксплорер 1.0 и планировщик задач) и новеловского Client 32. Таким образом, сравнение 95-й винды с 10-й хоум эдишн полностью оправданно.


    1. mkshma
      20.09.2018 22:50
      -1

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

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

      Можете даже смеха ради почитать вот этот увлекательнейший тред news.ycombinator.com/item?id=17915560 — половина отметившихся искренне недоумевает как это такой простейший сайт, да без фреймворков и прочего мусора запилили. Ведь должно быть все по гайдлайнам, а у них, чертей эдаких, все в одном JS файле лежит. Это все, что нужно знать про современный фронтенд.


      1. staticlab
        21.09.2018 00:22

        Насчёт простейшего согласен. А что делать в случае более сложных проектов?


      1. YemSalat
        21.09.2018 08:36

        Это все, что нужно знать про современный фронтенд.

        Вы взяли сайт где люди под статьями оставляют коменты. Там думаю действительно можно ограничится одним js файликом. (Причем в первом же комменте там приводится пример того почему это не масштабируется)

        Напишите фронт к какому-нибудь гмэйлу в одном файле, еще и командой из 20ти человек, раз у вас так от фронтов бомбит.


        1. muon
          21.09.2018 09:20
          +1

          Напишите фронт к какому-нибудь гмэйлу
          Написать интерфейс к почте сильно сложнее, чем к сайту, где люди под статьями оставляют коменты?


          1. YemSalat
            21.09.2018 18:43
            +1

            Ээ… Да?


            1. SuperNovaWS
              22.09.2018 22:56

              Э… Чем?!


        1. novice2001
          21.09.2018 09:22

          Зато вы берете уникальные сверхпопулярные и высоконагруженные проекты.
          Только вот 99,999% остальных сайтов в аналогичном стеке не нуждаются, но используют, зачастую еще и очень криво. В результате все безбожно тормозит.


        1. mkshma
          21.09.2018 15:21

          Напишите фронт к какому-нибудь гмэйлу в одном файле

          Это же невообразимо сложно подгрузить json'ку с заголовками с сервака и отобразить их построчно, припорошить кучей иконок, а по нажатию на заголовок уже подгрузить само письмо. Это элементарнейший веб-интерфейс, в котором ничего не может работать медленно. У Яндекса работает быстро, у Мыла, прости господи, работает быстро, навороченный и кастомизируемый интерфейс ProtonMail работает быстро. И вот ирония, у гугла есть HTML версия, которая, ну вы поняли — работает быстро. Так как же вот эта элементарщина в основной версии у них умудряется лагать сильнее, чем их же убогие карты? А все просто: огромная команда разработчиков гугла просто оправдывает свое существование. Сначала им, видите ли, не понравился простой и функциональный дизайн, поэтому напрягли команду дармоедов испортить интерфейс, потом напрягли пару сотен дармоедов испортить фронт, потратили на это год, а может два и теперь примерно столько же будут героически превозмогать. А потом новый фреймворк, над дармоедами дизайнерами снова нависнет угроза увольнения и цикл повторится.
          Та же фигня у них с картами. Наступил коммунизм и мы теперь можем рендерить страницы на RTX2080 с рейтрейсингом, поэтому почему бы нам не воткнуть кучу 3D в КАРТЫ! А, нет, коммунизм не наступил и люди пытаются пользоваться этим на Intel HD4000 с 4 гигами оперативы и, о неожиданность, оно лагает.
          Веб стал слишком переусложнен. Где достаточно открыть новую вкладку — мы начнем рендерить в той же. Динамическая подгрузка вместо пагинации, раздутый дизайн, куча анимаций, хотя они нафиг не упали — зачем все это? Это не имеет никакой полезной нагрузки, так зачем все это запихивать на страницу? А потому что иначе мы уже завтра увидим сокращение штата в каждой крупной конторе процентов эдак на 30. Но работа есть работа, свое существование надо оправдывать.


      1. Whuthering
        21.09.2018 10:24

        Микросервисы все-таки задумывались как вполне рабочее и надежное решение пары вполне конкретных проблем. И без них было бы гораздо хуже. А называть «ненужным мусором» все, что вы не понимаете, звучит немного глупо:)


        1. VolCh
          22.09.2018 19:27

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


    1. Alexmaru
      21.09.2018 00:36
      +1

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


    1. Berkof
      21.09.2018 07:01

      Почитайте труды доктора Демминга… Это такой американский учёный, который пытался всем вокруг схожие идеи толкать, что мол хватит лепить абы как, давайте всё посчитаем аккуратно и выйдет, что можно сделать лучше и даже ещё и сэкономить…
      Я занимаюсь разработкой ПО уже много лет и вижу (на живых примерах, т.к. сменил с десяток компаний уже), что может оказаться дешевле писать качественные программы, чем некачественные… и конечно никто не хочет делать себе плохо (ну может эмо, но мы не про них), просто люди где-то поленились (+1 контринтуитивный интерфейс), где-то поторопились (+1 порядок тормознутости программы, где человек не разобрался как в том кривом интерфейсе обновить данные и просто переполучил заново всю пачку), недальновидность (следующий разраб не стал пытаться улучшить что есть, а просто разделил это на воркеров в микросервисах и развесил на кластер, чтобы выдержать возросшую нагрузку)… Но страшно даже не это, страшно то, что работая с хорошей программой хороший программист сразу понимает что и почему тут там сделано и куда именно ему нужно внести правки, чтобы добавить нужный функционал. А с плохой так не прокатывает и ты либо тратишь гору времени на изучение всех хитросплетений костылей, либо просто втыкаешь ещё парочку (первый — чтобы сделать функционал, второй — чтобы подпереть то, что отвалилось из-за первого, который не на месте)… В итоге ты тратишь на задачу много времени, начальство недовольно и ты решаешь, что можно и без тестов нормальных, абы как, вроде работает… А в следующий раз тебе уже и страшно выдёргивать какие-то костыли, даже если время есть, потому что тестов то нету и вдруг ты не все хитрости понял и что-то сломаешь?
      Ну а у Демминга ещё ПО не было, он обсуждал, что дешевле заказать более дорогую доставку, но чтобы товар доставили ровно в 9:05 к воротам цеха, чтобы рабочие занесли материал и сразу пошли его обрабатывать, без склада, кладовщика и перетаскиваний между помещениями. А дальше он писал и вовсе чудестные вещи, что произвести качественный товар даже дешевле — если покупатель видит, что у вас товар лучше, то он и брать будет у вас, т.е. в долгосрочной перспективе реклама почти не нужна; если рабочий будет видеть, что его товары лучше всех — он будет испытывать гордость за свою работу, а не стыд — это мотивация не увольняться; если будет меньше брака — будет меньше затрат на доделку на выходном контроле и меньше возвратов от клиента и т.д.


      1. PsyHaSTe
        21.09.2018 12:12

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

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


        Мой любимый случай был когда мне упала задача на дыры в API, я нашел больше сотни дыр, которые позволяли одним пользователям управлять аккаунтами/данными/… других. Подумал немного, сделал один аутентифицирующий фильтр, который закрывал разом все возможные дыры, и отправил на ревью. Ревью оно не прошло — "слишком много изменений, ты же всю платформу затронул, кто это тстировать будет?!?!". Итоге — решение не принято, все эти дыры так и висят до сих пор, насколько я могу судить.


        1. VolCh
          22.09.2018 21:47

          «Кто это тестировать будет» ещё нормально по сравнению с «я не знаю как это тестировать»


          1. senglory
            23.09.2018 02:38

            Что, в общем, правильно. Т.к. с автора изменений и надо в первую очередь спрашивать план тестирования.


            1. Druu
              23.09.2018 03:52

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


            1. PsyHaSTe
              23.09.2018 03:58

              Нужно проверить каждую АПИ по двум сценариям — правильный запрос (200 ответ) и неправильный запрос (должен зарубиться фильтром). Проверили — запушили, дыры закрылись, профит.


            1. VolCh
              23.09.2018 18:14

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


    1. LLarean
      21.09.2018 11:27

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


    1. denisromanenko
      21.09.2018 12:08
      +1

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


    1. FadeToBlack
      21.09.2018 13:59

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


      1. VolCh
        22.09.2018 21:56

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


        1. FadeToBlack
          23.09.2018 08:15
          +1

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


    1. popov654
      21.09.2018 16:44

      А ещё придётся платить за каждый веб-сайт

      Кому, посетителю? Заказчик и так платит.


    1. progmal
      21.09.2018 17:13

      Можно написать более оптимизированный софт и меньшем количеством разработчиков. «А в реальном мире пользователю важнее получить приложение за 1$ которое будет работать». но будет работать а не вырубать от перезгрузки и нехватки оперативки телевизор или телефон, в котором всего памяти 16г = занято 1г + свободно 300мб.


  1. holy_desman
    20.09.2018 15:10
    +1

    Вот построим ИИ — программиста, он нам быстренько всё оптимизирует.


    1. dukei
      20.09.2018 15:14

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


      1. Akon32
        20.09.2018 15:49

        За бесконечное время и (особенно!) бесконечные деньги мы и сами сможем всё оптимизировать.


    1. AstarothAst
      20.09.2018 17:15
      +3

      Позволю себе процитировать классика:

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


  1. Hardcoin
    20.09.2018 15:14

    Вы бы купили машину с расходом 100 литров на 100 километров? Как насчёт 1000 литров?

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


    1. Alexey2005
      20.09.2018 16:45
      +2

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


      1. aknew
        20.09.2018 16:49
        +4

        Что-то ваша машина сильно некоторые принтеры напоминает по такому описанию


        1. engine9
          20.09.2018 18:47
          +1

          Сейчас уже и в аккумуляторы фотокамер чипы встраивают.


          1. nikolayv81
            21.09.2018 17:44

            10 лет уж точно, особенно японцы преуспели (panasonic) а ещё они з.ч. (платы) выдают только оф. сервисам в обмен на сданные вышедшие из строя по цене 30-40% от стоимости устройства в момент старта продаж :)


      1. springimport
        20.09.2018 17:18
        +3

        Оглянитесь на рынок консолей.


        1. UrbanRider
          20.09.2018 17:46

          +++Выпускают типо эксклюзив. Хотя архитектура сейчас на обеих топ консолях x86 и ничего не мешает порту на PC. Но нет, купите нашу не очень дорогую консоль и заплатите овердофига денег за игру, которую ты пройдешь за 2 дня.


          1. Tsimur_S
            21.09.2018 15:31

            если ничего не мешает то почему провалился порт batman arkham city(на самом деле я думаю он не единственный но самый известный)? фризы, падение фпс, тысячи рефандов в стиме что аж пришлось заморозить продажи в стиме по причине проблем с перфомансом. Может это все же не самая простая операция?


            1. UrbanRider
              21.09.2018 15:40

              Ну не самая сложная, т.к. архитектура не меняется. Консоли сейчас не мощнее среднестатистического компа. Где-то на уровне среднего игрового ПК.

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


            1. mayorovp
              21.09.2018 17:00

              Если код нормальный — то довольно простая. А если у NaN брать младшие 16 бит и что-то с ними делать...


    1. DrPass
      20.09.2018 17:41

      Эта аналогия не верна ни в отношении автомобилей, ни в отношении софта.


  1. VBKesha
    20.09.2018 15:14
    +3

    Как инженеры, мы можем и должны, и сделаем лучше.

    Как инженеры то да, можем, должны, сделаем. Но решения принимают не инженеры, новые «красивые и удобные» дизайны придумывают и одобряют тоже не инженеры, и сверху спускают планы за сколько что нужно выполнить тоже не инженеры. ИМХО инженеры уже давно исполнительное звено, и просто делают то что от них требуют. Время инженеров осталось в начале 2000х, теперь время менеджеров…


    1. muove
      20.09.2018 15:44
      +1

      Кто как, по моему опыту большинство раздолбайства в проектах было допущено нами самими а не ВЕЛИКИМИ и УЖАСНЫМИ менеджерами. И время у нас было, и деньги, но мы такие.
      ЗЫ совсем не обобщаю, все только про меня самого


      1. Mabusius
        20.09.2018 17:17

        Так менеджеры для того и приставлены, чтоб контроливать халтуру. А они не контролируют. Так что все равно менеджеры…


  1. kreatr
    20.09.2018 15:18
    +1

    кажется местами похоже на стиль Линуса :)


    1. arthi7471
      20.09.2018 18:32
      +5

      Линус как раз сейчас в отпуске.


      1. dartraiden
        21.09.2018 02:00

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


        1. khim
          21.09.2018 02:30

          По сути, в ядро готовы принять что угодно, если это не ломает существующие механизмы и есть люди, которые готовые это поддерживать.
          Вот уж чего нет, того нет. Любая фича, которую добавляют в ядро, в первую очередь оценивается на тему: а мы точно получим от этого существенный выигрыш, стоящий усложнения ядра? В результате какой-нибудь overlayfs включили в ядро в 2014м году. Притом что первая версия (ну… плюс-минус...) под именем IFS — вот она… 20 лет, однако…

          А что включается «без вопросов» — так это драйвера… но тут всё просто: если у вас нет соотвествующей железяки — то и от наличия драйвера вам не горячо и не холодно…


          1. Am0ralist
            21.09.2018 10:49

            Знаете, я помню, читал вроде как в ядро включили поддержку модульного смартфона от гугла… сразу после того, как проект этого смарфтона был приостановлен.
            Был немного удивлен, так сказать.


            1. khim
              21.09.2018 14:20

              А я — нет. Там и поддержка каких-то монстров от SGI, которых выпущено было 100 штук была. И всяких исторических компьютеров от IBM и много чего ещё.

              Ваша поддержка сколько занимала в памяти в случае отсутствия такого телефона? 100 мегабайт? Или «нисколько»?


              1. Am0ralist
                21.09.2018 14:43

                Да я даже не знаю, что в нее включалось, просто вспомнилось к словам «любая фича, которую добавляют в ядро, в первую очередь оценивается на тему: а мы точно получим от этого существенный выигрыш, стоящий усложнения ядра?» и то, что фича по сути как раз вроде никому стала не нужна…


                1. mayorovp
                  21.09.2018 15:13

                  Так и ядро не усложнилось же.


        1. Fracta1L
          21.09.2018 08:17

          Вы ещё скажите, что в тормозах Андроида ядро виновато XDD


        1. 0xd34df00d
          21.09.2018 22:18

          Только там ненужные вещи можно, ну, выключать при сборке.


  1. Laney1
    20.09.2018 15:30
    +1

    помню, как-то попытался собрать проект на node.js, который последний раз обновлялся года за 3 до этого. Получил огромную кучу нетривиальных ошибок, даже со старой версией ноды, и быстро расстался с этой глупой идеей.


    Еще недавно читал про адок с USB Audio в новых смартфонах. Ни черта ни с чем не совместимо, зато отказались от "устаревшего" джека.


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


    Автор статьи возможно даже не осознает, насколько он прав.


    1. Suvitruf
      20.09.2018 15:40
      +1

      Вот у меня наоборот, проекты на ноде многолетней давности собрались на самой последней версии nodejs без единой ошибки.


    1. mkshma
      20.09.2018 16:21

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

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


    1. Xandrmoro
      20.09.2018 17:03
      +2

      которым не хватает в языке дженериков, концептов и прочей мути

      Даёшь копипасту, ага.


      1. PsyHaSTe
        20.09.2018 20:55

        Rust пока что выглядит, как чисто сисадминский язык :)
        Дженерики, по-хорошему, это задача для искусственного интеллекта, а у меня его нету :)

        (с)


    1. sand14
      20.09.2018 18:01
      +1

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

      Дженериков действительно не хватает (если их в консервативную джаву добавили...), и вроде обсуждается, чтобы добавить их в Go
      А вот с остальным вопросы — наверное, действительно не нужно, т.к. идеи и реализации спорные, и будут противоречить основной идее Go как "простого" языка.


    1. DarthVictor
      20.09.2018 18:52
      +4

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

      Дженерики и нормальная система типов скорее и продукт ускоряют и код упрощают. Единственное что они увеличивают — порог входа.


      1. PsyHaSTe
        20.09.2018 20:57

        Если посмотреть то, как они их сделали — такое ощущение, что лучше бы вообще не делали. Раньше у го была хотя бы ниша «пишу не читая, и оно работает из коробки», а теперь вообще что-то непонятное.


    1. Bonart
      20.09.2018 21:40
      -1

      Наверное, именно поэтому во второй версии го есть генерики и обработка ошибок.


    1. JekaMas
      21.09.2018 09:25

      Судя по draft фич golang, то "раздует" — это 4 новых слова в спеке языка. Вы о чем-то не том...


      1. Laney1
        21.09.2018 10:18

        задумывались о том, что последует за этими 4-мя словами?


        • переписывание и значительное усложнение препроцессора языка. Как показывает практика (новости типа "в фейсбуке написали собственный препроцессор C++, работающий в 2 раза быстрее стандартного") — нифига не тривиальная задача.
        • полное переписывание стандартной библиотеки. Несколько лет работы как минимум.
        • "ой, а у меня тут дженерик не компилируеться, компилятор ругаеться непонятными словами!". Придется вводить в язык концепты или что-то аналогичное. Еще несколько лет работы.
        • "ой, а тут надо писать тип длиной полтора километра, мне это не нравиться!". Ага, языку определенно не хватает продвинутой системы вывода типов.

        Дальше продолжать? Кто будет все это делать, Тейлор с Пайком? А как насчет тулинга и прочих популярных библиотек — они что, сами себя перепишут? Или вы хотите повторения истории с переходом на Python 3?


        А нафига вообще все это в Go, если есть Java? Как тут правильно сказали, уже давно с дженериками и полным фаршем. Или Rust — вернуть туда указатель Gc, и все дела. Или D — кстати, где он? Или куча других языков со всеми "современными" фичами.


        1. JekaMas
          21.09.2018 11:52

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


          1. Laney1
            21.09.2018 12:09

            Зачем вы переподите дискуссию в область поддержки и развития кода?

            затем, что любая спецификация бессмысленна без кода, который ее реализует. А что произойдет с кодом, я кратко пояснил. И именно это я и имел ввиду.


            И да, слова "экспоненциальный" я нигде не употреблял, это вы что-то выдумали


            1. JekaMas
              21.09.2018 12:13

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

              p.s. еще полезное упражнение попробовать официальный путь generics через генераторы и пожить с поддержкой этого… годик. мнение резко меняется.


        1. 0xd34df00d
          21.09.2018 22:26

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


        1. VolCh
          22.09.2018 22:18

          У экосистем джавы и гоу очень разные подходы. Можно сказать несовместимые.


  1. solver
    20.09.2018 15:32

    В целом правильно всё. Но автор передергивает конечно)

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

    А как же Firefox? Они не просто написали движок с нуля. Но даже рахзработали новый более безопасный язык для этого…


    1. tangro
      20.09.2018 15:36

      А помните была такая компания Опера, пилила свой движок, гордилась этим. А потом тихо сдалась, призналась, что не тянет. И того всех мощностей человечества на сегодняшний день хватает на 3±1 движка браузера (и то же самое и с ОС, движками БД и т.д.)


      1. Alexeyslav
        20.09.2018 16:32

        Не мощностей а денежных средств.
        Проблема не в количестве погромистов, а в их качестве. И в качестве архитекторов, которые этим заправляют…


        1. Lexicon
          20.09.2018 22:06
          +2

          Особая ирония — современные методологии управления.


          Начальника нет, ответственность общая, все равны, все компетентны, все архитектора.
          Тимлидами становятся номинально, не неся за собой никаких реальных навыков руководства.


          Блоги компаний "как мы управляем проектами/как мы делаем собеседования" множатся в геометрической прогрессии, но, похоже и до единства и до здравого смысла еще далеко.


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


          Конечно мир, где все люди равны одинаковы может выглядеть интересно, но ведь это не реальный мир. Задумываешься — "может мне кажется", но когда, скажем, на мобильном хабре(без обиды, хабр, ты исправляешься) неприлично долго висит кнопка "проголосовать", бесполезная для ~95% аудитории сайта, а прокрутка комментариев политических статей позволяет сгибать пальцем металлические пруты, это ощущение резко пропадает.


          1. VolCh
            22.09.2018 22:34

            Так кнопка-то не работает: «что-то пошло не так»


      1. ImKremen
        20.09.2018 21:50

        А вы хотя бы спецификации W3C возьмите.
        Это огромное, сложное и недоработаное ТЗ с большущими легаси проблемами в архитектуре. Самое интересное что в его разработке активно участвует не так и много людей, ибо порог вхождения также огромен.
        Полностью переписать с нуля, согласовать и оптимизировать такую систему невероятно сложно.


      1. Kant8
        21.09.2018 11:24

        Только сдалась она не потому, что не тянет, а потому что корпорация добра изо всех сил убивала ее по юзерагенту.


      1. nikolayv81
        21.09.2018 17:52
        +1

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


    1. Massacre
      20.09.2018 16:41
      +3

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


      1. Crandel
        20.09.2018 21:49
        +2

        Хватит писать этот бред про память. Сколько я бы вкладок не открывал, никогда больше 3-4 гиг не сжирало( при 32 гигах на моем ноуте) Единственное исключение — вкладки с юдубом, которые постоянно выжирают память. В хроме же за час использования — 6-8 минимум, без юдуба


        1. srhbdv
          20.09.2018 21:51

          Хватит писать этот бред. Сколько бы я не пользовался Хромом, никогда памяти больше 2х гигов не сжирается.


          1. VolCh
            22.09.2018 22:35

            на 32-bit винде? )


        1. khim
          20.09.2018 21:58
          +1

          Сколько я бы вкладок не открывал, никогда больше 3-4 гиг не сжирало( при 32 гигах на моем ноуте)
          У меня только основной процесс 6 гиг занимает, хотя у меня вкладок не большо пары сотен сейчас открыто. Хотя некоторые вкладки открыты больше месяца назад, это да.

          Единственное исключение — вкладки с юдубом, которые постоянно выжирают память.
          На рабочем компе я YouTube не открываю…


          1. fukkit
            21.09.2018 13:41

            вкладок не большо пары сотен сейчас открыто

            Вот это меня удивляет. У себя не могу насчитать более, ну максимум, 20.
            Что вы делаете с таким количеством одновременно открытых вкладок? Читать их все одновременно, да и попеременно, вы едва ли способны. Держите на случай веерных отключений Интернета? Связь нестабильная? Закладками не пользуетесь?
            Не первый раз вижу такие комментарии от людей, бывает еще пишут 500 вкладок. Теряюсь в догадках.
            Просветите? (интересно)


            1. khim
              21.09.2018 14:26

              Тематические окна браузера с 5-10 вкладками в каждой. В этом окне я смотрю какой корпус для Raspberry PI купить — тут 5 вкладок. В этом — комментирую статью Хабре, там открытые странички из неё и ссылки, которые ответы на неё пойдут. И так далее.

              Когда «работа» закончена — окно закрывается. Arena Allocator. Но некоторые вещи могутделаться неделю или месяц.


              1. fukkit
                21.09.2018 16:34

                Мне кажется, что они Вам действительно не нужны все одновременно, но некоторые обстоятельства делают неудобной их загрузку из ссылок по мере необходимости:
                1) Неудобный интерфейс закладок
                2) Проблема, как раз описанная в статье: сайты стали слишком жирными, ждать их загрузки из Интернета — никаких нервов не хватает.


                1. VolCh
                  22.09.2018 22:40

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


            1. PsyHaSTe
              21.09.2018 14:55

              Я лично в процессе написания какой-то фичи. Это могут быть вкладки с поисковыми запросами в гугл, докумкентация, ответы с SO, примера на медиуме, обсуждение подводных камней на реддите… Всё это мне нужно в течение работы, т.к. я могу переключаться между ними, если во время реализации я понял, что мне нужно Х, а я это видел в статье/ответе/… в одном из табов.


              1. popov654
                21.09.2018 19:02

                Я так со статьями в Википедии часто делаю :)

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

                Но это жрёт дофига оперативки. Я в этом случае банально пользуюсь историей просмотра, благо, ссылки не успевают спуститься далеко вниз (у меня 3,75 Гб RAM всего доступно, а браузер — хром, и потребляет он немало).


                1. PsyHaSTe
                  21.09.2018 19:23

                  Но это жрёт дофига оперативки. Я в этом случае банально пользуюсь историей просмотра, благо, ссылки не успевают спуститься далеко вниз (у меня 3,75 Гб RAM всего доступно, а браузер — хром, и потребляет он немало).

                  Обойтись можно, но неудобно.
                  Поэтому я еще в 2014 году купил себе 16 гигов памяти и с тех пор не знаю бед. И SSD тоже. Вложился один раз, теперь серфинг не доставляет мучительных ощущений :)


                  1. popov654
                    21.09.2018 19:39

                    Тоже скоро планирую апгрейд) Вообще привычка — сильная штука. Я когда работаю на Win7 x64, у меня гораздо больше лимит (на самом деле, мне не удавалось выбрать больше 75-78 процентов даже на очень ресурсоёмкой операции анализа здорового бинарника в IDA Pro). Стоит, правда, всего 8 гигабайт. Но даже на этой ОС я всё так же открываю не больше 6-7 вкладок. Привык уже, ничего не могу с собой поделать)

                    С ностальгией теперь вспоминается 2012-ый год, когда я в Opera 11.64 на WinXP мог открыть 50-60 вкладок вк, и оно даже не тормозило. И вылетало только на 70-75 вкладке. С Хромом и обновлённым вк так уж не получается… Хотя хром потенциально может выдержать больше, но с моим объёмом памяти своппинг начинается уже на 30-35 вкладке, а дальше — ужасные тормоза при смене вкладок, листании фотографий и страх, что браузер вот-вот вылетит.


                    1. PsyHaSTe
                      21.09.2018 19:45
                      +1

                      Ну вот с той картиной что я выше показал хром у меня ест 1700 мегабайт.

                      Что касается 75% памяти — то винда всегда старается всю свободную память занять, ибо пользователю пофиг, 5% или 50% свободно, а вот если что-то будет запрефетчено и открыто на пару секунд быстрее, то ему будет счастье. Поэтому чем больше свободной памяти, тем больше всяких кэшей, и тем быстрее и комфортнее работа.

                      16 гигов занять сложно, а вот 12 у меня периодически получалось.
                      Например на прошлой работе мне дали убогий ноут с 8 гигами памяти, где мне приходилось постоянно запускать тяжелые докер-образы и несколько студий (дебажить 2-3 проекта параллельно, микросервисы, чтоб их). Так вот — скрин в студию

                      image
                      У меня бло занято 21 гигабайта(!!) из восьми, остальное лежало в свопе и постоянно шерстило диск, всё дико лагало и не вызывало желания что-то оптимизировать (всё равно не пройдет ревью, и меня спросят за зря списанное время), а вот желание кого-то убить появлялось…


                      1. popov654
                        21.09.2018 20:01

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

                        Кстати, если запустить виртуалку в VMware, и в её настройках указать лимит памяти, превышающий мой размер RAM, и при этом гостевой ОС удастся достичь лимита по физической памяти хостовой ОС, то Win XP просто зависает намертво. Помогает только ребут :)


                        1. VolCh
                          22.09.2018 23:15

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


        1. Massacre
          20.09.2018 23:55

          Это, конечно, зависит и от вкладок, и от битности хрома и FF (у 64-битного, почему-то, процесс GPU в разы больше весит), но вот у меня Pale Moon если выжирает гиг, то что-то здесь не так (скорее всего, открылся Facebook). А тут вы 4 гига нормой считаете…

          И да, вкладки с видео мало памяти жрать не могут, надо ж его где-то кэшировать…


          1. Crandel
            21.09.2018 00:12

            А тут вы 4 гига нормой считаете

            Где я писал, что это норма? Я писал, что это максимум памяти, в который я упирался в фаерфоксе. Сейчас у меня открыт десяток вкладок и кушает все это добро вместе с системой(арч + і3), вайбером, емаксом всего 2100 мб оперативной памяти


            1. simpleadmin
              21.09.2018 10:04

              Прямо сейчас:

              firefox
              image


              1. Crandel
                22.09.2018 01:18

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


              1. DarthVictor
                23.09.2018 16:17

                У вас какой-то бракованный фаерфокс (ну то есть сайты бракованные, конечно).
                Пример: 22 вкладки из них 6 — ютьюб с запущенным видео и одна — эта страница с 1500 тысячами комментариев.

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


                1. simpleadmin
                  23.09.2018 16:38

                  У вас какой-то бракованный фаерфокс

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

                  ff
                  image


                  1. sumanai
                    23.09.2018 16:41

                    Дополнения?
                    К сожалению, мне нечего рассматривать в Google Search Console по причине как отсутствия аккаунта в гугле, так и отсутствия аналитики на моих сайтах, но загрузив всё это в дополнение к полутора десяткам моих вкладок, я получит в два раза меньший объём использования ОП.


                    1. simpleadmin
                      23.09.2018 20:15

                      Нет, вооще ни одного дополнения. Абсолютно голый ff, без дополнений и синхронизации.
                      На свежеустановленном ff открываю любую вкладку (можно просто настройки) и через 2-3 недели она сжирает 3-4-5 ГБ


                      1. sumanai
                        23.09.2018 23:20

                        через 2-3 недели

                        Разве что это.


                  1. IRainman
                    23.09.2018 17:05

                    Возможно что это жрёт 64 битный FF, у меня принудительно стоит 32.

                    В целом рекомендую открыть about:memory, нажать кнопку Measure и посмотреть что там действительно жрёт

                    P.S. я знаю, что 64 битный более безопасен, но мне ок.


                    1. sumanai
                      23.09.2018 17:12

                      Не думаю, что дело в битности. У меня тоже 64 бита.


        1. BigBeaver
          21.09.2018 00:11

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


          1. Crandel
            21.09.2018 00:17

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

            htop

            htop


            1. maisvendoo
              23.09.2018 00:23

              Это удар ниже пояса для поклонников решений от корпорации Microsoft. Так не честно )

              Мой текущий статус


          1. khim
            21.09.2018 00:28

            Это у вас просто памяти мало. У меня на десктопе с 64GiB, как правило, половина свободна всегда. Даже после того, как Chrome месяц проработал…


          1. Whuthering
            21.09.2018 10:35

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


            1. Fracta1L
              21.09.2018 10:48

              мониторим свободную память и использование свопа, если память нужна другим приложениям или её мало, то освобождаем»

              Разве это не работа операционной системы?


              1. Whuthering
                21.09.2018 12:43

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


                1. Fracta1L
                  21.09.2018 13:07

                  Я не эксперт в ОС, но насколько я знаю, управление памятью несколько более сложное, чем две метки «используемая» и «неиспользуемая»


                  1. Whuthering
                    21.09.2018 23:36

                    Это само собой, но я говорю про управление со стороны приложения. А там у нас есть malloc() и производные, free(), горстка апишек для разделяемой памяти и больше никакой магии. Варианта «вот эта память нам пригодится, но не то чтобы сильно нужна, сообщите, если кому другому надо вдруг» я ни в Win, ни в POSIX не встречал.


                    1. khim
                      22.09.2018 03:18

                      Варианта «вот эта память нам пригодится, но не то чтобы сильно нужна, сообщите, если кому другому надо вдруг» я ни в Win, ни в POSIX не встречал.
                      В POSIX этого нет, он на большие системы рассчитан. А в Windows — есть, конечно. Вернее… было. Можете почитать — статья большая, если хочется сразу к сути ищите по слову discardable.

                      Есть также в Android и в MacOS X/iOS. В MacOS (классической) тоже вроде было, но я даже не знаю где доку на неё в онлайн найти…


      1. Whuthering
        21.09.2018 10:42

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


        1. sumanai
          21.09.2018 11:01

          и позволяла слишком много

          И это было прекрасно.


          1. PsyHaSTe
            21.09.2018 12:16
            +1

            Нет, не было.


            1. sumanai
              21.09.2018 20:12

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


              1. PsyHaSTe
                22.09.2018 03:08
                -1

                Да, а я помню крашащиеся приложения, Потому что кто-то куда-то не туда записал что-то, синие экраны (которые на домашнем компе после установки семерки, а затем 8 и 10 я не видел), отрубающийся звук и прочие прелести… Да, классик тема определенно того стоит.


                1. sumanai
                  22.09.2018 11:28

                  приложения

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


        1. Massacre
          21.09.2018 13:18

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


          1. Crandel
            22.09.2018 01:23

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


            1. Massacre
              22.09.2018 04:54

              Попробуйте Vivaldi.


              1. Crandel
                22.09.2018 13:12

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


    1. sumanai
      20.09.2018 21:17

      Они писали его лет 6, и то до конца не внедрили, кажется до сих пор кусками вносят.


      1. dartraiden
        21.09.2018 02:03

        Да, они написали движок с нуля, а теперь по частям неспеша переносят его в Gecko. CSS-движок уже перенесли, на очереди WebRender.


        1. PsyHaSTe
          21.09.2018 02:13

          Да, и на нем уже клевые проекты пилят, например вот.


  1. kaleman
    20.09.2018 15:36

    Это еще не катастрофа. Вот подождите выйдет ваша ос на JS тогда по-другому запоете. Тогда чтобы работать в редакторе понадобится 16-ядерный процессор и 32 гига оперативки.
    С учетом того, что весь софт сейчас пытаются запихнуть в браузер, осталось запихнуть туда и операционную систему.


    1. Neikist
      20.09.2018 15:42

      Гугл в обратную сторону движется. Ну, его часть по крайней мере. Ядро фуксии с нуля пишут, упомянутый в статье Xi, флаттер (кроссплатформа, но компилится в натив, хоть и уровень абстракции местами повышает, но больше для андроида и иос, а для фуксии нативным фреймворком должен быть)


      1. Xandrmoro
        20.09.2018 17:08
        +1

        Гугл в обратную сторону движется.

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


        1. Neikist
          20.09.2018 17:09

          Ну, его часть по крайней мере


      1. vitvakatu
        21.09.2018 17:27

        Xi — это не проект Google, хотя и лежит у них на гитхабе. Об этом есть дисклеймер в самом низу readme


    1. KaneUA
      21.09.2018 08:26

      Это еще не катастрофа. Вот подождите выйдет ваша ос на JS тогда по-другому запоете.

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

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


      1. arielf
        23.09.2018 22:21

        Ахахахаха!


    1. Whuthering
      21.09.2018 23:41

      у LG webOS почти весь юзерспейc на HTML+js, и ничего, бегает бодрячком на телевизорах с дохлым армом и менее чем гигом памяти.


  1. Akon32
    20.09.2018 15:42
    +2

    Какая демагогия.
    Если автор хочет программировать под DOS — пусть программирует под DOS. Но внезапно окажется, что на дискете с DOS нет ни голосовых помощников, ни словарей и шрифтов на все языки мира, ни сотен драйверов под сотни возможных устройств, ни реализации десятков сетевых протоколов, ни надёжных и быстрых файловых систем, ни работы с защитой памяти, etc, etc; и, боюсь, даже стандартная библиотека C++ на дискету не влезет. Да что там, сейчас только заголовочные файлы OpenGL занимают 300КБ. При этом систему нужно было регулярно переустанавливать.
    А сейчас у нас на "дисках" гигабайты всякого хлама, и этот хлам более-менее нормально работает. Конечно, работает не идеально, проблемы бывают, но вот с этим:


    нынешняя ситуация — полное дерьмо

    я не могу согласиться.


    Зато сейчас, с десятками ГБ памяти на борту, я могу спокойно загружать в ОЗУ mesh'и с десятками миллионов треугольников и задействовать какой-нибудь OpenCL, когда того требует задача. Даже с учётом того, что несколько ГБ и миллионы тактов отъедает ОС, это намного удобнее, чем использовать "экономные" системы прошлого.


    1. muove
      20.09.2018 15:57

      Удобнее не значит лучше, ресурсы не вечны к сожалению, а мы их тратим на сисечки и кошечек


      1. Akon32
        20.09.2018 16:27

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


      1. PsyHaSTe
        20.09.2018 21:09

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

        Люди: Мы хотим кошечек!
        Государство(?): Нет, кошечки это низменная потребность, на самом деле ты хочешь запуск ракеты на Макс. На, держи кусочек ракеты, это теперь твоё! Ну что, рад?
        Люди:…

        Спрос-предложение отличный механизм, где люди сами решают, что они хотят получить. Поэтому мне совсем непонятны претензии к «кошечкам». И никакие ресурсы к слову не тратятся, ибо никаких невозобновляемых ресурсов на это не тратится, а при изменении приоритетов индустрия перестроится. Понадобится завтра отказаться от всего легаси х86 и перейти на RISC-V? Ну значит так и сделают. Раз не переходят, значит никто этого не хочет, а заставлять — значит ущемлять других людей ради того, что кому-то кажется «более достойной целью».


        1. Emulyator
          20.09.2018 21:50
          -1

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


        1. Am0ralist
          20.09.2018 23:10
          -1

          При таком поголовном подходе, нужно понимать, мы б все ещё сидели в пещере. Прячась от тигров и мамонтов.


          1. PsyHaSTe
            21.09.2018 00:32

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


            1. Am0ralist
              21.09.2018 11:02

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


              1. PsyHaSTe
                21.09.2018 12:22

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


                Как раз индустрия "котиков" создала удобные портативные ПК (вместо тех ужасов со стиками под названием кпк), быстрые сетевые протоколы (чтобы котики быстрее грузились), адаптивные фреймворки… Это всё чушь и нинужна?


                К слову про космос — он в известной мере переоценен. Оказалось, что там делать особо нечего, особенно если говорить про межзвездные перемещения. Легче заселить дно океана, чем Макс или там Венеру. Зачем вкладываться в неоптимальные проекты? Просто потому что Am0ralist так захотелось?


                1. Am0ralist
                  21.09.2018 13:15

                  Если это великая цель, которой все должны стремиться по вашему мнению
                  Где, где я это сказал?
                  а они этим не занимаются, то это скорее говорит о том, что вы чего-то не понимаете.
                  Почему не понимаю? Понимаю. Прогресс творят единицы. Доли процента. Еще десятки его обслуживают. Ну а прочие пожинают плоды и стенают, что раньше было лучше. Ну или котиков с сиськами лайкают.
                  Как раз индустрия «котиков» создала удобные портативные ПК (вместо тех ужасов со стиками под названием кпк), быстрые сетевые протоколы (чтобы котики быстрее грузились), адаптивные фреймворки… Это всё чушь и нинужна?
                  Неа, индустрия это создала не для котиков. Просто ради котиков их оптимизировали. Просто вы утверждаете, что условные котики самоцель. А для меня — это явная сдача. От тех денег которые корпорации и государства потратили не ради котиков.
                  К слову про космос — он в известной мере переоценен.
                  Спутники не нужны? вот эта вся навигация, спутниковые съемки земли — это всё не нужное барахло?
                  Зачем вкладываться в неоптимальные проекты?
                  Зачем вкладываться в бронзовый топор, когда нам хватает каменного? Зачем изобретать колесо, если можно волоком?
                  Затем, что совокупно массы не видят смысла ни в чем новом. Еще раз: ЭВМ массам были не нужны. Ракеты обществу были не нужны. Да те же айфоны обществу были не нужны. Пока это всё не появилось по факту. И вот вы пользуетесь сейчас плодами того же развития космических программ и рассуждаете, что ракеты были не нужны, раз люди им были не рады.
                  Классно, что


                  1. PsyHaSTe
                    21.09.2018 15:01

                    Что такое прогресс? Почему "вчера люди не могли смотреть котиков из туалета", а "теперь могут" не прогресс?


                    Спутники не нужны? вот эта вся навигация, спутниковые съемки земли — это всё не нужное барахло?

                    подмена тезиса, про ненужность никто не говорил. Про переоцененность — да, я говорил. Точнее это было в 60-70е. Сейчас люди поняли, что там делать особо нечего, и занимаются чисто практическими проектами: прогнозы погоды, там, интернет, GPS, вот это все. Никаких дурацких планов о создании городов на орбите, заселении венеры и т.п.


                    1. Am0ralist
                      21.09.2018 16:34

                      Сейчас люди поняли, что там делать особо нечего, и занимаются чисто практическими проектами: прогнозы погоды, там, интернет, GPS, вот это все. Никаких дурацких планов о создании городов на орбите, заселении венеры и т.п.
                      Никаких Масков с полетом на Марс, никаких Наса с исследованиями дальнего космоса, сплошь энгриберды на афйонах занимают умы абсолютно всего человечества…
                      подмена тезиса, про ненужность никто не говорил.
                      Люди: Мы хотим кошечек!
                      Государство(?): Нет, кошечки это низменная потребность, на самом деле ты хочешь запуск ракеты на Макс. На, держи кусочек ракеты, это теперь твоё! Ну что, рад?
                      Люди:…
                      а ведь спутников и прочего не было бы без ракет. Людям ракеты были нужны? Нет. Прогресс сейчас без ракет достиг бы таких высот? С чего бы? Без них тогда сейчас не было бы того, что я перечислил. Но ведь людям тогда это же было не нужно. И?
                      Почему «вчера люди не могли смотреть котиков из туалета», а «теперь могут» не прогресс?
                      Это сдача с прогресса для всех. А сам прогресс он именно в том, что я перечислял и начинался задолго до того, как появилась возможность вообще подумать, что котиков можно где-то на экране смотреть, а уж тем более — в туалете.


                      1. PsyHaSTe
                        21.09.2018 17:54
                        +1

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

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

                        И да, никто не говорит про запреты. Хочет маск на марс — пусть летит, он заработал это право в прямом смысле этого слова. Это его деньги, он может ими распрояжаться как считает нужным. А получил он эти деньги занимаясь полезными вещами — автомобилями, платежами и прочим.
                        а ведь спутников и прочего не было бы без ракет. Людям ракеты были нужны? Нет. Прогресс сейчас без ракет достиг бы таких высот? С чего бы? Без них тогда сейчас не было бы того, что я перечислил. Но ведь людям тогда это же было не нужно. И?

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


                        1. user343
                          21.09.2018 18:52
                          -2

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

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


                          1. PsyHaSTe
                            21.09.2018 19:26
                            +3

                            Ну это-то может быть. Но считать чужие деньги — последнее дело.

                            Я тут как раз с одним коммунистом знакомым разговаривал, на тему того, что если есть ученый, которй изобрел способ на 10% повысить прирост любой еды, а в качестве оплаты просит 5% от неё же. То ест мир получает +5% к производимой еде (бесплатно), человек получает 5% мировых запасов, все довольны. Но тут прецедент, что ученый не хочет рассказать свой секрет за медальку и почетное место на стене своего НИИ, хочет жить на старости без бед. На что мне человек с серьезным лицом говорил, что надо попробовать произвести идеологическую обработку, а если откажется — то клещами доставать.

                            Как он тратит свои деньги — его дело. Забирать их со словами «ты их потратишь неправильно, я потрачу правильно» — последнее дело. К сожалению, многие любят этим заниматься. Под видео с краш тестами всяких айфонов полно комментарией «ЛУЧШЕ БЫ МНЕ ОТДАЛ». Печально, но что поделать.


                        1. Am0ralist
                          21.09.2018 23:04

                          Вы не передергивайте. термояд — крайне полезная штука, очень надеюсь, что её реализуют. А вот полет на Марс — нет.
                          Потому что исключительно вы так решили?
                          Еще раз, вы сами сказали, что народ не хотел ракеты. И?
                          И термояд он не хочет. Ему вообще начхать на науку процентов так 90%. А вот ученым начхать на сисьски и котиков, чаще всего.
                          Но прогресс толкают — именно последние. А сиськи и котики достаются прочим — на сдачу.
                          Если бы они не были нужны, ни ракет ни спутниковы бы не было.
                          Людям, которым сейчас нужны сиськи и котики — они никогда не были нужны.
                          Тем, кому это нужно было — их были такие же доли процентов


                          1. PsyHaSTe
                            22.09.2018 03:11

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

                            А на марс они не хотят.

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


                            1. Am0ralist
                              22.09.2018 10:07

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


                1. popov654
                  21.09.2018 19:14

                  быстрые сетевые протоколы

                  Так они создавались в эпоху на 10-20 лет раньше котиков. Вы ведь про HTTP, SSL, TCP/IP, IPv6, Ethernet? Им лет уже бог знает сколько)

                  вместо тех ужасов со стиками под названием кпк

                  КПК были по тем временам достаточно быстрыми, и умели больше, чем умеют современные смартфоны. Стилусом можно было писать и даже рисовать простенькие вещи. Пальцем такого не сделаешь. Да и софт для КПК был куда богаче по функциям, как уже писали выше. Даже 3D игры были с довольно сносной графикой и геймплеем. Для КПК. Под процессоры в 64-128 МГц, ага. Сейчас под Андроид таких игрушек-то нет…


                  1. PsyHaSTe
                    21.09.2018 19:27

                    То есть айфон — это очередной шаг в сторону деградации, а вот кпк на XP были торт, я все правильно понял?


                    1. popov654
                      21.09.2018 19:47

                      Она была Windows CE/Windows Mobile 2003, и потом ещё были Windows Mobile 5.0 и 6.0. Я пользовался первыми двумя из названных выше. Вторая даже звонки и смс неплохо умела, с красивым UI.

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

                      P.S. Со скоростью я тоже уже не очень уверен. У меня есть смартфон на Андроиде 2.3, при покупке на нём всё летало. Но я принёс его домой, установил 10-15 приложений, прошло полтора-два года. Приложения потолстели с новыми версиями, плюс добавилось много фоток и скринов, которые система периодически хочет переиндексировать — и некогда шустрый телефон превратился в кошмарный лагодром, от которого я ужасно страдаю уже три года (а поменять не на что, нет на рынке моделей с клавиатурой). То есть я его тупо замусорил.

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

                      P.P.S. Облачные сервисы вроде Dropbox — это как раз несомненный плюс. Но клиенты под все вот эти же сервисы и под социальные сети вполне могли быть реализованы и для КПК тех лет, при чём даже при тех аппаратных мощностях(!). Правда, с загрузкой фотографий были бы сложности из-за малого объёма RAM, пришлось бы на сервере генерировать маленькие версии фотографий с меньшим разрешением — впрочем, для экранов 240x320 и не нужно грузить фотографии в Full HD.


                      1. ValdikSS
                        22.09.2018 10:59

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


                      1. 0xd34df00d
                        22.09.2018 17:05

                        Ну так отключите сканирование и индексирование всего и вся, будет у вас КПК на стероидах.


                  1. SirEdvin
                    21.09.2018 22:55

                    Так они создавались в эпоху на 10-20 лет раньше котиков. Вы ведь про HTTP, SSL, TCP/IP, IPv6, Ethernet? Им лет уже бог знает сколько)

                    Сколько там лет HTTP/2? TCP 1.3? Protobuf?


              1. Druu
                21.09.2018 12:25

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

                Только творят они его именно для того, чтобы удовлетворить требования масс.


                Ракеты народу были не нужны никогда, но чтоб вы сами сейчас делали без спутников? Или без ламповых ЭВМ, которые тоже народу то особо были не нужны?

                Массы немцев требовали бомбить саратов — сделали для масс ракеты.


                1. Am0ralist
                  21.09.2018 14:01

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


                  1. Druu
                    22.09.2018 05:14

                    То есть ракеты космические сделали для того, что бы удовлетворить требования масс, которые этого не просили

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


                    1. Am0ralist
                      22.09.2018 10:17

                      Чего это не просили? Просили, потому и было развитие космоса.
                      Во-первых, начните с того сообщения, на который отвечал я. А то выглядит как-то глупо. Один утверждает одно, второй другое, но уже мне, отвечающего первому не его доводы.
                      Но по вашему ответу. У меня воображение богатое. Я так и представляю.
                      Приходит Народ к Циолковскому и говорит: гони, понимаешь, теорию реактивного движения! И все такие радостные, с транспарантами.
                      Потом оттуда сразу идут к Королеву, прям так, в лпатях, и говорят: гони, понимаешь, ракету в космос, да с Юркой внутрях! И не смей, шельмец, другого никого туда сувать!

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

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


                      1. Druu
                        22.09.2018 15:25

                        Приходит Народ к Циолковскому и говорит: гони, понимаешь, теорию реактивного движения! И все такие радостные, с транспарантами.
                        Потом оттуда сразу идут к Королеву, прям так, в лаптях, и говорят: гони, понимаешь, ракету в космос, да с Юркой внутрях! И не смей, шельмец, другого никого туда сувать!

                        Примерно так все и было, на самом-то деле.


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

                        То, что нафиг никому не упало — в результате умирает не родившись. А выживает только то, что нужно и полезно.


                        1. Am0ralist
                          23.09.2018 14:01

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


                          1. Druu
                            23.09.2018 14:49

                            Вау, альтернативная история?

                            Почему альтернативная? А по-вашему как оно было?


                            Что становится нужным и полезным.

                            Да нет, что-то либо нужно и полезно, либо ненужно и неполезно. Никакого "становится" тут нет.


                            Как не нужны были всем автомобили на момент их создания, а сейчас они — везде.

                            С чего же вы взяли, что не нужны? Конечно, нужны.


                            Вы не ставьте потребность в конкретном результате прогресса раньше самого прогресса.

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


                            1. Am0ralist
                              23.09.2018 15:27
                              +2

                              Почему альтернативная? А по-вашему как оно было?
                              явно и близко не так, как я описал. Укажите, кто же требовал с Циолковского теорию реактивного движения?
                              Да нет, что-то либо нужно и полезно, либо ненужно и неполезно. Никакого «становится» тут нет.
                              Самолет Райтов не был нужным и полезным в момент создания. Кроме горстки людей, которым это было интересно сделать. Когда же начали летать первые самолеты — массы не набежали с требованием от конструкторов сделать вот прям щаз самолет, который сможет перевозить груз тоннами.
                              Закон про автомобили может напомнить?
                              Англия
                              В 1865 году в Англии вышел закон, согласно которому в городе автомобили могли двигаться не быстрее 3 км в час, а за городом 6 км в час. Экипаж должен был состоять из трех человек, один из них был обязан идти перед машиной, размахивая флажком, чтобы предупредить конные повозки о приближении автомобиля.


                              1. Druu
                                23.09.2018 15:43

                                Укажите, кто же требовал с Циолковского теорию реактивного движения?

                                А при чем тут вообще Циолковский?


                                Самолет Райтов не был нужным и полезным в момент создания.

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


                                Итого, прогресс уже пришел, вещь создали, а большинству оно не было нужно

                                Ну как же не было? А зачем кто-то его покупал, если не было нужно?


                                Атомная бомба примерно так и получилась.

                                В каком смысле так и получилось? На атомную бомбу, опять же, существовал вполне конкретный запрос. Вот ее и изобрели. Это же было инженерное решение, в проработку которого было вбухано уйма средств, как в США так и в СССР. На кой черт в это все вбухивали средства, если оно не было нужно? В то, что не нужно, деньги не вкладывают.


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

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


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


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

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


                                Планшеты появились задолго до iPad. И ровно до него это были единичные вещи.

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


              1. Alexeyslav
                21.09.2018 15:51

                Разводили бы турбо-лошадей…


              1. 0xd34df00d
                21.09.2018 22:41

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


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


                1. Am0ralist
                  21.09.2018 23:17

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


                  1. 0xd34df00d
                    22.09.2018 00:06

                    Ну и всем нравятся свои сорта морковки (хотя корреляции прослеживаются).


                  1. Ogra
                    22.09.2018 07:03
                    +1

                    на ученых послабляйка была

                    Шаражки на ученых были, а не послабляйка.


      1. Fracta1L
        21.09.2018 08:23

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


        1. PsyHaSTe
          21.09.2018 12:24

          Целая миска риса? А что Ты Сегодня сделал для Человечества, чтобы еще требовать от него что-то?


    1. novice2001
      20.09.2018 16:01
      +1

      А весь этот хлам нужно тащить всем и сразу? Словари и шрифты на все языки мира, драйвера на устройства, с которыми 99,999% никогда в жизни не столкнется и все такое?
      Работа с защитой памяти и фаловыми системами — это, ну, десятки мегабайт, но никак не гигабайты.
      Есть интернет и есть базовая концепция модульности. Должно быть ядро с необходимой ВСЕМ базовой функциональностью, а все остальное должно загружаться по мере надобности.


      1. Neikist
        20.09.2018 16:03

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


        1. novice2001
          20.09.2018 16:15

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


          1. Akon32
            20.09.2018 16:21

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


            1. novice2001
              20.09.2018 16:25

              Вот именно на производстве до смерти необходимы словари всех языков мира, голосовой помощник и прочий хлам???


              1. Neikist
                20.09.2018 16:29
                +1

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


                1. novice2001
                  20.09.2018 16:35
                  -1

                  Делаете свой образ с нужным именно вам софтом и нужными именно вам драйверами. Хоть сразу миллионом. И накатываете куда вам нужно. Зачем весь этот мусор всем остальным???


                  1. polearnik
                    21.09.2018 10:52

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


                    1. Am0ralist
                      21.09.2018 11:09

                      И для этого к ноутам всегда был приложен диск с драйверами под разные ОС…


                      1. freuser
                        22.09.2018 22:59

                        К моему Asus K53BY был приложен диск с драйверами размером всего 1,6 ГБ под целых две ОС — Windows Vista и Windows 7. Всё. ХР не может звук вообще и разрешение выше 1024х768, 10-ка тупо не становится, виснет. Причем драйвера ставятся тоже интересно: Блютуз? вот тебе блютуз. правда, он работает через нашу фирменную программу, которая будет висеть в трее и отжирать 5% ЦПУ всегда, но ведь 5% это немного, всегда рады помочь.
                        Графика? вот тебе графика. в процессе установки мы перезагрузимся дважды, и плюс каждую загрузку ОС ты будешь ждать дополнительно пару минут, но зато 6,2 балла по встроенному бенчмарку

                        Пришлось с работающей семерки выдирать только дрова без довесков, теперь они заняли 354 МБ на диске D:.
                        Для сравнения, дистрибутив Linux SIDUX, который увидел все мое железо из коробки (многострадальный синезуб потребовал однострочника на шелле, чтобы загрузить модуль с другим параметром), весил чуть больше 400 МБ, и был полнофункционален для бытового использования (разве что торрент-клиент отсутствовал). Так что драйвера тоже разные бывают.


                    1. novice2001
                      21.09.2018 11:51
                      +1

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


              1. Akon32
                20.09.2018 16:36

                Я как-то устанавливал драйвера на принтер в тайге. Думаю, если бы на компьютере не оказалось хлама типа драйверов CD-ROM или USB-флешек, мне бы это не удалось. Это, конечно, распространённые вещи, но с тем же успехом мне мог понадобиться дотнет, или vcrt определённой версии.


                1. novice2001
                  21.09.2018 08:11

                  Вот я и говорю, давайте для удобства сотых долей процента вломим несколько десятков гигабайт всем подряд. И, самое, главное, даже при таком подходе, все равно найдутся люди, на чье железо драйверов нет.
                  Так что, как написал kbaa, собираетесь в тайгу — берите все, что может понадобиться с собой, а не надейтесь на чудо.
                  Взгляните правде в глаза: какой-то .Net вам нужен для конкретной программы. Если в тайге нет сети, то взяться она может только из сети в офисе. Ну, так проверьте требования и скачайте в том же офисе нужный рантайм. До того, как обнаружится, что на компьютере в тайге его нет. Это разумно и логично, не?
                  Или заранее интегрируйте в образы ОС для своих компьютеров все нужное. Не заставляйте всех терпеть весь этот ненужный подавляющему большинству хлам.


                  1. 0xd34df00d
                    21.09.2018 22:52

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


                    Золотые были времена! А трава, главное, такая зелёная была!


                    1. Am0ralist
                      21.09.2018 23:22

                      На пару лет позже я свой адсл юсбшный на slax'е заводил: трава тогда точно была зеленее… а хаутушки — укуреннее.


            1. kbaa
              20.09.2018 19:27

              Из моего опыта — если едешь туда, где нет интернета, то или берёшь все драйвера на дисках/флешках, или потом придётся наслаждаться gprs/edge скоростями (если повезёт) или ехать второй раз
              не знаю, драйверы к чему сейчас есть по дефолту, но ни к одной железки из тех, что я встречал в охранных системах — ничего естественно нет. Что уж говорить про чтото более специфичное и промышленное.


          1. Neikist
            20.09.2018 16:23

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


            1. novice2001
              20.09.2018 16:30

              Ну, здорово. Чтобы кому-то в компании, где черт ногу сломит, было хорошо, давайте вломим по нескольку десятков гигабайт хлама всем вообще.
              Вместо того, чтобы в отдельно взятой компании навести порядок с периферией и драйверами для нее.
              Логика ОК.


              1. Neikist
                20.09.2018 16:36

                Есть интернет и есть базовая концепция модульности. Должно быть ядро с необходимой ВСЕМ базовой функциональностью, а все остальное должно загружаться по мере надобности.

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


                1. novice2001
                  21.09.2018 08:01

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


        1. Porohovnik
          20.09.2018 22:38

          Так можно на флешку ОС со всем функционалом, а при установки выбирать что установить, а что нет.


        1. Borjomy
          21.09.2018 10:25

          А для того, чтобы грузить весь код сразу — он, значит, есть


      1. Akon32
        20.09.2018 16:18

        А весь этот хлам нужно тащить всем и сразу?

        Обычно балансируют между "тащить ВСЁ" и "загружать всё необходимое из интернета". Текущий баланс — порядка нескольких ГБ на ОС (на windows, кажется, чуть больше).


        В дистрибутивах linux есть "минимальные" установочные образы с загрузкой остального по сети — мегабайт 100-200. Но установленная ОС со всеми типичными серверами занимает те же пару гигабайт как минимум. Не могу сказать, что это мало.


        1. 0xf0a00
          20.09.2018 16:49
          +1

          2-3 гигабайта против 10-15, причем эти 2-3 гигабайта обладают большим функционалом.
          Парадокс.


          1. PsyHaSTe
            20.09.2018 21:16

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

            Ну вот я поставил убунту 1804, выбрал язык русский, но все равно в интерфейсе половина текста на английском. Даже в самой установке все галки на русском, а вот «Include third-party software» не очень. Как бы тут не было правила 80/20, что 10-15гигабайт имеет в 4 раза (80%) больше файлов, чтобы покрыть вот эти «мелочи», а 2-3 гигабайта нет.

            Плюс возможно там слой совместимости с программами, написанные в бородатые годы, ибо в 2-3*игабайтах часто практикуется совместимость на уровне исходников, а не бинарная.


            1. 0xd34df00d
              21.09.2018 22:58

              Плюс возможно там слой совместимости с программами, написанные в бородатые годы, ибо в 2-3*игабайтах часто практикуется совместимость на уровне исходников, а не бинарная.

              Именно. Плюс по одной копии библиотек для всего, не таскает каждая программа всё вплоть до рантайма с собой.


      1. PsyHaSTe
        20.09.2018 21:10
        +1

        Есть некая ОС, в которой всё это включено по-дефолту (скажем, Убунту).
        Есть ОС, где всё надо пилить самому (тот же Альпин).

        Как думаете, какую ОС чаще ставят в качестве домашней и почему?


        1. novice2001
          21.09.2018 09:47

          Некорректное сравнение. Это совсем не то, о чем я говорю.


        1. Simplevolk
          21.09.2018 13:14

          а какую из них выбирают в качествеdocker-образа и почему?)


          1. SirEdvin
            21.09.2018 13:24

            Ubuntu/Debian, потому что в apline постоянно что-то не работает. Они используют musl и там куча несовместимостей и недоделок, например, инструкции search в resolv.conf не работают. А еще они там решили перейти на libressl и теперь каждый второй софт, который работает с криптографией становится туда только с бубнами.


      1. VolCh
        23.09.2018 00:16

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


    1. staticmain
      21.09.2018 10:26

      Но внезапно окажется, что на дискете с DOS нет ни голосовых помощников, ни словарей и шрифтов на все языки мира, ни сотен драйверов под сотни возможных устройств, ни реализации десятков сетевых протоколов, ни надёжных и быстрых файловых систем


      Конечному пользователю от всего вышеперечисленного ни тепло ни холодно — ему не нужен «голосовой помощник», от которого проку — поставить будильник и отказаться вызывать скорую. Ему не нужны словари на все языки мира, он пользуется одним-двумя, ему не нужны десятки сетевых протоколов — гофер остался в прошлом, сейчас кроме tcp/udp http/https пользуются разве что ftp и то отдельные личности. Этими вашими mtproto пользуются отдельные приложения и то, не как отдельным протоколом, а уровнем абстракции над http, в системе поддержка этого не нужна. Сотни драйверов конечному пользователю не нужны, у него максимальный набор чипов — два десятка, это НЕ нужно по умолчанию тянуть в систему.

      и, боюсь, даже стандартная библиотека C++ на дискету не влезет.


      -rwxr-xr-x 1 root root 1868984 янв 15 2018 /lib/x86_64-linux-gnu/libc-2.23.so
      -rw-r--r-- 1 root root 1566440 июн 22 01:55 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21


      Все прекрасно помещается.


      1. khim
        21.09.2018 14:31

        Не понял что там у вас помещается. Оба файла по размеру больше всех распространённых типов дискет.


        1. staticmain
          21.09.2018 14:44

          Странные у вас дискеты, меньше 1.5 МБ:
          ~$ ls -lh /lib/x86_64-linux-gnu/libc-2.23.so
          -rwxr-xr-x 1 root root 1,8M янв 15 2018 /lib/x86_64-linux-gnu/libc-2.23.so
          ~$ ls -lh /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
          -rw-r--r-- 1 root root 1,5M июн 22 01:55 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21


          1. ValdikSS
            21.09.2018 15:11
            +2

            Казалось бы, не много-то времени прошло, а люди уже не помнят ёмкость самых распространенных дискет. На дискету помещается 1.44 МБ. Есть 2.88 и ZIP-дискеты, но они не были популярны или распространены.


          1. khim
            21.09.2018 21:55
            +1

            Странные у вас дискеты, меньше 1.5 МБ:
            Это у вас они странные. Начинались дискеты с размера 170KB, кончились 1.44MB (причём это было обсобый такой специальный «флоповый» мегабайт в 1024000 байта).

            Дискеты в 2.88MB и ZIP-drive — это экзотика, они мало на каких компах были.


    1. iroln
      22.09.2018 16:44

      Мне кажется, вы не поняли, что хотел сказать автор. Он не предлагает стать "дауншифтером" и принять аскезу, используя DOS и ограничиваясь 640 килобайтами. Он всего лишь хочет, чтобы программы были быстрыми, качественными, надёжными и не бессмысленно раздутыми. И да, я сейчас пишу это сообщение в браузере Google Chrome, который недавно обновился, и теперь этот текст набирается с сильно заметным лагом и фризами на моём Core i7 и 16 Гб ОЗУ. Если это не дерьмово, то я тогда не знаю...


      1. Druu
        23.09.2018 03:56

        Дык, это, платите деньги, они и будут. Вы вот сколько за месячную подписку на браузер платите? Небось, 0$? А за хабр? Столько же? А чего вы тогда хотите за этот 0$?


        Или вам бесплатно должны делать качественные, надежные, быстрые приложения? А сами бесплатно не хотите поработать? Нет? А чего так?


        1. iroln
          23.09.2018 09:29
          +2

          Вы серьёзно?! У меня есть просто огромное количество примеров софта за астрономические деньги, который ужасен настолько, что не понятно как он вообще может работать. Например, всякие штуки уровня интерпрайз типа Cisco WebEx или адовые ERP за десятки тысяч долларов. А софт во всяких "умных" телеках, которые адски тормозят, а к тому же ещё и решето с точки зрения безопасности. Всё, я даже продолжать не хочу.


          На счёт хрома, Google знает всё обо всех и зарабатывает на этом, если ты не платишь за продукт, то ты сам становишься продуктом, это вроде все знают. На счёт подписок, я пользуюсь продуктами JetBrains по подписке, и что, думаете, там всё идеально? Хахахаха. Баги годами висят в багтрекере. С каждым новым релизом платформа intellij idea требует всё больше ресурсов и всё тормознее, а какого-то серьёзного прогресса по функциональности я что-то не замечаю.


          1. Druu
            23.09.2018 14:20
            -2

            Вы серьёзно?! У меня есть просто огромное количество примеров софта за астрономические деньги

            Замечательно, то есть к тормозящему браузеру и хабру все претензии сняты?


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

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


            На счёт подписок, я пользуюсь продуктами JetBrains по подписке, и что, думаете, там всё идеально? Хахахаха. Баги годами висят в багтрекере. С каждым новым релизом платформа intellij idea требует всё больше ресурсов и всё тормознее

            Так не пользуйтесь продуктами джетбрейнс или идеей. Пользуйтесь продуктами, написанными хорошими, годными инженерами! Которые пишут быстрые, надежные приложения.
            На худой конец — у вас же всегда есть вим или емакс. Почему вы не пользуетесь вимом или емаксом?


    1. arielf
      23.09.2018 22:30

      Автор и многие совершенно не понимают — зачем версии Android на конкретном телефоне нужны 6 Гб драйверов на все возможные интерферометры из ЦЕРНа? Или 100500 прочих телефонов — а? В конце концов ось модульная и предустановленная — неужели нельзя забабахать норм кастомизацию — шоб на каждый телефон шли лишь нужные вещи? Зубами клянусь — реально нужных вещей в нём на гиг максимум!


  1. mapron
    20.09.2018 15:48

    Очень сильно напомнило suckless.org/philosophy


    1. PsyHaSTe
      20.09.2018 21:18
      +1

      Полный треш, а не философия. «Если у вас нет собаки, её не отравит сосед». Особо эпичные места можно цитировать, но пожалуй тут смысла этого делать нет. Просто попробуйте попользоваться софтом, написанным с такой философией, я посмотрю. Обычно разработчики просто начинают крушить всё подряд, если окажется, что в некоей софтине нет подсветки кода, автоматических рефакторингов, плагинов, автодополнения, интеграции с сотей системой версионирования, а также нельзя выбрать ровно 15 строчек и заменить в них foo -> bar. Что говорит о некоемом двоемыслии, с позиции разработчика и пользователя соответственно.


      1. srhbdv
        20.09.2018 21:32
        +6

        Просто попробуйте попользоваться софтом, написанным с такой философией, я посмотрю


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

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

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

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

        Беда в общем, не в сфере. А в головах людей, что дальше собственного носа и потребностей видеть неспособны.


        1. PsyHaSTe
          20.09.2018 22:05

          Да, примерно это я и собирался расписать, хорошо, что теперь не придется.

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

          (Non-)Features

          * No different font styles (bold, italic, underline)
          * No fancy layout options (different font sizes, different colors, …)

          * Slides with exuberant amount of lines or characters produce rendering glitches intentionally to prevent you from holding bad presentations.


          то есть отсутствие фич и есть фича, как и отсутствие обработки краевых случаев


        1. ValdikSS
          21.09.2018 01:53

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


          1. sumanai
            21.09.2018 09:37

            Высокая посещаемость reddit.com не вызывает сомнений, но сколько из пользователей читают его именно через этот поддомен?


            1. ValdikSS
              21.09.2018 10:04

              Редизайн случился не так давно, менее года назад. До этого он всегда был таким, как сейчас на old.


          1. Fracta1L
            21.09.2018 10:26

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


          1. volchonokk1
            21.09.2018 11:26

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


          1. srhbdv
            21.09.2018 13:07

            Субдомен old как бы констатирует сказанное выше


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


        1. Tsimur_S
          21.09.2018 16:03

          Ну так давайте, чем вам не конкурентноспособное приемущество запилить более быстрый slack или скайп, или что-угодно-еще, и показать всем как надо.

          Да хотя бы телеграмм, 30 мб памяти против 300+ у слаки и 100+ у скайпа. Если бы все писали такие приложения то этой статьи бы не было.
          Беда в общем, не в сфере. А в головах людей, что дальше собственного носа и потребностей видеть неспособны.

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


          1. SirEdvin
            21.09.2018 16:39

            Да хотя бы телеграмм, 30 мб памяти против 300+ у слаки и 100+ у скайпа. Если бы все писали такие приложения то этой статьи бы не было.

            Мм… вы сейчас серьезно?
            Покажите в телеграме:


            • Воркспейсы
            • Треды
            • Интерактивных ботов (со списками, выпадающим меню и так далее)
            • Возможно красиво форматировать сообщение
            • Грамотную организацию вкладок и разделение потоков. Что-то в духе личка и приватные чатики на 2-3 человека отдельно, а общие каналы отдельно.
            • И так далее


            1. PsyHaSTe
              21.09.2018 18:26

              1. -
              2. -
              3. Такие боты есть
              4. поддерживается markdown
              5. -
              6. ...


              1. SirEdvin
                21.09.2018 18:32

                1. Таких ботов нет. Посмотрите как работает и выглядит MailClark или же интеграцию с jira. Telegram до такого еще довольно далеко
                2. Нет. Поддерживается огрызок синтаксиса маркдауна в виде bold, italic текста, ссылок и verbatim режима при помощи кавычек. В том же slack как минимум поверх этого есть еще заголовки и куча других полезных штук. Не учитывая, насколько гибкое форматирование сообщений в слаке.

                Телеграму с их "текст и кнопки" еще далеко идти.


                1. PsyHaSTe
                  21.09.2018 18:41

                  1. А это разве не "интерактивный бот"?
                    image
                  2. Видимо разрабы решили, что этого огрызка хватит. Учитывая, что в телеграмме длинные строки выглядят ужасно, звучит логично.


                  1. SirEdvin
                    21.09.2018 18:43

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

                    А так да, есть.


            1. iroln
              23.09.2018 18:57

              Вот это всё, что вы перечислили, должно требовать каких-то огромных ресурсов что ли? Или в чем смысл коммента? А со скайпом чего не сраниваете тогда? :)


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


              1. SirEdvin
                23.09.2018 21:49

                1. Скайп написал в microsoft, они просто пишут плохие продукты.
                2. Все, что я перечислил возможно еще и потому, что slack решил не выпускат 100 и 1 продукт для разных платформ, как сделал telegram, а сконцентрировать свое внимание на одной и просто портировать результаты с нее на другие платформы с минимальными затратами. Меньше затрат на порт — больше фич. У телеграма вот все еще нет секретных чатов на дестопе.


          1. Massacre
            22.09.2018 02:06

            Вообще, телеграм на десктопе это примерно 60мб на старте и утечки памяти вплоть до 500+, но хоть не электрон, т.е UI не лагает… Скайп 7.х был в районе 100-150мб, если учитывать браузерный компонент, да.

            А слак такой раздутый не из-за дополнительных фич, а именно из-за электрона.


      1. mapron
        22.09.2018 12:00

        Ну я лично не агитирую ни за, ни против.
        По поводу «попробуйте пользоваться софтом» — с сайта проекта:
        — zlib
        — musl
        — libev
        — DeadBeeF
        — mc
        — MPV (мой дефолтный плеер на винде)
        Это то чем пользовался я. Так-то порядочно там довольно популярного софта:
        suckless.org/rocks
        Вы видели исходники musl?

        Что касаемо разработки DE под такой идеологие, или IDE — то я лично уже хз, тут я бы поспорил, что suckless зайдет)


        1. SirEdvin
          22.09.2018 13:36

          musl

          Не поддерживает 1000 и 1 вещь, к который вы привыкли. Мне лично понравились проблемы с search в dns-resolve.


          Вы видели исходники musl?

          Сколько там ему лет? Когда доживет до glibc тогда и поговорим. Написать классный код довольно просто, а вот поддерживать.


          1. mapron
            22.09.2018 13:40

            Очень надеюсь до glibc никогда не доживет :) у них все же разные сферы применения. Для «микро» систем — самое то (uclibc я еще терпел из-за mmuless).
            7 лет вроде поддерживает. OpenWRT на него перешел уже.
            А если вы хотели сказать «когда ему будет столько же лет, сколько glibc» — то вообще не смешно.
            Про список совместимости — я в курсе, спасибо, я читал внимательно, как и баги которые чел заводил в других проектах (это уже просто для себя).
            Как полную замену glibc во всех отношениях никто проект и не позиционировал. Но я да, считаю, что это один из правильно сделанных suckless проектов.


            1. SirEdvin
              22.09.2018 13:44

              Вики пишет, что 4 года назад вышла стабильная версия (


              Ну а касательно никто не позиционировал — а вы уверены? Его вот в alpine утащили, который довольно популярен для docker образов, которые вполне себе на серверах крутятся.


              1. mapron
                22.09.2018 13:51

                musl-1.0.0.tar.gz — March 20, 2014
                Наверное речь об этом. Я лично с проектом познакомился еще до релиза 1.0.0, он уже тогда был вполне юзабельный)

                Про позиционирование, что-то нигде не нашел про замену glibc. Да, пишут, мол general-purpose; что до использования на серверах — ну видимо майнтейнеры знают, как обходить особенности resolv.conf и прочую муть)

                (давайте завяжем с оффтопом наверное, а то и так комментов полторы тыщи)


  1. SeOd
    20.09.2018 15:50

    Ох, если еще посмотреть на js, ноду и папочку node_modules. То там тоже боль. Особенно, если застал как было до. Но теперь:
    «двести метров джаваскрипта грузят текста триста байт»
    https://soundcloud.com/viruzzz-kun/kolkhoznyy-frontend


  1. shybovycha
    20.09.2018 15:53

    В современных текстовых редакторах задержка при наборе больше, чем в 42-летнем Emacs. Текстовые редакторы! Что может быть проще? На каждое нажатие клавиши, нужно всего лишь обновить крошечную прямоугольную область на экране, а современные текстовые редакторы не могут сделать это за 16 мс.

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


    1. Neikist
      20.09.2018 15:56

      Кроссплатформа и без js и браузера может быть к счастью. Вспомнить тот же qt, kivy (python, но все лучше js+html+css), flutter.


      1. shybovycha
        20.09.2018 16:04

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


        1. Neikist
          20.09.2018 16:05

          Я говорю о том что кроссплатформа это не всегда трэш из веба.


        1. Fedcomp
          21.09.2018 12:00

          Как раз здравый смысл. Дешевле сделать на электроне чем нанять Qt программиста.


          1. shybovycha
            21.09.2018 12:06

            кому — "дешевле", кому — "здравый смысл" =)


      1. yarston
        20.09.2018 16:59

        В гугл плее про демо приложение на флаттере (Flutter gallery) пишут, что жирное и лагает.


        1. Neikist
          20.09.2018 17:02

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


      1. chupasaurus
        20.09.2018 17:14

        Вспомнить тот же qt
        В котором для любителей JS вне браузеров есть QTWebkit…


        1. Crozzy13
          20.09.2018 17:55

          Что угодно придумают, лишь бы на плюсах не писать. Про порты Qt для других ЯП я вообще молчу


        1. 0xd34df00d
          21.09.2018 23:01

          Вы его, похоже, с QML перепутали.


          1. chupasaurus
            21.09.2018 23:48

            Да нет, знакомтесь.


            1. 0xd34df00d
              22.09.2018 00:07

              Так это ж и есть браузер, оно не вне браузера.


    1. xMushroom
      20.09.2018 21:34

      Пишу на нативном WPF (хотя он тоже не нативный) и страдаю — на то, что в браузере можно сделать одним аттрибутом, тут уходит полдня. А ведь эти полдня я мог потратить на что-то более полезное…


      1. shybovycha
        20.09.2018 21:40

        вот именно этим и обоснованы абстракции вроде unity, electron и прочяя ересь — "чтобы разработчик думал о высоком, а не о низкоуровневой ерунде". именно об этом и весь сыр-бор


        1. xMushroom
          20.09.2018 21:46
          +1

          Ну вообще этим вся цивилизация обоснована. Разделение труда там, специализация и т.д.


          1. shybovycha
            20.09.2018 21:49
            -1

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


            1. xMushroom
              20.09.2018 21:52

              Если это был сарказм, то я его не понял.


      1. shybovycha
        20.09.2018 21:46

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


        1. staticlab
          21.09.2018 00:30

          Кажется, Жира тормозит на стороне сервера с суровой джавой, и соискателей в Атлассиан собеседуют наверняка так же, как и везде, с вопросами о структуре хэшмапа и разворачиванием дерева.


        1. polearnik
          21.09.2018 11:12

          Делаете вы сайт ну прдположим на c++ Вначале все идет норм только постоянно отвлекаетесь на ошибки типа если пользователь введет не число а букву все упадет. Потом вдруг оказывается что пользователи жить не могут без пары графиков. Вы тратите кучу времени на то чтоб разобраться как рисовать графики. Потом оказывается что пользователи то хотят интерактивные графики. Вы снова тратите кучу времени на то чтоб запилить это. Потом оказывается что надо бы сменить дизайн или дать пользователямв возможность выбрать его. А у вас то он прибит гвоздями в коде.И вот в течении этих пары лет пока вы будете пилить свой довольно простенький сайт вы обязательн остолкнетесь с тем что ваше приложение-сайт работает только под виндой но пользователи хотят еще на телефонах его запускать Вы скажете что вы потратите много времени в первый раз а потом просто будете использовать примеры из старого кода. Возможно догадаетесь выделить примеры в отдельные файлы и даже делится с другими пользователями чтоб они потратили в след раз гораздо меньше времени. И даже сами будете брать библиотеки других чтоб ускорить процесс. Хотя погодите мне это чтото напоминает. и вы не учитываете еще тот факт что вы сами можете делать чтото неоптимально просто изза недостатка знаний или опыта.

          P.S. Работал я с одним кадром который часто мечтал о том чтоб сделать сайт на ассемблере. Типа слушать 80 порт можно и на ассемблере. Делать запросы в бд тоже можно из асма итд. Вот бы все летало и жрало мало ресурсов


          1. serbod
            21.09.2018 11:38

            В начале 2000-х так и было. Программы в Delphi / C++ Builder создавались из компонентов. Вставил мышкой компонент HTTP сервера, обработчиков HTTP запросов, подключения к базе данных, таблиц и запросов базы данных. Нарисовал мышкой визуальную форму с полями ввода, гридами, графиками, кнопками и панельками. В свойствах компонентов указал, с кем и как они связаны, где брать данные для отображения. И потом все это скомпилировал в файл и запустил. Получился stand-alone web server, который в браузере работает как настольное приложение, только хуже. Потому что тогда интернеты были вялые, браузеры туповатые, а дизайн делали не дизайнеры, а программеры.

            Сейчас тоже так можно, причем в браузере будут не древние ActiveX скрипты с нативными формами, а модный Sencha Ext JS. Но ведь Delphi умер, вышел из моды, нет предложений на рынке.


          1. shybovycha
            21.09.2018 11:49

            в вашем кейсе две проблеммы:


            Делаете вы сайт

            и


            сайт ну прдположим на c++


          1. shybovycha
            21.09.2018 11:56

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


      1. PsyHaSTe
        21.09.2018 00:49

        Строго наоборот же, там, где в WPF можно обойтись двусторонним биндингом и сделать датасорс на коллекцию или даже БД в фронтент-разработке придется тащить и бекенд, и какой-нибудь реакт/ангуляр.


        1. staticlab
          21.09.2018 01:05

          и сделать датасорс на коллекцию или даже БД в фронтент-разработке придется тащить и бекенд

          Очевидно, что приложение клиент-серверное, значит тащить бэкенд всё равно придётся.


          и какой-нибудь реакт/ангуляр

          Но ведь фронтенд-фреймворки считаются злом. Что же делать? Писать байндинг на ванильном JS?


          1. PsyHaSTe
            21.09.2018 01:13

            Ну вот я не видел сайтов на ванильном JS, и надеюсь не увижу. Отказываться от фреймворка (вообще любого) это как отказываться от любого уровня абстракции. Нафиг ваш winhttp, я свою либу напишу. Нафиг ваш http вообще, я свой протокол напишу. Нафиг ваш TCP, я своё реализую…

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


            1. gearbox
              21.09.2018 12:55

              >Байндинг на ванильном JS не написать.
              На Proxy и custom elements за пару вечеров на коленке ваяется аналог реакта. Но согласен — нафига, если есть реакт. Проблема то не во фреймворке.


        1. xMushroom
          21.09.2018 11:46

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


  1. Neuromantix
    20.09.2018 15:55

    Соглашусь как юзер, особенно как юзер разных девайсов, которые должны работать, но из-за софта, запихнутого в их МК не работают без регулярных перезагрузок. Термометр-метеостанция виснет каждые 3-4 дня, выбросил, бытовая техника, которая глючит, включает произвольные функции или тп. Какой ад ждет после увеличения числа IoT — боюсь представить.


    1. BD9
      22.09.2018 03:40

      Это не всегда софт.
      Был случай: глючил новый телевизор Sony — сбои программы. Зная про плохое питание, подключил его через стабилизатор. И глюки исчезли.
      В общем, снизилось качество всего — попробуйте купить хорошую колбасу в РФ (и не только в РФ).
      Можно сделать качественно, но за это потребитель не хочет платить.


      1. khim
        22.09.2018 04:18

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


      1. Neuromantix
        22.09.2018 09:04
        +2

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


      1. Am0ralist
        22.09.2018 10:23

        попробуйте купить хорошую колбасу в РФ
        Легко, 750 рублей кг. И всего в 700 км от Москвы.


  1. kvasdopil
    20.09.2018 15:57

    Можно бесконечно смотреть на три вещи: как горит огонь, как течёт вода и как ноет tonsky. Хочется пожелать автору всё-таки со временем выйти из режима Grumpy Cat и начать снова получать удовольствие от любимого дела, мы все за него очень переживаем.


    1. engine9
      20.09.2018 21:13

      Но дискуссия-то разгорелась первоклассная.


    1. tonsky
      21.09.2018 02:11

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


  1. amarao
    20.09.2018 15:57

    Цена абстракций. Если бы абстракций не было, вы бы использовали Initial Orders для того, чтобы загрузить вашу программу в двоичных кодах чтобы посчитать то, что нужно.

    Самая первая жирная абстракция, которая случилась в компьютерах, заключалась в идее имитации интерактивности происходящего.


    1. dernasherbrezon
      20.09.2018 19:36

      Вряд ли. Каждый junior говорит мне одно и то же «оперативная память дешевле труда программиста». Потому что эту манцу проще говорить чем оптимизировать код и думать головой.


      1. PsyHaSTe
        20.09.2018 21:34
        +1

        Ну на то он и junior, тем более, что я тоже так новичкам говорю. А то есть у человека задача, а он начинает думать, что int для переменной цикла — это слишком жирно, я ведь только до 100 итерируюсь! Надо сделать byte. И идет срывать покровы, что программы такие большие, потому что ленивые разрабы где можно обойтись меньшим типом использовали больший. Да что там, сам я точно так же думал. И всех их учат обращать внимание на главное, а не на мелочи. Когда основы усвоены, то можно идти дальше.

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

        С опытом приходит понимание (или нет. Но тут уже ничего не поделать), как расставлять приоритеты. А именно — никак. Уметь придумать несколько вариантов с разной стоимостью и дать бизнесу выбрать то, что ему больше подходит. «Денис, вот ты задачу создал, можно вот так вот закостылить, но скорее всего через год это выльется в такие-то проблемы ценой в 1М, а можно сейчас на пару недель сделать задачу на грамотное изменение архитектуры, тогда всё будет ок, но мне нужен будет Марк на пару дней для выработки плана». Главное, не сократить эту фразу до «Денис, вот ты задачу создал, можно вот так вот закостылить,, а можно сейчас на пару недель сделать задачу на грамотное изменение архитектуры и мне нужен будет Марк на пару дней для выработки плана». Разница ведь колоссальная, и как мне кажется большинство разработчиков используют вторую форму, когда подразумевают первую, а потом обижаются на логичный ответ менеджера «давайте по первому сценарию, заказчик уже месяц ждет». Сам виноват, надо было лучше объяснять.

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

        Ну а если выбирают костыли, а потом говорят «блин, нам твой костыль в 1М встал, что ж ты собака сделал?!?», то 2 недели и поиск более адекватных коллег является оптимальным исходом :)


        1. dernasherbrezon
          20.09.2018 21:49

          У вас другой случай. Те примеры которые описаны в статье это как раз случаи когда суровые дядьки архитекторы принимают вполне осознанные решения. Вряд ли технологию редактора кода выбирал junior. А потом те же самые дядьки архитекторы пишут разгромные статьи «почему нашему бизнесу важно забить на использование памяти». Junior потом читают такие статьи и в силу своего опыта делают неправильные выводы.


      1. eugene_bb
        20.09.2018 21:43

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

        Latency Comparison Numbers (~2012)
        ----------------------------------
        L1 cache reference 0.5 ns
        Branch mispredict 5 ns
        L2 cache reference 7 ns 14x L1 cache
        Mutex lock/unlock 25 ns
        Main memory reference 100 ns 20x L2 cache, 200x L1 cache
        Compress 1K bytes with Zippy 3,000 ns 3 us
        Send 1K bytes over 1 Gbps network 10,000 ns 10 us
        Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD
        Read 1 MB sequentially from memory 250,000 ns 250 us
        Round trip within same datacenter 500,000 ns 500 us
        Read 1 MB sequentially from SSD* 1,000,000 ns 1,000 us 1 ms ~1GB/sec SSD, 4X memory
        Disk seek 10,000,000 ns 10,000 us 10 ms 20x datacenter roundtrip
        Read 1 MB sequentially from disk 20,000,000 ns 20,000 us 20 ms 80x memory, 20X SSD
        Send packet CA->Netherlands->CA 150,000,000 ns 150,000 us 150 ms


      1. braineater
        20.09.2018 22:52
        +1

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


        1. khim
          21.09.2018 00:30

          Нечто популярное, типа кукого-нибудь Chrome, создаётся не одним программистов, а несколькими тысячи программистов. И тут уже неясно — что дешевле: заплатить за память или ещё за 100500 программистов…


          1. braineater
            21.09.2018 00:39

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


          1. amarao
            21.09.2018 13:02

            Хром не использует много памяти. Много памяти используют много сайтов. А купить такое количество веб-разработчиков… Ну, удачи.


      1. amarao
        21.09.2018 13:00
        +1

        В тот момент, когда вы согласились, что 'hello world' должно кодироваться с помощью числа 121404708502361365413651816 (а то и числа 31079605376604509545894864896), в этот момент вы уже были уверены в то, что оперативная память дёшева. С позиций разработчиков первых компьютеров, мой вот этот комментарий, в UTF-8 — это просто какое-то непростительное разбазаривание байтов. В такой объём памяти можно вместить достаточно переменных для того, чтобы рассчитать тракеторию полёта на луну, а я тут объясняю, что память дешева.

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

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

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

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


        1. dernasherbrezon
          21.09.2018 18:38

          Я вот сейчас пытаюсь писать комментарий и делаю это быстрее чем текст появляется на экране.


          К сожалению я не могу загрузить профайлер хрома. Но в посте где нет комментариев, текст набирается быстро и профайлер говорит что все хорошо. Зачем перерисовывать страницу когда я набираю текст в маленьком окошке? Это ведь не про размер букв в UTF-8.


          1. amarao
            21.09.2018 18:52
            +1

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

            Вот зачем вам эта неэффективная абстракция и весь этот bitblt? Почему бы не отображать символы сразу из растровых представлений в видеопамять?

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


            1. Foror
              22.09.2018 17:29

              >И виноваты программисты, да?
              Да, только не браузера (хотя и браузер разрабатывают такие же олимпиадники), а олимпиадники хабра. Они возможно хорошие математики, но очень плохие программисты. Решение проблемы в данном случае заключается в удалении из DOM лишних комментариев, невидимых на странице. И этим страдает не только хабр, этим грешат очень известные западные веб-сайты, всем известных корпораций.

              И причем тут вообще окошки?


              1. EvilFox
                22.09.2018 17:42

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


                1. Foror
                  22.09.2018 18:06

                  >Кстати я отписал таки в тп хабра, цитирую ответ: «Вы можете привести пример ресурса на котором статьи с 1300 комментариев загружаются на ваш компьютер без задержек?»
                  Ахаха, вот они наши олимпиадники ) Я думал они просто от лени, а они даже не вдупливают, что вообще происходит )

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


                  1. EvilFox
                    22.09.2018 18:28

                    P.S. Вы так или иначе придёте к удалению лишнего из DOM, поэтому мне непонятно ваше категорическое «Нет», с отмеркой сколько нужно вешать в граммах.
                    И сколько предлагаете держать в «буфере» комментариев? всего сотню? (на сотне наверное не тормозит?) А знаете что при динамической видимой области перестаёт полноценно работать поиск по CTRL+F? То есть тут уже встают две задачи сделать динамическую область видимости (задача сама по себе не простая) и ещё эмуляцию поиска (который будет искать и в невидимых комментариях). А технический долг в виде перегруженной каскадной таблице стилей никуда не исчезнет.
                    Так-то я за динамическую область видимости, но только когда в ней есть потребность.


                    1. Foror
                      22.09.2018 19:05

                      >И сколько предлагаете держать в «буфере» комментариев?
                      То, что помещается на экран. Плюс держать еще несколько «сверху и снизу». Плюс хранить все загруженные комментарии в виде объектов для подстановки на скроле.

                      Про поиск как-то не подумал. Для этой ситуации можно держать только TextNode на нужных позициях в DOM. Думаю не должно тормозить даже для десятков мегабайт текста (но это не точно). Один мегабайт точно не тормозит.

                      Еще это может решаться с помощью UI, на пикабу видел топорное решение для бесконечного скрола, путём нажатия нужной кнопки для очистки DOM.

                      Задача интересная, тут ресерч нужен, сам такое не делал еще.

                      >А технический долг в виде перегруженной каскадной таблице стилей никуда не исчезнет.
                      Можно исправить, я не спорю.

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


                      1. sumanai
                        22.09.2018 19:27

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


                      1. EvilFox
                        22.09.2018 19:35

                        Для этой ситуации можно держать только TextNode на нужных позициях в DOM. Думаю не должно тормозить даже для десятков мегабайт текста (но это не точно). Один мегабайт точно не тормозит.
                        Да, можно попытаться выкрутиться таким компромиссом.

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

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


    1. Foror
      22.09.2018 17:01

      Абстракции были всегда. Проблема не в них.

      Для прикладного ПО проблема в отсутствии инструментов для удобной и быстрой разработки. Ну нет сегодня аналога Делфи из начала 00-х. Есть две крайности сложная разработка на крестах с QT или простая, но очень жирная разработка на Electron. А по середине ничего нет! Ниша свободна.

      В свою очередь в системном ПО скопился огромный пласт легаси. Тот же Линукс не может осилить 10 Гбит/с в стандартной поставке. Его приходиться патчить, накатывать сторонние костыли. Загуглите linux 100 Gbit/s, там всё еще веселее. И здесь полностью свободная ниша. Люди понимают о необходимости Unikernel, но не кому это пилить! Ниша свободна. И тут мы подходим к следующей проблеме.

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


      1. Emulyator
        22.09.2018 17:13

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


        1. Foror
          22.09.2018 17:30

          Нет, это неправда или это был сарказм?


        1. Foror
          22.09.2018 17:32

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


          1. Emulyator
            23.09.2018 00:25

            Нет, не сарказм, все так и есть, я кроме Qt да в.студии особо ничего не использовал, но читая тот же хабр, регулярно встречаю восторженные отзывы об очередном инструменте, плагине, редакторе, фреймворке и т.п., который чуть ли не сам всё за тебя делает. Глаза разбегаются, не понятно, что выбрать. )


            1. Foror
              23.09.2018 09:08
              +2

              >встречаю восторженные отзывы об очередном инструменте
              А я встречаю восторженные отзывы о go, kotlin, но это ничего не значит. Люди по прежнему программируют на крестах, джаве и питоне. В go же хотят внедрять дженерики (а как пели, что они не нужны!). А с развитием джавы непонятно зачем нужен kotlin. По мне он повторит историю groovy.

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

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

              >восторженные отзывы об очередном инструменте
              Например?


              1. Emulyator
                23.09.2018 10:57

                Например?
                Я серьезно не анализировал каждый случай, это скорее общее ощущение от «чтения заголовков». Ощущение, будто в короткий период появилось множество технологий, фреймворков, даже парадигм, новых версий сред разработки. Хлынуло в первую очередь из в веб направления: всякие ангуляры, реакты, метеоры, вуи, тайпскрипты, теневые домы, вебассембли, редаксы, нпмы, ноды.жс, какие-то стеки технологий, среды и плагины, все это поддерживающие и т.д. Я вебом не занимался никогда, но помню php и mysql всем хватало, а тут такое многообразие. )
                Или взять Unity3D. Помню один из многочисленных школьников на ютубе слабо владеющий внятной речью, за пол часа накликал скелет для какой-то примитивной, но работоспособной игры. Я вообще в то время слабо представлял практические пути создания игры для мобилок, ну может глючные примеры на QML потрогал, а тут человек без особых знаний и навыков в программировании делает что-то рабочее. Вот и подумалось, это ли не «волшебная кнопка». )


                1. Druu
                  23.09.2018 14:27

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

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


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

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


                  1. Emulyator
                    23.09.2018 15:00

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


                1. Am0ralist
                  23.09.2018 15:11

                  Вот и подумалось, это ли не «волшебная кнопка».
                  Кнопка то волшебная, только кто сказал, что оно бесплатно достается? )


              1. Druu
                23.09.2018 14:26
                +2

                Люди по прежнему программируют на крестах, джаве и питоне.

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


              1. khim
                23.09.2018 16:31

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

                Про бесполезность пели фанбои, многие из которых вообще на Go программировать не умеют…


  1. Ca5per
    20.09.2018 15:58

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


    1. yarric
      20.09.2018 23:23

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


      1. khim
        21.09.2018 00:33
        +1

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


      1. Fedcomp
        21.09.2018 12:14

        Map + reduce могут быть такими же эффективными как и цикл.


        1. yarric
          21.09.2018 12:17

          Цикл реализуется одной-двумя процессорными инструкциями, а сколько оверхеда тащат вызовы функций?


          1. PsyHaSTe
            21.09.2018 12:42

            А кто вам сказал, что там будут вызовы функций?


            1. yarric
              21.09.2018 13:56

              А кто сказал, что нет?


              1. PsyHaSTe
                21.09.2018 15:05

                Любой нормальный оптимизатор.


                Вот есть хороший плейграунд: https://play.rust-lang.org/?version=stable&mode=release&edition=2015


                Там слева вместо Run выберите show assembly и покажите вызовы функций core::slice::<impl core::iter::traits::IntoIterator for &'a [T]>::into_iter, core::iter::iterator::Iterator::map и прочих...


                1. Druu
                  23.09.2018 14:38

                  А если функция будет виртуальной или фунаргом? :trollface.jpeg:


          1. Fedcomp
            22.09.2018 12:32

            в компилируемом языке могут быть zero cost, по сравнению с циклом, как в Rust например.


  1. swelf
    20.09.2018 16:00

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

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

    Если говорить в вэбе, ничего ведь принципиально не изменилось с момента, что я помню, начало 2000х. Тот же текст, те же ссылки и картинки. Да теперь не надо качать видео и музыку, чтобы послушать/посмотреть. Но прожорливость браузеров выросла прилично. Все ради красоты и скругленных углов у div'ов?

    Некоторое время назад из вэб страниц начали делать полноценные приложения(вэб2.0?). Занимательно, что для телефонов, все сейчас хотят насадить пользователю свое standlalone приложение взад.


    1. Akon32
      20.09.2018 16:09

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

      Тот же текст, те же ссылки и картинки.

      Что?? Сейчас один CSS чего стоит. А ещё есть JS с сотней API (например, webgl, video, ajax). И JIT-компилятор JS. Можете взять старый интерпретатор и современный, и сравнить производительность.


      1. novice2001
        20.09.2018 16:20

        Проблема не в CSS, а в идиотском его использовании. JS сразу со всей сотней API в подавляющем большинстве случаев не нужен.
        В подавляющем большинстве случаев как раз будет достаточно текста и картинок. Безо всякого JS вообще.


      1. swelf
        20.09.2018 16:57

        Сейчас один CSS чего стоит
        ну это и не принципиальное изменение, Сайты стали красивей? что изменилось то?
        А ещё есть JS с сотней API

        только в нем нет необходимости на 99% сайтов.

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


        1. SirEdvin
          20.09.2018 16:59

          ну это и не принципиальное изменение, Сайты стали красивей? что изменилось то?

          Вы вообще сидите в интернете? Вот так выглядели сайты в 1996. Изменилось ли что-то с того времени?


          1. swelf
            20.09.2018 17:14

            Эм, нет? Картинки, текст, ссылки) Ну там дизайн так себе, но разве сегодня нельзя такой сделать и плохая верстка это показатель технологичности? Раньше нельзя было нейтральней сделать вырвиглазные цвета?
            О том я и говорю, сделаем чуть чуть красивей и увеличим потребление ресурсов на порядки.


            1. PsyHaSTe
              20.09.2018 22:07
              +2

              1. Krapivnik
                21.09.2018 13:47

                И даже на нем аналитика PiWiK на js висит


        1. srhbdv
          20.09.2018 20:54
          +1

          только в нем нет необходимости на 99% сайтов.

          Так надо брать не 99% сайтов. А сайты, на которых сидит 99% пользователей.


          1. novice2001
            21.09.2018 09:28

            Ну так буквально недавно была статья. Где один сверхпопулярный сайт — википедия — прекрасно обходится без js вообще.


      1. Kwisatz
        22.09.2018 16:56

        А если нужно страничку распечатать, да в ландшафте, то ничего за последние 10 лет не изменилось.


    1. novice2001
      20.09.2018 16:09

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


      1. swelf
        20.09.2018 16:47

        Ctrl-C, Ctrl-N
        это я отношу к быстро и требует навыка, а удобно и не требует навыка это выделить мышкой, ПКМ, либо меню -> копировать и тп.


        1. novice2001
          21.09.2018 08:20

          Вы, конечно, можете относить бело к черному, но сути это не меняет.
          Только вот, если человек работает, то «удобно» — это именно «Ctrl-C, Ctrl-N», а не тыкание мышкой по пунктам меню.
          Внезапно, «выделить мышкой, ПКМ, либо меню -> копировать и тп.» есть в любой программе, это не достижение новых тормозных версий.


          1. swelf
            21.09.2018 12:12

            Пример немного выбивается из того, что я на самом деле имел ввиду. Не нормально конечно когда текстовый редактор делает копировать/вставить(что там ctrl-N?) несколько секунд. Не могу на вскидку привести норм пример. Ну я например вимом пользуюсь, но для большинства людей он имеет 2 режима: пикать и портить текст. Хотя мне например вполне удобно.

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


            1. novice2001
              21.09.2018 12:17

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


    1. SirEdvin
      20.09.2018 16:26

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


      Вместо этого у нас куча универсальный инструментов, вкусовщина и хайп)


      1. Silvatis
        20.09.2018 18:09
        +3

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

        Но проблема в том, что в тройке скорость-качество-цена ныне принято вычеркивать второе.


        1. Losted
          20.09.2018 20:33

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

          А в областях, где качество более важно (медицина, космос, авиация и т.д.) и процессы другие, но просадка по скорости.


          1. yarric
            20.09.2018 23:35

            просадка по скорости

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


            1. Losted
              21.09.2018 16:18

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


        1. SirEdvin
          20.09.2018 20:36
          -2

          Что, и правда есть? Я надеюсь вы сейчас не скажите мне про подсчеты через O(n), которые асимптотические и не применимы в реальности?
          Или есть какая-то другая методология?


      1. eugene_bb
        20.09.2018 21:59

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

        Если принять это, то всё становится на свои места и разочарования и страдания выглядят надуманно.

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


      1. yarric
        20.09.2018 23:29

        Есть общая теория построения систем и кибернетика, вместо чего в мейнстримовом программировании какая-то псевдонаучная муть от гуру, типа шаблонов проектирования.


        1. SirEdvin
          20.09.2018 23:39

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


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


          1. yarric
            21.09.2018 00:02
            +1

            Тем не менее пока ничего лучшего не придумали: самолёты летают, спутники кружатся, процессоры считают.


            1. staticlab
              21.09.2018 00:35

              А уязвимости в механизме спекулятивного выполнения инструкций процессора — это «кибернетика» виновата или «шаблоны проектирования»?


              1. CodeRush
                21.09.2018 00:48

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


                1. BD9
                  22.09.2018 03:57

                  Почему никто не пытался предотвращать исполнения страниц памяти с данными, а теперь все стараются всеми силами?

                  В старющем Фортране уже давно отказались от возможности принимать данные как код (и наоборот) (COMMON block вроде бы).
                  Другие огрехи так же были известны ранее — ничто не ново под луной.


            1. SirEdvin
              21.09.2018 00:51

              И причем тут общая теория построения систем? Сбои то все равно происходят, самолеты падают, спутники сходят с орбиты, в процессорах, как уже выше написали — дыра на дыре.


              1. yarric
                21.09.2018 02:57

                Не так часто, как ворд. Да и много ли самолётов и спутников упало из-за программных ошибок?


                1. VolCh
                  23.09.2018 01:00

                  Сколько в процентах падает самолётов и вордов?


              1. khim
                21.09.2018 03:06
                +1

                в процессорах, как уже выше написали — дыра на дыре.
                Вы действительное видите разницы между 4-5 ошибками, обнаруженными за 10 лет и примерно таким же количеством ошибок, которые в современных OS находятся за день?


    1. Kriger91
      21.09.2018 11:15

      А толку-то от этого железа по разумным ценам, если я набирая в браузере этот коммент вижу как запаздывает появление текста? Где польза от 16Гб ОЗУ, 4 ядра Intel Core i7, SSD?


      1. mayorovp
        21.09.2018 13:19

        И, что самое веселое, тут никакой js не виноват. Тормозит сам браузер, потому что ему забыли объяснить что содержимое textarea не влияет на размеры этой textarea, а значит и reflow всей страницы делать не обязательно…


        1. Kriger91
          21.09.2018 13:58

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


        1. PsyHaSTe
          21.09.2018 15:27

          Почему не влияет? А если там есть какой-нибудь textarea:contains("special"){...}?


          1. mayorovp
            21.09.2018 15:30

            Так его нет же…


            1. IRainman
              22.09.2018 13:29

              Напишите, пожалуйста, багрепорт авторам браузера. Я серьёзно.


  1. 0xf0a00
    20.09.2018 16:16

    Я тут со своим Delphi в сторонке постою)
    Вообще полностью согласен с автором, но войну добра и бабла всегда выигрывает бабло.


    1. Am0ralist
      20.09.2018 23:25

      Lazarus. Тот же самый по сути проект без шаманства вида «как собрать в размер дельфи» занимал раза в три больше места.
      Ну и вообще, утилита уровня хеллоу ворд на 3,5к строк — 20 мб…
      Не, знаете, как-то все грустно…


      1. PsyHaSTe
        21.09.2018 00:57

        Может дело было не в бобине? Вот тут на примере раста объясняется, но применимо к любым бинарям.


        1. Am0ralist
          21.09.2018 11:56

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

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


          1. PsyHaSTe
            21.09.2018 12:52

            с LTO — одна функция.


            1. Am0ralist
              21.09.2018 14:36

              Ну вот а под lazarus советы по уменьшению — это утилиты strip и UPX к *.exe применить полученному (ну ладно, там есть отдельно несколько настроек в IDE), но до сжатия delphi у меня все равно тогда выигрывал… про LTO для него не встречал.

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


              1. PsyHaSTe
                21.09.2018 15:25

                Собственно, я могу рассказать, что дебаг-сборка моего приложения на расте (небольшой бот на для телеграма) занимал 150мегабайт, скомпилированный в релиз с lto — 6 мегабайт… Так что действительно техника очень полезная. И можно действительно получить гигантский исполняемый файл, где непонятно, куда он вообще столько ест :)


                1. Druu
                  23.09.2018 14:39

                  скомпилированный в релиз с lto — 6 мегабайт…

                  Кек, целых 6 мегабайт какойто бот. А если бы этот бот был на ноде и весил тех же целых 6 мб интересно что бы сказали товарищи вроде автора обсуждаемой статьи? :)


                  1. khim
                    23.09.2018 16:36

                    А если бы этот бот был на ноде и весил тех же целых 6 мб интересно что бы сказали товарищи вроде автора обсуждаемой статьи? :)
                    Что если сравнивать боты на разных языках, то нужно не забывать и про райнтам? Скоко-скоко занимает контейнер, который может бота на node.js поднять? На этом фоне размер самого бота уже мало что значит, извините.


                    1. Druu
                      23.09.2018 16:42

                      Давайте еще ОС тогда посчитаем? Бот же не в воздухе запускается? :)


                  1. PsyHaSTe
                    23.09.2018 16:50

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


      1. 0xf0a00
        21.09.2018 09:28

        Настройками проекта, что в Delphi, что в Lazarus можно выкинуть лишнее и файлы станут нормального размера.


      1. serbod
        21.09.2018 10:53

        Даже если выкинуть отладочную информацию из экзешника, современный бинарник стал «толще» за счет эволюции базовых библиотек, рассчитанных на кросс-платформенность и unicode. Но, при этом сохраняется совместимость со старыми версиями ОС и железа, что требует дополнительных проверок и «оберток». В любом случае, по объему это несравнимо с Android Support Library, которая идет в составе современных андроид-приложений.


  1. SirEdvin
    20.09.2018 16:21

    Читаю статью и комментарии и мне кажется, люди катастрофически не представляют, как весело программировали в 90-х и какие были веселые проблемы.


    ОС за вас ничего не делает? Вы представляете сколько костылей, оптимизаций и драйверов предоставляет для вас ОС, что бы вы могли работать независимо от железа и не зубрить спеки?
    Сравниваете современные редакторы кода и древний emacs? Я вам напомню, что emacs работает в терминале все-таки :)


    Функциональность не растет? Вы вообще пишите хоть что-нибудь? Возьмите любой продукт из 90-х, он написал ужасно, выглядит ужасно, и работает так себе. Современный софт содержит кучу анимаций, обновлений в фоне, вебсокетов и прочего. Автор сетует на то, что "мы ожидаем, что никто не поменяет данные пока пользователь смотрит страницу"? Еще лет 15 назад это была аксиома.


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


    Ну и касательно веса — большая часть веса приложений это чаще всего ресурсы. И что вы предлагаете с ними делать?


    1. 0xf0a00
      20.09.2018 16:33
      +1

      Клавиатура гугл — 153Мб, Smart keyboard Pro — 5,9МБ. Расскажите какие же там ресурсы напиханы что разница в почти 30 раз? Карл 30 раз! Естественно я использую смарт клавиатуру, она не лагает, не занимает много места, у нее лучше оформление чем у гугловой(внезапно). Серебряная пуля для меня среди клавиатур на телефон, нету этих смайликов и прочего го*на, разрешения требует только те что реально необходимы (6 штук всего)… просто клавиатура и все.


      1. SirEdvin
        20.09.2018 16:39

        1. Возможно, я не прав, но клавиатура гугл весит всего 30Мб.
        2. Ну какие-то ресурсы. Папка с ресурсами занимает 50% веса.

        57812    .
        27736   ./res
        17616   ./res/xml
        13960   ./lib
        13956   ./lib/x86_64
        8220    ./resources.arsc
        6940    ./lib/x86_64/libjni_delight5decoder.so
        6384    ./classes.dex
        2700    ./lib/x86_64/libhmm_gesture_only.so
        2336    ./res/layout
        2216    ./lib/x86_64/libmozc.so
        2096    ./lib/x86_64/libhwrword.so
        1828    ./res/raw
        1480    ./res/raw/third_party_licenses
        1056    ./res/drawable-xxhdpi-v4
        1016    ./res/drawable
        988     ./res/drawable-xhdpi-v4
        968     ./res/drawable-hdpi-v4
        932     ./META-INF
        456     ./META-INF/MANIFEST.MF


        1. 0xf0a00
          20.09.2018 16:58

          Я ведь предоставить пруфы всегда рад. Да каюсь, не открывал детальную информацию о приложении, просто в меню посмотрел, не 153, а 134, но блин на эту разницу 4 клавиатуры влезет)

          GBoard
          image


          1. AlexZyl
            20.09.2018 17:20

            У меня слегка иная картина: те же 130мб, но приложение — 75, данные — 50


            1. 0xf0a00
              20.09.2018 17:28

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


          1. SirEdvin
            20.09.2018 20:50

            Ну, вот я привел ссылку на apk, которое вести 30 МБ, в распакованом виде 57.


            Мне кажется, лишний вес может появится только из-за файлов ресурсов, разве нет?


            1. 0xf0a00
              21.09.2018 09:34

              Да что вы молитесь на эти «ресурсы»… это универсальное слово которым можно все оправдать? Это так не работает. Конкретно, по факту что там может быть? Каждая кнопка клавиатуры в разрешении 4к? Любимый фильм лида?
              Понятия не имею, что это за сайт, что там за апк и почему, я вам привел скриншот официального приложения установленного из плэй маркета.


              1. PsyHaSTe
                21.09.2018 12:54

                Ну например картинка с наложенным на неё красивым отфотошопленным текстом на каждом языке. Я i16n никогда не занимался, но например когда я смотрел размер дума, в нем 40 гигабайт из 60 как раз занимали ресурсы — текстуры, звук, ...


                1. 0xf0a00
                  21.09.2018 15:28
                  -1

                  Ммм… сравнивать игру ААА класса на продажи которой напрямую влияет качество и количество контента и клавиатуру, умно умно, но это не точно…


                  1. PsyHaSTe
                    21.09.2018 15:35

                    Никто не сравнивает, вам говорят, что картинки и звук могут занимать столько места.


                    Например, локализованный логотоип на всех языках.


                    1. 0xf0a00
                      21.09.2018 15:59

                      30 раз.
                      ваш дум весил бы 620гб, а не 60.
                      больше холиварить я не намерен.


      1. Akon32
        20.09.2018 16:53

        Серебряная пуля для меня среди клавиатур на телефон, нету этих смайликов и прочего го*на, разрешения требует только те что реально необходимы (6 штук всего)… просто клавиатура и все.

        Возможно, вам смайлики совсем не нужны, но видимо кто-то посчитал, что это киллер-фича. Их даже в юникод впихнули. И какой-то части пользователей они полезны.


        1. 0xf0a00
          20.09.2018 17:05
          +1

          Да да вот именно по такому принципу и идет теперь разработка ловите его может кому то нужно, а может и не нужно, пихай всем, ***** что качество софта упадет… главное здесь и сейчас пользователя окучить.


          1. Saur4iG
            20.09.2018 18:26
            +1

            А может остальным это и нужно? Вы можете не поверить, но никто не будет использовать приложения без анимаций и красивостей…
            Или просто так в прошлом году apple на презентации какулю показывали?) Люди хотят видеть подобное и им полностью плевать сколько памяти это занимает и как работает под капотом


            1. prs123
              20.09.2018 18:31

              Более того, если вы будете выдвигать приложение в AppStore, то без всех этих фишечек, анимаций и красивых иконок ваше приложение скорее всего и модерацию то не пройдёт


              1. sumanai
                20.09.2018 22:12

                модерацию то не пройдёт

                Серьёзно?


                1. prs123
                  21.09.2018 11:12

                  Более чем. Существует огромный ворох т.н. гайдлайнов, в которых это все описывается. Ручная модерация в основном и занимается проверкой соответствия этим гайдлайнам


          1. Antidipressant
            21.09.2018 09:29

            А Вы в курсе, как сейчас молодежь называет людей, которые вместо эмоджи используют смайлики в виде скобок? Если нет — погуглите :) А то не хочу выражаться :)


            1. vis_inet
              21.09.2018 11:53

              Заинтриговали! )


            1. InterceptorTSK
              21.09.2018 12:25

              А вы в курсе как называют молодежь в любое время? Хоть щяс, хоть 100 лет назад хоть 300… И да, гугол тут не нужен вовсе…


              1. Antidipressant
                21.09.2018 12:31

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


      1. IRainman
        22.09.2018 13:26

        Я вообще использую Hacker's Keyboard, там вообще чуть больше 1 МБ и удобные для меня фичи.


    1. novice2001
      20.09.2018 16:41

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


      1. SirEdvin
        20.09.2018 16:45
        +2

        Да, особенно real-time обновления не имеют никакого отношения к функциональности приложение.
        И удобные оповещения, наглядная навигация тоже.


        1. 0xf0a00
          20.09.2018 17:15

          Давайте манипулируя абстракциями дойдем до того что в любое приложение надо будет впирать функционал целой ОС и еще чуть чуть.


        1. JTG
          20.09.2018 18:54
          +12

          Тут вот товарищи из Dropbox как раз завезли удобные оповещения. У меня есть ноутбук с Windows 7, где у Dropbox была стандартная плюшка с баблом в области уведомлений:
          image

          Но потом, слава автообновлению, подвезли версию, в которой, наколхозили некий «polyfill», на который наверняка потратили кучу человеко-часов, и пытающийся маскироваться под уведомления в стиле Windows 10

          image

          Давайте же посмотрим как улучшился UX. Было:
          — Крестик для закрытия
          — Уведомления подчинялись настройкам уведомлений системы
          — Кнопа для отключения надоедливых уведомлений была прямо на ба?бле
          — Бабл закрывался по таймауту
          — При уведомлении об изменении файла, клик открывал папку Dropbox с выделенным файлом

          Стало:
          — Крестика нет (Возможно, он появится при наведении? Но это не точно)
          — Уведомление висит и не закрывается
          — После некоторых обновлений это колхозное уведомление начинало перехватывать фокус. Может выбросить из полноэкранного режима
          — При уведомлении об изменении файла, клик больше не открывает не папку. Теперь запускается браузер с сайтом Dropbox

          Разумеется, это частный случай, но очень показательный. Десктопный софт стремительно тупеет.


          1. SirEdvin
            20.09.2018 20:43

            Хм… опять же, а причем тут программисты? Думаете, они такие "а, поломает то, что неплохо работает без видимой на то причины"?


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


            1. novice2001
              21.09.2018 09:33

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


              1. SirEdvin
                21.09.2018 11:26

                А вы вот прямо уверены, что не нужная? Или не нужная именно вам, так как вы не попадаете в ЦА этой фичи, а, скажем, 60% пользователей эта фича как раз то, что нужно?


                1. novice2001
                  21.09.2018 12:34

                  А вы можете доказать что нужная и именно 60% аудитории?


                  1. SirEdvin
                    21.09.2018 12:47
                    -1

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

                    Вы не согласны?

                    Ну и доказать, что что-то нужно какому-то проценту аудитории возможно только постфактум.


                    1. novice2001
                      21.09.2018 13:21

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


                      1. SirEdvin
                        21.09.2018 13:38

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


                        1. novice2001
                          21.09.2018 13:59

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


          1. IRainman
            22.09.2018 13:20

            Десктопный софт стремительно тупеет.

            Потому что он не десктопный, что Dropbox, что Skype 8 типичное браузерное наколенное поделие которое тащит за собой ещё и вебкит для работы.


      1. engine9
        20.09.2018 17:35

        Тут еще и безграмотные (или просто ленивые) дизайнеры руку прикладывают. Иногда расковыриваю чужие иконки или 3Д модели, так они часто бывают крайне избыточные.

        Недавно переделывал 3Д модель которая должна рендериться в размер 320х640 пикселей, по причине того что заказчик жаловался, что она как-то тормозит. Так мой предшественник сетку из автокада вывел и прямо загрузил чуть ли не 1 миллион полигонов. Даже не заморачиваясь.

        Час работы и ужал лишнее до тысячи, не потеряв ни капли в гладкости рендера, зато фпс вырос в разы и скорость загрузки.

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


        1. Mabusius
          20.09.2018 18:06

          Был у меня проект на Зенде первом. И были там очень заковыристые хлебные крошки с которыми я ковырялся очень долно пытаясь заставить их быть такими как надо. И где то через год наконец дошли у меня руки посмотреть откуда же идут исходные данные для этих крошек… Оказалось, что мой предшественник забил на хлебные крошки, которые у него были, и написал новые с нуля. Я пошел глубже и оказалось, что и его предшественник забил на хлебные крошки, которые поставлялись зендом, и написал свои с нуля. При этом ни один из уровней хлебных крошек даже не был удален, типо «работает — не трогай». Тоесть крошки генерировались три раза… Я тоже не стал ничего исправлять, так как уже и так собирался менять работу :).


    1. prefrontalCortex
      20.09.2018 18:02
      +3

      Я вам напомню, что emacs работает в терминале все-таки :)

      Это один из режимов работы. У emacs есть режимы работы в оконных окружениях (X11, Windows).


    1. JTG
      20.09.2018 18:14
      +13

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

      Нет, давайте лучше возьмём из 2000х. Totalcmd, KeePass, PuTTY, WinAMP, позже Foobar, Notepad++, WinRAR/7-Zip, WinHEX… У меня до сих пор стоит Office 2003 (с Compatibility Pack для поддержки OOXML) потому что, мать его, он работает и выполняет мои задачи. Это всё примеры «доделанного» и по-настоящему утилитарного софта, который продолжает хорошо делать то, для чего был написан, а не морфировать значок квадратика в крестик на GPU. Так ли ужасен был QiP 2005? Чем была плоха возможность настройки внешнего вида приложения, изменения размера шрифта, количества сообщений на странице в мессенджере? Что мы получили взамен — возможность выпускать новую версию каждую неделю (зачем?) и постить в чат фрагменты мультиков в формате mp4?

      P.S. Ещё такое наблюдение

      Раньше:
      — Любой школьник мог взять Delphi 7 и с минимальными усилиями сделать windows-приложение, которое ужасно выглядит и медленно работает.
      — Средний программист мог взять Delphi 7 и с минимальными усилиями сделать windows-приложение, которое нормально выглядит и нормально работает.
      — Хороший программист мог взять Delphi 7, заморочиться, и сделать windows-приложение, которое хорошо выглядит и хорошо работает.

      Сейчас:
      — Любой школьник может взять Electron, неделю смотреть видеоуроки и настраивать тулчейны, потом сделать приложение, которое хорошо выглядит и медленно работает под любой платформой.
      — Средний программист может взять Electron и с минимальными усилиями сделать приложение, которое хорошо выглядит и медленно работает под любой платформой.
      — Хороший программист может взять electron, заморочиться, и сделать приложение, которое хорошо выглядит и медленно работает под любой платформой.
      — Компания Microsoft может взять Electron, заморочиться, и сделать приложение, которое ужасно выглядит и медленно работает под любой платформой.


      1. Neikist
        20.09.2018 18:17
        +2

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


      1. Alexey2005
        20.09.2018 18:41
        +1

        Хороший программист и сейчас может создать быстрое приложение на Electron. Для этого в общем надо сделать всего две вещи.
        Первое. Отказаться от DOM, с которым связана львиная доля тормозов. Хотя все современные фреймворки создают «буферную» замену DOM, обращаясь к «реальным» объектам только где без этого совсем никак, это всё равно медленно.
        Фактически, нужно просто взять один большой Canvas во всё окно и рендерить всё что нужно на нём вручную. Причём процедур рендеринга нужно написать несколько, под разные виды устройств (в зависимости от того, какие операции попадают под хардварное ускорение).
        Второй источник тормозов (и заодно зверского потребления памяти) — сборка мусора вместе с автоматическим управлением памятью. Чтобы решить эту проблему, разработчик должен великолепно знать, как осуществляется управление памятью в Electron и, пользуясь этими энаниями, написать на JS собственный менеджер памяти. Как? Ну, почти так, как это делает Emscripten: создать ArrayBuffer и повозиться со всеми этими типизированными массивами, представлениями и блобами. Причём проблемы возникнут ровно те же, что у плюсовиков: утечки и ситуации, когда указатели внутри этих буферов внезапно начинают указывать куда-то не туда.
        Конечно же, стандартные фреймворки, которые не способны работать в таких условиях, сразу же идут лесом — вместо них придётся колхозить своё. В том числе грамотно написать обработчики событий, чтоб всё не вставало колом, а это опять же квалификация.
        Но ведь кодер, способный на такое, он и стоить будет как плюсовик. А в чём тогда смысл? Electron нужен-то как раз для того, чтобы любого индуса после трёхмесячных ускоренных курсов можно было посадить за код, и созданный продукт даже как-то работал.


        1. picul
          20.09.2018 19:09

          А можно пожалуйста ссылку на мир, в котором плюсовик стоит дороже, чем расфуфыренный JS-developer? Я вот ни разу такой картины не наблюдал.


          1. Alexey2005
            20.09.2018 20:17

            www.itjobswatch.co.uk/jobs/uk/c++.do
            www.itjobswatch.co.uk/jobs/uk/javascript.do
            Сравните Salary trends и соответствующие гистограммы на этих страничках. Даже средненький C++ кодер — это порядка ?50к, что несколько дороже среднего JS-кодера (?40к). Топовая часть гистограмм говорит сама за себя.


            1. picul
              20.09.2018 23:22

              Ну Вы и сократили, там средняя вроде 47.5K для JS и 52.5K для С++ — разница мизерная, как по мне. В топовых — да, по-больше, но что-бы переплюнуть JS много топовых плюсовиков не надо)) Так что в общем случае переплаты минимальны, если вообще присутствуют.
              Не холивара ради, но тыкнул по Java — дак они вообще больше плюсовиков получают. ИМХО вот где первые кандидаты на реорганизацию.


        1. Alex_ME
          21.09.2018 03:10
          +1

          Етижи-пасатижи, куда мир катиться?!
          Т.е. мы берём веб с кучей средств рисования, ресайза под размер итп итд и выкидываем нафиг, начиная все контролы и прочее с нуля рисовать, мышку обрабатывать итп, как в старые времена. У и ради чего? Ради электрона ради электрона? Ну так взять окно с опенгл и рисовать.


      1. SirEdvin
        20.09.2018 21:08
        +3

        Нет, давайте лучше возьмём из 2000х. Totalcmd, KeePass, PuTTY, WinAMP, позже Foobar, Notepad++, WinRAR/7-Zip, WinHEX

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


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


        У меня до сих пор стоит Office 2003 (с Compatibility Pack для поддержки OOXML) потому что, мать его, он работает и выполняет мои задачи

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


        Так ли ужасен был QiP 2005?

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


        P.S. Вы и сейчас можете взять делфи, он все еще живой. Что ж не берете то?


        1. sumanai
          20.09.2018 22:20
          +1

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

          Так может такой софт на самом деле и не нужен? Зачем календарю возможность вставки эмодзей и видео в 4к?


          1. SirEdvin
            20.09.2018 22:25

            Она не нужна. И есть прекрасные календари без нее.

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

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


            1. picul
              20.09.2018 23:27

              А мне не дорого отваливать деньги за приложение, окно которого открывается не быстрее, чем за 5 секунд?


              1. PsyHaSTe
                21.09.2018 00:59

                Не отваливайте


              1. SirEdvin
                21.09.2018 01:03

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


                1. picul
                  21.09.2018 02:54

                  Имею в виду щелканье по иконке в трее для того, что-бы развернуть окно. Окно то разворачивается, но в течении нескольких секунд рисует всякие овалы вместо контента.
                  Справедливости ради, возможно на счет 5 секунд я и перегнул, но задержка в 1-3 секунды есть всегда. Зато иногда мы просто зависаем, и что-бы увидеть полученное сообщение приходится убивать процесс и запускать заново.
                  Комп не топовый, но и не старье, работается вполне нормально.


        1. ValdikSS
          21.09.2018 02:09

          P.S. Вы и сейчас можете взять делфи, он все еще живой. Что ж не берете то?
          Вы это серьезно, без сарказма? Я считаю, что лучше Delphi все еще ничего не придумали для разработки графических программ под десктопы.
          Во-первых, все компилируется в нативный код с минимальными накладными расходами. Исполняемый файл получается маленького размера, запускается моментально, работает быстро.
          Во-вторых, на Delphi можно писать под Windows, macOS, Android, iOS, и даже веб, используя стандартные компоненты. Для веба Delphi-код компилируется в Javascript-код.
          В-третьих, если вам нужно написать какую-нибудь простую программу и быстро, в течение, скажем, 20 минут, Delphi — идеальный вариант. Qt, C#, Mono, Java просто не сравнятся. Такое чувство, что RAD Studio сделана для людей, а все остальное — для свиборгов.


          1. PsyHaSTe
            21.09.2018 02:17

            Хмм, каким образом C# (который исторически "более лучший" дельфи, скрещенный с плюсами и подглядывающий за джавой) менее удобен, чем дельфи? Не, я могу понять про сложное десктоп-приложение, где под Дельфи наверное тысячи компонентов придуманы, но вот как раз простенькая тулза на шарпе напишется в полпинка. Удобные новые пакеты, linq, IDE явно удобнее RAD Studio (хотя я там не очень много работал, но в студенческие годы все же прилично посидел в них), ну и может еще что-то, но смысла перечислять не вижу, этого уже достаточно, чтобы сделать быстрое и удобное решение.


            Такое чувство, что RAD Studio сделана для людей, а все остальное — для свиборгов.

            Расскажите подробнее, что именно вас смущает?


            1. khim
              21.09.2018 02:34

              Хмм, каким образом C# (который исторически «более лучший» дельфи, скрещенный с плюсами и подглядывающий за джавой) менее удобен, чем дельфи?
              Дык эта… ответ банален — а любой банальный вопрос должен быть обсосан Джоелом… Этот — не исключение.

              Расскажите подробнее, что именно вас смущает?
              Результат?


              1. PsyHaSTe
                21.09.2018 02:36

                I just want to link everything I need in a single static EXE that runs without any installation prerequisites. I don’t mind if it’s a bit bigger.

                dotnet publish + ilmerge, будет вам один бинарь, не вопрос. Только смысла всё еще не вижу.

                Результат?

                Результат — работающее приложение. И по моему опыту оно тоже получится работающим.


                1. khim
                  21.09.2018 03:03

                  dotnet publish + ilmerge, будет вам один бинарь, не вопрос.
                  Вот только проблемы с WPF, с .NET Core и прочим. Да — это работает, но это больше похоже на цирковой номер, чем на что-то продуманное.

                  Только смысла всё еще не вижу.
                  Смысл в том, что заказав приложение… люди хотят получить приложение. Бинарник. .exe-файл. Нажми на кнопку — получишь результат. А не гору каких-то непонятных файлов, среди которых неясно — что и запускать-то.

                  Результат — работающее приложение. И по моему опыту оно тоже получится работающим.
                  Если прочитать достаточное количество статей и прочего — да, наверное. Но в Delphi — оно такое получается «из коробки».


                  1. PsyHaSTe
                    21.09.2018 12:58
                    +1

                    Вот только проблемы с WPF, с .NET Core и прочим.

                    Это и есть netcore. Проблем там нет.


                    Да — это работает, но это больше похоже на цирковой номер, чем на что-то продуманное.

                    А это и есть цирковой номер. Примерно, как требовать игры не зависеть от C++ Redistrutable.


                    Смысл в том, что заказав приложение… люди хотят получить приложение. Бинарник. .exe-файл. Нажми на кнопку — получишь результат. А не гору каких-то непонятных файлов, среди которых неясно — что и запускать-то.

                    Не знаю, открою ли я секрет, что .net предустановлен во всех виндах начиная с XP, и вы точно так же на нем можете распространять "портабельные" приложения (хотя всё еще не вижу больших проблем).


                    Вы ведь в курсе, что GeForce Experience и Amd панелька это .net-приложения? И они умудряются как-то запускаться с одного install_driver.exe.


                    1. khim
                      21.09.2018 14:43

                      Не знаю, открою ли я секрет, что .net предустановлен во всех виндах начиная с XP
                      Откроете. Вы из какой-то альтернативной вселенной. Ибо в нашей XP выпустилась с Microsoft Java, а .NET в ней отсутствовал.

                      Вы ведь в курсе, что GeForce Experience и Amd панелька это .net-приложения?
                      В курсе. Это сложно было не заметить: когда вместо быстрой и маленькой приблуды мы получили «прогрессивного монстра на сотню мегабайт» — об этом даже журналисты написали некоторые.


                      1. PsyHaSTe
                        21.09.2018 15:32

                        Откроете. Вы из какой-то альтернативной вселенной. Ибо в нашей XP выпустилась с Microsoft Java, а .NET в ней отсутствовал.

                        Странный у вас XP


                        • Windows XP Media Center Edition (Windows XP SP1) includes the .NET Framework 1.0 + SP2 as an OS component
                        • Windows XP Media Center Edition (Windows XP SP2 and higher) includes the .NET Framework 1.0 + SP3 as an OS component. On Windows XP Media Center Edition, the only way to get the .NET Framework 1.0 SP3 is to install Windows XP SP2 or higher. There is not a standalone 1.0 SP3 installer for this edition of Windows XP.
                        • Windows XP Tablet PC Edition (Windows XP SP1) includes the .NET Framework 1.0 + SP2 as an OS component
                        • Windows XP Tablet PC Edition (Windows XP SP2 and higher) includes the .NET Framework 1.0 + SP3 as an OS component. On Windows XP Tablet PC Edition, the only way to get the .NET Framework 1.0 SP3 is to install Windows XP SP2 or higher. There is not a standalone 1.0 SP3 installer for this edition of Windows XP.
                        • Windows Server 2003 (all x86 editions) includes the .NET Framework 1.1 as an OS component; 64-bit versions of Windows Server 2003 do not include a version of the .NET Framework as an OS component
                        • Windows Vista (all editions) includes the .NET Framework 2.0 and 3.0 as OS components 3.0 can be added or removed via the Programs and Fatures control panel.
                        • Windows Vista SP1 (all editions) includes the .NET Framework 2.0 SP1 and 3.0 SP1 as OS components. 3.0 SP1 can be added or removed via the Programs and Features control panel.
                        • Windows Server 2008 and Windows Server 2008 SP1 (all editions) includes the .NET Framework 2.0 SP1 and 3.0 SP1 as OS components. The .NET Framework 3.0 SP1 is not installed by default and must be added via the Programs and Features control panel though.
                        • Windows Server 2008 SP2 (all editions) includes the .NET Framework 2.0 SP2 and 3.0 SP2 as OS components. The .NET Framework 3.0 SP2 is not installed by default and must be added via the Programs and Features control panel though.
                        • Windows Server 2008 R2 (all editions) includes the .NET Framework 3.5.1 as an OS component. This means you will get the .NET Framework 2.0 SP2, 3.0 SP2 and 3.5 SP1 plus a few post 3.5 SP1 bug fixes. 3.0 SP2 and 3.5 SP1 can be added or removed via the Programs and Features control panel.
                        • Windows 7 (all editions) includes the .NET Framework 3.5.1 as an OS component. This means you will get the .NET Framework 2.0 SP2, 3.0 SP2 and 3.5 SP1 plus a few post 3.5 SP1 bug fixes. 3.0 SP2 and 3.5 SP1 can be added or removed via the Programs and Features control panel.
                        • Windows 8 (all editions) includes the .NET Framework 4.5 as an OS component, and it is installed by default. It also includes the .NET Framework 3.5 SP1 as an OS component that is not installed by default. The .NET Framework 3.5 SP1 can be added or removed via the Programs and Features control panel.
                        • Windows 8.1 (all editions) includes the .NET Framework 4.5.1 as an OS component, and it is installed by default. It also includes the .NET Framework 3.5 SP1 as an OS component that is not installed by default. The .NET Framework 3.5 SP1 can be added or removed via the Programs and Features control panel.
                        • Windows Server 2012 (all editions) includes the .NET Framework 4.5 as an OS component, and it is installed by default except in the Server Core configuration. It also includes the .NET Framework 3.5 SP1 as an OS component that is not installed by default. The .NET Framework 3.5 SP1 can be added or removed via the Server Manager.
                        • Windows Server 2012 R2 (all editions) includes the .NET Framework 4.5.1 as an OS component, and it is installed by default except in the Server Core configuration. It also includes the .NET Framework 3.5 SP1 as an OS component that is not installed by default. The .NET Framework 3.5 SP1 can be added or removed via the Server Manager.
                        • Windows 10 (all editions) includes the .NET Framework 4.6 as an OS component, and it is installed by default. It also includes the .NET Framework 3.5 SP1 as an OS component that is not installed by default. The .NET Framework 3.5 SP1 can be added or removed via the Programs and Features control panel.
                        • Windows 10 November 2015 Update (all editions) includes the .NET Framework 4.6.1 as an OS component, and it is installed by default. It also includes the .NET Framework 3.5 SP1 as an OS component that is not installed by default. The .NET Framework 3.5 SP1 can be added or removed via the Programs and Features control panel.
                        • Windows 10 Anniversary Update (all editions) includes the .NET Framework 4.6.2 as an OS component, and it is installed by default. It also includes the .NET Framework 3.5 SP1 as an OS component that is not installed by default. The .NET Framework 3.5 SP1 can be added or removed via the Programs and Features control panel.
                        • Windows Server 2016 (all editions) includes the .NET Framework 4.6.2 as an OS component, and it is installed by default except in the Server Core configuration. It also includes the .NET Framework 3.5 SP1 as an OS component that is not installed by default. The .NET Framework 3.5 SP1 can be added or removed via the Server Manager.
                        • Windows 10 Creators Update (all editions) includes the .NET Framework 4.7 as an OS component, and it is installed by default. It also includes the .NET Framework 3.5 SP1 as an OS component that is not installed by default. The .NET Framework 3.5 SP1 can be added or removed via the Programs and Features control panel.
                        • Windows 10 Fall 2017 Creators Update (all editions) includes the .NET Framework 4.7.1 as an OS component, and it is installed by default. It also includes the .NET Framework 3.5 SP1 as an OS component that is not installed by default. The .NET Framework 3.5 SP1 can be added or removed via the Programs and Features control panel.
                        • Windows 10 April 2018 Update (all editions) includes the .NET Framework 4.7.2 as an OS component, and it is installed by default. It also includes the .NET Framework 3.5 SP1 as an OS component that is not installed by default. The .NET Framework 3.5 SP1 can be added or removed via the Programs and Features control panel.

                        Хотя один фиг, XP я последний раз видел лет 10 назад, когда поставил себе семерку. Что уж говорить про 2018 год.


                        В курсе. Это сложно было не заметить: когда вместо быстрой и маленькой приблуды мы получили «прогрессивного монстра на сотню мегабайт» — об этом даже журналисты написали некоторые.

                        А я вот не заметил, пока в декомпилятор ради интереса не заглянул.


                        1. khim
                          21.09.2018 22:05
                          +1

                          Странный у вас XP
                          Это у вас он странный. Непонятно зачем приводить огромную портянку, если можно пойти в Wikipedia и найти даты:
                          Windows XP: August 24, 2001
                          .NET Framework 1.0: February 13, 2002

                          Было бы странно и удивительно если бы операционка, выпущенная в 2001м году содержала бы компонент, выпущенный в 2002м? Они и не содержала…

                          А уж сколько лет после этого нельзя было ни рассчитывать на то, что .NET у клиента установлен, ни на то, что он «легко» может скачать 20MB (в те времена ещё флоппи в ходу были, 20MB было большим объёмом).


                          1. PsyHaSTe
                            21.09.2018 22:12

                            Разговор был не про август 2001, а про то, что в 2018 году простое десктоп-приложение на дельфи написать проще, чем на шарпе.


                            1. khim
                              23.09.2018 16:47

                              Конечно приложения на том языке, которому разработчик операционки даёт специальные привилегии писать проще. Будь то C# для Windows или Java для Android.

                              Хотите более-менее объективного сравнения — сравните C# и Delphi приложения под Android или iOS. Есть ощущение, что на Delphi попроще будет.

                              Но на тему того, что и кто обсуждал — то фраза Не знаю, открою ли я секрет, что .net предустановлен во всех виндах начиная с XP, и вы точно так же на нем можете распространять «портабельные» приложения была вами произнесена, вас никто за язык не тянул. Дальше, если углубиться в версии .NET, то окажется, что собрать что-нибудь для .NET 1.x соверменными тулами — очень непросто. а .NET 2.0 — это уже 2006й год, XP тут и не пахнет… что, кстати, очень хорошо объясняет почему поддержка XP для многих разработчиков — большая проблема.


                              1. PsyHaSTe
                                23.09.2018 16:53

                                Хотите более-менее объективного сравнения — сравните C# и Delphi приложения под Android или iOS. Есть ощущение, что на Delphi попроще будет.

                                Да пожалуйста, Xamarin получше будет, как мне кажется. Хотя на дельфи под мобилки я не писал, но прекрасно помню, как с ней возился.
                                Но на тему того, что и кто обсуждал — то фраза Не знаю, открою ли я секрет, что .net предустановлен во всех виндах начиная с XP, и вы точно так же на нем можете распространять «портабельные» приложения была вами произнесена, вас никто за язык не тянул. Дальше, если углубиться в версии .NET, то окажется, что собрать что-нибудь для .NET 1.x соверменными тулами — очень непросто. а .NET 2.0 — это уже 2006й год, XP тут и не пахнет… что, кстати, очень хорошо объясняет почему поддержка XP для многих разработчиков — большая проблема.

                                Она была произнесена в контекста 2018 года. Если кто-то вдруг по каким-топ причинам в 2018 году использует XP, то это SP3 со всем фаршем, и именно фреймворками, драйверами и т.п. Сравнивать с XP момента выхода смысла нет, если сейчас они вдруг где-то и используются, то их существование пренебрежимо мало.


            1. 0xf0a00
              21.09.2018 10:44

              который исторически «более лучший» дельфи

              Удобные новые пакеты, linq, IDE явно удобнее RAD Studio

              habr.com/post/423889/#comment_19135891
              Это вот этот вот монстр от которого комп можно спасти только полной переустановкой винды лучше радстудио?
              Visual Studio 2005 vs Delphi 7 еще может быть, но современные если сравнивать то визуал студио задыхается под собственным весом.


              1. PsyHaSTe
                21.09.2018 13:02

                Это вот этот вот монстр от которого комп можно спасти только полной переустановкой винды лучше радстудио?

                Минимальная установка VS2017 — 300мегабайт.


                Про открытие многомегабайтных файлов отлично рассказывает этот комментарий: https://habr.com/post/423889/#comment_19140333.


                То есть попросили в 32-битный процесс загрузить 3гб данных и удивляемся, а че оно так не быстро работает… Ну ок.


                Если вы постоянно вместо того, чтобы работать с кодом открываете и закрываете огромные XML-файлы, то может RAD studio и лучше.


                1. 0xf0a00
                  21.09.2018 15:35

                  Минимальная установка VS2017 — 300мегабайт.

                  И какой у него функционал? Подозреваю что околонулевой.
                  То есть попросили в 32-битный процесс загрузить 3гб данных и удивляемся, а че оно так не быстро работает… Ну ок.
                  Если читать комментарии не выборочно, то там же написано что фар не остановило бы ни 32 бита архитектуры, ни ограничение по памяти.
                  Если вы постоянно вместо того, чтобы работать с кодом открываете и закрываете огромные XML-файлы, то может RAD studio и лучше.
                  Я ей постоянно пользуюсь, она отзывчивая и без лишнего хлама. Этого мне достаточно что бы считать ее лучшей ide для разработки на десктоп.


                  1. PsyHaSTe
                    21.09.2018 15:38

                    И какой у него функционал? Подозреваю что околонулевой.

                    Понятия не имею, у меня нет проблем поставить 10гигабайтную IDE со всем, что мне нужно (и сверху какой-нибудь решарпер впилить), потому что моё время дороже, а места на винте — завались. Я же сам конечный пользователь, и мне себя более жалко, чем жестки диск, который и так наполовину пустой.


                    Я ей постоянно пользуюсь, она отзывчивая и без лишнего хлама. Этого мне достаточно что бы считать ее лучшей ide для разработки на десктоп.

                    Где-то я это уже видел...


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


                    1. 0xf0a00
                      21.09.2018 15:54
                      -1

                      Понятия не имею
                      То есть вы не компетентны, а в спор лезете.
                      у меня нет проблем поставить 10 гигабайтную IDE со всем, что мне нужно
                      Рад за ваш жесткий диск, только то что вы можете ее поставить проблем ее перегруженности и тормознутости не решает от слова совсем.
                      Где-то я это уже видел...

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


                      1. PsyHaSTe
                        21.09.2018 15:57

                        То есть вы не компетентны, а в спор лезете.

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

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

                        тогда к чему вы привели размер приложения?

                        Причем язык к ide мне не совсем понятно.

                        К тому, что если вы не понимаете, к чему часть функционала, это не значит, что это «хлам».

                        Опять таки поднимается вопрос о вашей квалификации и достаточно ли ее.

                        Ad hominem, отлично

                        Тем более в сравнении языков(которые в принципе мало сравнимы).


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

                        Видимо вы где слышали краем уха что модно засирать Delphi, но разобраться что к чему у вас не хватило то ли усидчивости то ли айкью.

                        Просто тупой вброс


        1. novice2001
          21.09.2018 09:39

          Word не предназначен для вёрстки, для неё существуют совсем другие приложения.
          И в целом, расскажите, какие существеннейшие изменения произошли в Word между 2003 и 2013/2016 версиями, что он стал намного тяжелее и медленнее?


          1. Am0ralist
            21.09.2018 12:26

            Ну так-то и 97 ворд был в чем-то лучше 2003, он, как минимум, у меня не крашился постоянно на файлах с количеством страниц от 500 до тысячи…
            Ну т.е. 2003 мог в рандомный момент упасть просто так даже при чтении но минимум раз в час. А в 97 — его спокойно можно было редактировать активно и все было норм… Эх)


          1. SirEdvin
            21.09.2018 13:12

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

            Если вы не это все не используете, я за вас рад, но Word в таком случае вам просто не нужен, возьмите тот же Sublime.


            1. novice2001
              21.09.2018 13:35
              -1

              Действительно, идиоты зачем-то пользуются Adobe InDesign (и даже, страшно сказать, покупают его), когда, оказывается Word — это и есть программа для вёрстки… Да, еще какой-то Donald Knuth придумал какой-то TEX, вот ведь смешной старик, наверное просто не знает про Word… Вы его просветите там, а то он уже 40 лет на него потратил.


              1. SirEdvin
                21.09.2018 13:45

                То, что функционал Word не хватает на что-то серьезное и то, что он проигрывает TEX практически во всем — это другие проблемы.

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


                1. novice2001
                  21.09.2018 13:53

                  Это вообще не проблемы Word, поскольку он никогда и не позиционировался, как система верстки. Это текстовый процессор.
                  А что там появилось в Word 2013/2016 вы так и не ответили. Именно потому, что ничего принципиально нового и полезного в т.ч. лично для вас там не появилось, ибо иначе вы легко и непринужденно ответили бы на вопрос вместо описания несуществующих проблем.


                  1. Grox
                    21.09.2018 21:27

                    В Word 2010 появилась возможность форматировать и отпечатеть документ в виде книги. Ранее это делалось с плагинами. В одной из компаний это был частый случай использования.


                    1. khim
                      21.09.2018 22:09

                      Принято. А теперь вопрос: сколько занимал тот плагин и сколько занимает MS Office 2016? В памяти и на диске? И почему нельзя было просто использовать плагин, вместо того, чтобы превращать офис в монстра?


                      1. Grox
                        21.09.2018 22:55

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


                        1. khim
                          21.09.2018 23:08

                          Могу. Но все они не дадут ответа на вопрос: зачем. Зачем нужна вся эта архитектурная астронавтика, если все полезные фичи можно сделать аддонами для MS Office 2000 (а то и для MS Office 97)?

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

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

                          Всё тот же самый «секрет айсберга» — но уже по отношению к руководителям компаний…


              1. Sychuan
                21.09.2018 14:02

                Adobe InDesign (и даже, страшно сказать, покупают его), когда, оказывается Word — это и есть программа для вёрстки… Да, еще какой-то Donald Knuth придумал какой-то TEX, вот ведь смешной старик, наверное просто не знает про Word

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


                1. novice2001
                  21.09.2018 14:29

                  Не нужно называть версткой форматирование, вот и всё.


                  1. mkshma
                    21.09.2018 15:55

                    Форматирование является подмножеством верстки.


                  1. SirEdvin
                    21.09.2018 16:45

                    Сейчас бы называть создание автономной формы или диплома форматированием.


                    Вы из тех, кто нумирует формулы в ворде вручную?


                    1. 0xd34df00d
                      22.09.2018 00:02

                      А чего там диплом создавать, \usepackage нужный и всё.


                      Посмотрел бы я, кстати, на версионирование диплома в ворде по мере его написания и общения с научруком.


                      1. SirEdvin
                        22.09.2018 11:36

                        Ахахахаха, очень смешно.


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


                        Но это все равно лучше. чем в ворде, да.


                        Посмотрел бы я, кстати, на версионирование диплома в ворде по мере его написания и общения с научруком.

                        Но вообще-то, ворд умеет.


                        1. 0xd34df00d
                          22.09.2018 17:13

                          Зачем так сложно? УМВР, при этом половина пакетов скопирована из статей, которые я перед этим по теме диплома публиковал.

                          А sty я у одногруппников взял.

                          За разбитие по главам вам лойс, кстати.


                          1. SirEdvin
                            23.09.2018 12:38

                            Ну, очевидно, потому что у вас так себе подходят к проверке на соответствование госту.


                            У вас тут как минимум нет:


                            1. Шрифта Times New Roman
                            2. Размер шрифта не 14
                            3. Не вижу директиву для полуторного интервала, может пропустил
                            4. Ну и у вас катастрофически неправильно оформлена библиография.

                            Вполне возможно, что я чего-то не знаю, так как вижу в другой стране, но у нас все эти пункты строго проверяли, поэтому надо было фиксить :)


                            1. 0xd34df00d
                              24.09.2018 00:09

                              А, ну я не уверен, что у нас вообще сам текст читали, это да.

                              Вот с библиографией для публикации в разных журналах регулярно мучиться приходилось :(


            1. swelf
              21.09.2018 14:41

              То что он стал лучше, наверно, но соразмерны ли эти улучшения, увеличению размера/расходу памяти/процессора? Чтобы починить правильные отступы надо увеличить размер в 10 раз?


              1. PsyHaSTe
                21.09.2018 15:40

                Да, нужно.


                1. swelf
                  21.09.2018 19:19

                  Почему нельзя внести эти изменения увеличив потребление ресурсов на 5%, что конкретно заставило офис вырасти на порядок? Количество функций увеличилось на порядок?


                  1. PsyHaSTe
                    21.09.2018 19:29

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


                    1. swelf
                      22.09.2018 00:39

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


                      1. PsyHaSTe
                        22.09.2018 03:18

                        Не нужно быть ученым, чтобы понимать, что полноценный продукт содержит на порядок больше кода, чем прототип, который визуально делает то же самое. Это как истории, когда человек показывет JS-прототип без бэкенда, а клиенты уже думают, что на 90% реализовано. А потом не понимают, почему релиза все нет и нет…

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


                        1. khim
                          22.09.2018 03:41

                          Ну например, новая версия может содержать интернационализацию на много языков.
                          Зевает. Да-да, MS Office 2000 так умел: много языков, можно одновременно целую кучу поставить на машину, пакет с десятком языков в Enterprise версии. Про Office 95/97 не скажу, врать не буду, но MS Office 2000 всё вами перечисленное умел.

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

                          Всё понятно, кроме одного: что мешало просто взять — и сделать так, как это было задумано (и работало!) 20 лет назад?

                          Фух, написали кучу сложного кода, но работает, из коробки и правильно!
                          Нет. Работает неправильно. Глючит. Кнопки разъезжаются и нам приходится костылять новые костыли поверх старых. И потом обматывать это скотчем и эвристиками. Потому что если разработчик об этом не задумается во время проектирования программы, то сколько костылей не пристраивай — а всё равно что-нибудь, где-нибудь да отвалится.

                          Ан нет, пришли из отдела эргономики, говорят, что у арабов от менюшки слева голова кругом идет, нужно чтобы было справа.
                          И это тот же MS Office 2000 умел, да.

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

                          Если же не ставить задачу как: «у нас есть куча дерьма, но мы хотим сделать вид, что это такая конфетка», то… всё это не нужно.

                          Количество людей, работавших как с классической линейкой (MS Office 95-2003), так и с новомодными извращениями (2007-2016) и при этом не оплакивающих «почивший в бозе» «старый мир» — ничтожно мало. Большинство «фанатов» нового интерфейса — это люди, которые старого в глаза не видели… в чистом виде стокгольмский синдром.


                          1. PsyHaSTe
                            23.09.2018 03:50

                            Одно изменение, которое я точно помню произошло после 2003 — появление риббона. Супер-удобная штука, которая является объективным шагом вперед. Но у вас видимо клин сошелся на 2003.

                            Пользователи хотят, чтоб оно работало, а не глючило, на самом-то деле. А все эти потуги сделать так, чтобы работало без того, чтобы на это внимание разработчики программ обращали — ничем хорошим не кончаются. Результат всё равно напоминает руссификацию DOS'овских квестов со всеми этим «Окрт» (вместо «Open»).

                            У меня ни один ворд никогда не глючил и работал, что 2003, то 2007, что 2010, что 2013, что 2016. Может, вы не правильно его готовите?

                            Большинство «фанатов» нового интерфейса — это люди, которые старого в глаза не видели… в чистом виде стокгольмский синдром.

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


                            1. khim
                              23.09.2018 17:27

                              Одно изменение, которое я точно помню произошло после 2003 — появление риббона.
                              Угу. На разработку 4 года ушло, да. И в результате получили нечто, что работает заметно медленнее, требует куда больше ресурсов (в давнном случае места на экране) и не даёт возможности сделать ничего нового. Именно то, о чём статья.

                              Но у вас видимо клин сошелся на 2003.
                              Скорее 2000й. 2003й — это первый, робкий, шаг в сторону подхода «а давайте добавим свистоперделок, которые жрут ресурсы и не дают никаких новых возможностей». Но да, до 2007го и последующих ему далеко.

                              У меня ни один ворд никогда не глючил и работал, что 2003, то 2007, что 2010, что 2013, что 2016. Может, вы не правильно его готовите?
                              Дык они с самого начала более-менее грамотно написаны. Тот факт, что после добавления бессмысленных перделок потребление ресурсов возрасло, но программа не стала глючить — это неплохо, в общем и целом… но вроде бы цель была не в этом, а в том, чтобы заставить правильно работать плохо написанные программы? Этого — не получилось.

                              Хех, согласен. только это скорее синдром утенка, что люди не захотели учиться ничему новому, а первый увиденный интерфейс остается самам удобным навсегда.
                              Извините, но нет. Переходу с Lotus 1-2-3 на Excel этот синдром не помешал, появление тулбара с кнопками в Excel 3.x (да-да, представьте себе, тубары тоже не сразу появились) было принято «на ура». Табы в Excel 5.0 тоже отторжения ни у кого не возвали. И даже разного рода «игры с цветами» с MS Office 97 до MS Office 2003 не особо раздражали.

                              А вот ribbon — это да, MS Office 2007 насаждали «огнём и мечом»… Если бы MS Office 2003 продавали и поддерживали бы сейчас — он вполне бы пользовался спросом…

                              Тот же риббон сюда же «староверы», которые в ворде почти не работают любят вздыхать «ах вы, куда вы дели мои менюшечки. Клятый майкрософт».
                              Тут вы правы. Я в ворде мало работаю (так как вообще не понимаю зачем и кому он в сегодняшних условиях нужен). А вот LibreCalc использую частенько. Перешёл с Excel когда тот превратился в тормозилово… Забавно, что до MS Offcie 2007, наоборот, исторически, OpenOffice жрал больше ресурсов и тормозил… а сегодня — вот так…


                              1. PsyHaSTe
                                23.09.2018 21:52

                                Угу. На разработку 4 года ушло, да. И в результате получили нечто, что работает заметно медленнее, требует куда больше ресурсов (в давнном случае места на экране) и не даёт возможности сделать ничего нового. Именно то, о чём статья.

                                Как вы умудряетесь замечать лаги ворда? Как я печатал, так и появлялся символ за 16.6 мс на экране. Я не понимаю, что работает «заметно медленнее». Вот когда я сейчас набираю сообщение, я вижу как запаздывает на 300-400 мс появление набираемого текста, вот уж действительно лагает так лагает. Ворд себе никогда такого не позволял, ни на каком железе.

                                А вот ribbon — это да, MS Office 2007 насаждали «огнём и мечом»… Если бы MS Office 2003 продавали и поддерживали бы сейчас — он вполне бы пользовался спросом…

                                Есть вполне объективные критерии оценки UX, в частности «кликов для выполнения задачи», «частота этой задачи» и так далее. У риббона эти показатели выше, потому что частоиспользуемые операции положены ближе, и за счет общего устройства.

                                То, что мне кажется и вам кажется — это одно. А я читал анализ UX-дизайнера всех ключевых особенностей. И статистика не на вашей стороне — время совершения частоиспользуемых функций с риббоном снижается вполне объективно.


                                1. khim
                                  24.09.2018 02:22

                                  Как вы умудряетесь замечать лаги ворда? Как я печатал, так и появлялся символ за 16.6 мс на экране.
                                  Очень просто: берёте «печатную машинку» на Atom'е с 2GB памяти и весь этот монстр успешно уходит в своп. А если своп идёт на HDD… совсем плохо будет.

                                  Ворд себе никогда такого не позволял, ни на каком железе.
                                  Я тоже так думал, пока не увидел его на «компьютерах для бухгалтерии», где в ТЗ было «общая цена — $300 за рабочее место, включая монитор и либо мини-корпус, либо моноблок».

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

                                  Сразу после пересадки с MS Office 2003 на MS Office 2007 эффективность работы падала катострофически, но через две недели скорость возвращалась — однако не до конца, всё равно задачи решались медленнее, чем в MS Office 2003. При переходе на OpenOffice.org катастрофического падаения не было, но и возврата назад не было тоже.

                                  Более внимательное наблюдение показало, что происходило это из-за отличий во внутренней логике, которую переход на MS Office 2007 не менял, а переход на OpenOffice.org — менял. Простейший пример: задача добавить в документ нумерацию старниц. В MS Office (любой версии) как «Вставить->Номер страницы», после чего Word спрашивает «а куда, собственно: вниз, вверх, нужно ли на первой странице?». А в MS Office — вставляется поле с номером… и всё. То, что там нужно сначала добавить колонтитул, а уж потом, в него — вставить соотвествующее поле многие не могли вспомнить и через две недели.

                                  В результате перешли-таки на MS Office 2007 — но только и исключительно потому, что лицензий на MS Office 2003 больше купить было нельзя.


                            1. shurricken
                              23.09.2018 17:28

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


                              1. PsyHaSTe
                                23.09.2018 21:52

                                Выше ответил. Потому что снижается количество кликов для выполнения частовыполняемоей операции Х. В итоге интерфейс не такой — да, надо переучиваться -да, но он не плохой — нет.


    1. ne555
      20.09.2018 20:42

      Крайне не согласен, обслуживаю в промышленности промышленники на dos/98 и на winxp. Скады на xp валются, для них куча заплаток (прям как в статье написано: скрипты на перезапуск), 98 работает, как ни в чем нк бывало.
      От датчика идет провод, все работает, но там, где вместо провода радиоканал-это просто дерьмо, но все вынуждены мириться даже сверху. Могу написать целую статью в поддержку автора и не понаслышке.


      1. SirEdvin
        20.09.2018 21:02

        Это круто, а вы разобрались в причинах или просто «ну, на 98 работает, а на winxp — нет, значит новомодные программисты виноваты»?


        1. ne555
          21.09.2018 07:21

          На win xp sp3 разбирались многие, даже представители скады, в итоге (не разобрались) только заплатка, которая через ~пол года дает сбои.


          1. serbod
            21.09.2018 10:34

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


            1. ne555
              21.09.2018 16:36

              За 15 лет ничего такого о чем Вы пишите, потому что это промышленник (арм), там только и должен работать этот софт от лета до следующего лета.


    1. sys_int64
      20.09.2018 21:11

      Не знаю про 90е, но вот я помню как работал в 3D редакторе — Maya 7 с 1 ГБ оперативки и все летало, на больших сценах у меня начинала тормозить графика, в итоге докуил еще 1 ГБ оперативки и программа стала просто нереально быстрой.


    1. sys_int64
      20.09.2018 21:13

      а вот emacs'ом я и до сих пор пользуюсь, второй после IDEA инструмент для написания кода.


    1. Crandel
      20.09.2018 22:30
      +1

      Сравниваете современные редакторы кода и древний emacs?

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


      1. SirEdvin
        20.09.2018 23:31
        +1

        Я на "древнем" емаксе за 2 минуты делаю то, что любители всяких студий от некрософта пыхтят и мучаются мышкой по полчаса.

        Если сравнивать тот же emacs с продуктами от JetBrains он проигрывает практически во всем, в чем сильна ide.
        Если же сравнивать emacs с чем-то не ide, например, sublime — все работает практически так же быстро, если не наставить кривых плагинов.


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

        О класс, и я так делаю. Я использую awesome WM и давайте я перечислю список того, что работает плохо:


        1. Lock screen по факту нормальный сделать нельзя или ад с xscreensaver или костыли с light-locker
        2. Виджеты — этой вещи практически не существует. Календарь, монтирование дисков, панель доступа в выключению — всего этого нет. Все нужно писать самому на lua или доставать из интернетов, а оно оказывается потом не работает или работает плохо, потому что в одном дистре поменяли формат работы с батарей, во втором поломали логику монтирования так далее. Реально хорошо работают только те программы, которые не привязываются к DE напрямую.
        3. Низкоуровневые баги, которые DE фиксят за вас. Например, из-за того, что я переключаю клавиатуру через xkbswitch оно все переодически отваливается и больше не переключает. Печалька.

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


        1. Crandel
          20.09.2018 23:47
          +1

          Я использую awesome WM и давайте я перечислю список того, что работает плохо:

          Я использую і3 и уже 2-3 года почти не меняю конфиг, последнее изменение — i3status-rust. Только один скрипт использую, который таймером раз в час запускается и проверяет, если нету процесса i3lock — запускает новый. Делаю на работе перерывы на 5 минут. xxkb у меня показывает текущую раскладку клавиатуры. Украинский и английский настроены в иксах + русские буквы переключаются через правый альт а немецкии умлауты добавляются с помощью композ, назначенной на принтскрин. Проблема за это время была только одна — трей, некоторые приложения не хотят появляться.


          Если сравнивать тот же emacs с продуктами от JetBrains он проигрывает практически во всем, в чем сильна ide.

          Я пользуюсь Pycharm только когда надо рефакторить очень много связанных сущностей. Все остальное время он меня бесит своими тормозами и никаким редактором. 95 % моей работы емакс делает очень быстро и качественно. У меня реализуются автокомплит, goto definition, подсветка синтаксиса, реалтайм линтер, автоформат pep8 при сохранении файла и другие полезные в работе функции. Зато magit предоставляет удобнейший плагин для работы с гитом, намного лучше того, что может дать пайчарм или любой другой клиент.


        1. Neikist
          20.09.2018 23:49

          Вот почему в полноценных DE подобное не запилят? И под виндой? Пробовал тайловые менеджеры, все очень приятно и удобно но не готов я сотни часов своего времени на их настройку и написание своих плагинов тратить… Тем более когда и так разного рода глюки вроде нерабочего японского ввода в части программ.


          1. srhbdv
            20.09.2018 23:58

            Какого именно подобного? Примитивный тайлинг и хоткеи для управления окнами и виртуальные рабочие столы, в windows есть. Что-то большее — пожалуйста, пишите скрипты, автоматизируйте — инструменты для этого есть, процесс сравни написанию конфигов под линуксовые wm. А что значит — не готов я сотни часов своего времени на их настройку и написание своих плагинов тратить? Это, чтобы из коробки было именно так, как хотите именно вы? Вам самому абсурдным не кажется подобное требование?

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


            1. Neikist
              21.09.2018 00:03

              Тем что есть я пользуюсь, вот только это не дотягивает до тех же awesome и i3 на порядок.
              И не нужно мне так как хочу именно я. Я просто не понимаю (не возмущаюсь, а именно не понимаю), почему я вынужден либо выбирать комфорт и красоту кед (или винды), или удобное управление окнами но полностью убогое окружение в остальном.


              1. srhbdv
                21.09.2018 00:12

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

                А я не понимаю, что непонятного для вас в — спрос рождает предложение?

                Ну и да, я еще раз повторю. В windows, начиная с 10ой версии, прекрасное управление окнами. Я мышкой пользуюсь только в графических\видео редакторах и частично в браузере. Все остальное время мне хватает клавиатуры. Чего конкретно вам не хватает? Забинденных раскладок окон? Автоматического распределения по рабочим столам? Чего-то еще? Берите autoit\autohotkey или подобное — и пишите скрипт, все как в awesome. Писать wm с нуля нет необходимости, все прекрасно расширяется.


        1. sys_int64
          21.09.2018 06:09

          Если же сравнивать emacs с чем-то не ide, например, sublime — все работает практически так же быстро, если не наставить кривых плагинов.

          Вот не согласен, саблайму до емакса очень далеко, из емакса вполне себе можно соорудить полноценную IDE, чаще всего емакс может все что может и IDEA от JetBrains, согласен, emacs по функционалу не дотягивает до JetBrains продкуции, но не дотягивает он совсем чуть-чуть, для меня emacs — это второй выбор после IDEA, если нет нормально поддержи для языка в IDEA, то я лучше выбиру emacs, для питона есть + всякие приятные плюшки в виде работы с базой данных (в про версии), а вот для го я ничего такого не увидел что может emacs, при этом emacs работает в разы быстрее, стабильнее и полностью настраиваемый, написать расширение для емакса намного проще (пару строк на лиспе), если чего-то не хватает, а вот написать расширение для IDEA уже намного сложнее (я имею опыт написания расширений и под емакс и под IDEA)


      1. swelf
        21.09.2018 02:09

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

        Сколько ж ты по работе окна переключаешь, что эта операция на порядок рабочие задачи сокращает?

        Я вот тоже поставил 27" 4к, подумал, удобно тайлинг, но тайлинг на самом деле немного ограничивает, а еще почти нет тайловых менеджеров с режимом tabbed, разве что i3, xmonad,ion3 на вкидку. Без режима tabbed я совершенно не вижу смысла вобще в тайлинге. Так вот, все мои потребности в тайлинге покрыли 3 key binding'а в fluxbox, которые ставят нужное окно в одну их 3 позиций на экране и добавляют в группу(чтобы были табы над окошками)


        1. Crandel
          22.09.2018 01:37
          +1

          Сколько ж ты по работе окна переключаешь, что эта операция на порядок рабочие задачи сокращает?

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


          1. VolCh
            23.09.2018 08:00

            Следующий будет enter? или Ctrl+f?


      1. Fracta1L
        21.09.2018 08:38
        +1

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

        Мантры, не имеющие никакого отношения к реальности.


        1. Crandel
          22.09.2018 01:39

          Мантры, не имеющие никакого отношения к реальности.

          Для того, кто это делать не умеет. Скажите еще, что слепой набор — это детская сказка


      1. 0xd34df00d
        22.09.2018 00:15

        А у меня от emacs обратный опыт. Я, правда, spacemacs использовал (ну не умею я в emacs и не хочу тратить месяц на изучение elisp'а и настройку аналогов слоёв), а оно тормозит. Вот, то есть, адово тормозит. Я там пытался код на хаскеле и идрисе ковырять, так оно зависает секунд на 10, если, скажем, попросить сделать case split или вроде того. Простой ввод текста лагает.


        В vim всё летает при этом.


        1. Crandel
          22.09.2018 01:46

          Пользовался вимом 3-4 года назад и он реально тормозил с кучей плагинов для разработки. Может сейчас завезли асинхронность и ситуация стала получше, но все равно никто не отменит ужасный VimL из-за которого настроить под себя ничего реально не возможно. Лисп же намного проще, хотя некоторые неудобства со скобочками присутствуют. Плюс лично мне не подходят режимы, вот никак не получается работать быстро, несмотря на 2-3 года активного пользования вима в качестве основного редактора. Ввод текста у меня меня лагает только на файлах в одну строку либо на гигантских джейсонах, когда он анализирует структуру и подсветку делает. Код набираю со скоростью мысли, даже не задумываясь


          1. 0xd34df00d
            22.09.2018 05:27

            Ну да, в 8 завезли асинхронные плагины, и онлайн-тайпчекинг в idris-vim или произвольные онлайн-проверки через ale хоть плюсов с clang, gcc, cppcheck и clang-tidy одновременно, хоть хаскеля, хоть художественного текста — это просто сказка.

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

            Ну и да, режимы наше всё, редакторы/IDE/etc без vim-стиля редактирования я даже не рассматриваю.


  1. Zoolander
    20.09.2018 16:25

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


    1. Gryphon88
      20.09.2018 16:32

      Немного не согласен. Сейчас модно давать площадку-маркет и завлекать туда индусов программистов. Может, нужно разработать стандарт и следить за его выполнением?
      Кстати, зачем мне программа размеров в 300 МБ, которая запускается на планшете, телефоне и ПК, если можно, используя один и тот же код и разные ключи компиляции, сделать 3 программы по 50 (пусть даже 100), под соответствующие устройства? Маркет сам поймёт, с какого устройства я зашел.


  1. AlePil
    20.09.2018 16:25
    +1

    То, что озвучил tonsky действительно имеет место и отрицать бессмысленно.
    Другой вопрос — что делать. Ведь если реально так посмотреть, то не во всем виноваты раработчики, есть еще бизнес, который хочет, что бы продукт в продакшен вышел еще вчера и не важно какой ценой. Есть пользователь, который абсолютно все равно, что там внутри ии как оно работает, но готовый платить за «докинуть RAM & HDD/SSD», за более мощную машину, но что бы было красиво, ну и есть он, программист, которому реально проще выдать продукт который в итоге поглотит все возможные ресурсы. Ну а что, юзер если что, докупит там чего-нибудь.


    1. tonsky
      21.09.2018 02:13

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


  1. Oskal174
    20.09.2018 16:27
    +2

    Нельзя сказать, что я прямо сейчас загорелся идеей и проникся, но согласен, что грузить сайт по 20 секунд в 2к18 это дичь. Мне кажется, что проблема уменьшения производительности в том, что разработчики уходят все дальше и дальше от железа. Сегодня к железу перестали относиться с должным уважением.


    1. ValdikSS
      21.09.2018 02:14

      Скачайте и запустите Damn Small Linux. Он старый, софт в нем устаревший и не лучший, но просто понажимайте в интерфейс, позапускайте программы. Все работает моментально. Нажимаешь на кнопку — получаешь результат.
      Я раз в год его запускаю и просто бесцельно тыкаю, чтобы не забывать, насколько компьютеры могут быть быстрыми, и что мы упускаем.


      1. perfect_genius
        21.09.2018 06:06

        А Kolibri?


      1. Fracta1L
        21.09.2018 08:46

        Ну смотрите, в моём Линуксе с KDE программы запускаются не моментально, но за 0,5-2 секунды, в зависимости от «тяжести» приложения. Разве вот эта вот разница стоит того, чтобы менять комфортное и красивое окружение с фичами на каждый чих на топорный и малофункциональных Damn Small Linux? Компьютер нынче, как и 20 лет назад, 95% времени тратит на ожидание действий пользователя.


        1. mkshma
          21.09.2018 16:06

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


          1. Fracta1L
            21.09.2018 18:05

            Да, SSD, только ему уже 5 лет)) Нынче наличие SSD, даже копеечного, и 4-8 Гб оперативки это норма.


            1. khim
              21.09.2018 22:11
              +1

              Нынче наличие SSD, даже копеечного, и 4-8 Гб оперативки это норма.
              Не знаю у кого это норма. У меня есть знакомый, который в колледже обучается программированию. Он рассказывал что знает 1 (прописью: одного) парня из группы, у которого в компьютере есть SSD.

              P.S. И да, он не из США и даже не из Японии. Могу поверить что там — ситуация иная.


  1. slg
    20.09.2018 16:27
    +1

    Продукты выходят быстрее, снимая сливки. Покупатели в постоянной фрустрации, заставляющей покупать новинки. Экономика растет, только вы чем-то не довольны.


  1. staticmain
    20.09.2018 16:27

    Так что Slack — это пример очень ресурсоёмкого приложения.


    Странные у вас скриншоты slack. Это вообще без подключенных команд? У нас 200 человек + 25+-10 рабочих комнат — веньше 1.5 ГБ этот «мессенджер» не отжирает в принципе.


    1. Massacre
      20.09.2018 16:48
      +2

      Это (и Skype 8.x) является отличным примером, почему нельзя делать десктопный софт на JS.


      1. Neikist
        20.09.2018 16:54
        +1

        Как и мобильный.


      1. Alexey2005
        20.09.2018 17:25

        На самом деле можно. Только создать шустрое, отзывчивое десктопное приложение на JS ничуть не проще и даже не быстрее, чем на C++.
        Качественный профессиональный код писать на JS дорого — ничуть не дешевле, чем на тех же плюсах. Зато вот дерьмовый код на JS из серии «лишь бы работало» писать гораздо, гораздо дешевле и проще. А значит, появляется возможность сэкономить за счёт снижения качества. С плюсами экономить на качестве удаётся гораздо хуже — даже самый дерьмовый код всё равно довольно дорог.


    1. asmaster
      21.09.2018 01:17

      Я почти завершил разработку 300 КБ Slack (и не только) клиента

      volt.ws


      1. SirEdvin
        21.09.2018 01:19

        Мм… как у вас с кнопками и событиями из слака?


      1. Massacre
        21.09.2018 03:20

        Интересная идея… Добавил в закладки. Если будет поддерживать всё, что имеется в Telegram Desktop (и делать это без утечек памяти) — станет хитом. Ещё можно подтянуть оставшиеся протоколы из Миранды (особенно, ICQ), и она тоже станет не нужна :)


  1. Zloy_tarakan
    20.09.2018 16:27

    Эй, ребят, а может ну его, лучше в космос сгоняем.


  1. Gryphon88
    20.09.2018 16:28
    -3

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


    1. Massacre
      21.09.2018 03:30

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


  1. miga
    20.09.2018 16:35

    Тонский опять ноет.

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

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

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


    1. InterceptorTSK
      20.09.2018 22:34
      -1

      Ага. Ток тормозит безбожно.

      Я мозиллу открываю, набираю в строке поиска что-то, а оно подвисает. Вы объясните, какими такими технологиями можно сообразить НАСТОЛЬКО ЛЮТОЕ ГАВНО???

      У меня на мобильной джаве собственная реализация такого же поиска да еще и с собственным т9 вообще не тормозила. Это НЕВОЗМОЖНО сделать так, что бы такая примитивщина тормозила. Вы что правда не понимаете, что это примитивнее ну просто некуда?
      И на мобильной джаве я реализовал даж клеартайп, и все писалось в моем текстбоксе, искалось по т9 и вообще не тормозило никак.
      И это на устройстве с 20мб опиративы (если повезет), и процессором в несколько мегагерц (или десяток мегагерц, если повезет).

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


    1. ImKremen
      20.09.2018 22:36
      +1

      Не просто проще, а на порядоки проще.
      Есть у меня немолодой коллега (на данный момент фронтенд), программировал он на всей цепочке языков начиная с перфокарт. Так вот он приводил пример диалога с неким инжером который разрабатывает нетривиальный детали (если не ошибаюь ракетный инженер), суть вопроса звучала примерно так — "зачем вам целый штат тестировщиков, вы что не можете сразу делать без ошибок?".
      Ответ прост, система на порядок сложне. Даже отдельный фичи проекта со всеми приложеными требованиями могут не помещается в голову разработчика.


      1. khim
        21.09.2018 00:50

        Ответ прост, система на порядок сложне.
        А почему она на порядок сложнее? Мы тут как-то уже обсуждали вопрос: вот что такое новое и ультраполезное появилось в MS Office после MS Office 2000… Единственное, что удалось вспомнить — это OOXML, и то «Compatibility Pack» есть и работает в Office 2000.

        Так почему MS Office 2016 занимает в 10 раз больше, чем MS Office 2000? За что мы платим этим «увеличением сложности»?

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

        Всё равно как если бы машины собирали не из отдельных деталей, подогнанных друг к другу, а из кучи песка, обмотанного скотчем и тряпками…


        1. SirEdvin
          21.09.2018 00:57
          +1

          А почему она на порядок сложнее? Мы тут как-то уже обсуждали вопрос: вот что такое новое и ультраполезное появилось в MS Office после MS Office 2000… Единственное, что удалось вспомнить — это OOXML, и то «Compatibility Pack» есть и работает в Office 2000.

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


          1. khim
            21.09.2018 07:21

            Вы, конечно, можете сказать, что это все чепуха и не нужно, но вы же в ворде не верстаете.
            А что это меняет? Понимаете — если фича вам нужна и полезна, то вы про неё быстро вспомните. Вот, например из подобного же списка:
            Source files (.cpp) belonging to CMake projects can be built individually via the CMake menu or by right-clicking on a source file in the Solution Explorer.
            Я могу легко объяснить — почему и кому она может быть полезной (объяснить почему для неё нужно было создать такого монстра как Visual Studio 2017 я не могу — но это другая история).

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


            1. Am0ralist
              21.09.2018 16:24

              А что это меняет? Понимаете — если фича вам нужна и полезна, то вы про неё быстро вспомните.
              Неа, если ты уже кучу лет сидишь на 2010, то вспомнить, что было не так с 2003 уже сложно. Ты уже все фичи воспринимаешь, как нужные и естественные…


              1. khim
                21.09.2018 22:15

                Неа, если ты уже кучу лет сидишь на 2010, то вспомнить, что было не так с 2003 уже сложно.
                То есть вы хотите сказать что тут все работали с MS Office 2016 и ничего старше не видели?

                Ты уже все фичи воспринимаешь, как нужные и естественные…
                Для этого на Хабре есть комментарии. Назовите фичу — а люди, работавшие с предыдущими версиями скажут когда она появилась. Пока видел фичи из MS Office 2000. Ничего более позднего из числа «реально полезных фич» названо не было.


                1. Am0ralist
                  21.09.2018 23:30

                  Наоборот, ты запускаешь старую версию и понимаешь, что некоторые вещи не работают и ты чертыхаешься. Это можно запомнить, если ты постоянно работаешь во всех версиях (97, 2003, 2007, 2010 и 2016), а не когда ты прошел их все за лет 16, причем не на постоянке используя.


                  1. khim
                    22.09.2018 03:44

                    Наоборот, ты запускаешь старую версию и понимаешь, что некоторые вещи не работают и ты чертыхаешься.
                    Ну так запустите и «ужаснитесь». Не знаю про MS Office 97, но все версии начиная с MS Office 2000 под Windows 10 встают и нормально работают, можно впрямую сравнить.


                    1. Am0ralist
                      22.09.2018 10:30

                      Ну так, периодами сталкиваюсь с экселем 2003 и новыми.
                      10 намного удобнее, в мелочах, которые только по факту понимаешь, когда начинаешь делать по одному, а его там нет.
                      Ну или с 40к строк работаешь.
                      С 16 разницу не заметил особую, но последний мне не очень зашел. Хотя менюшка верхняя — до сих пор вымораживает.

                      Это как калк в ООо и Либре сравнивать. Вроде функции одни и разница незначительная, но в ООо по мне куча всего по мелочам хуже сделано.


                      1. khim
                        23.09.2018 17:45

                        Вроде функции одни и разница незначительная, но в ООо по мне куча всего по мелочам хуже сделано.
                        Да, но и потребление ресурсов у OOo и LibreOffice сравнимо (причём не факт, что у LibreOffice больше). В этом случае «куча всего по мелочи» — нормальное оправдание.

                        А когда котребление ресурсов вырастает в разы — хочется чего-то большего.


        1. CodeRush
          21.09.2018 00:59

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


          1. PsyHaSTe
            21.09.2018 01:07

            Agile и DDD это про то, чтобы получить на выходе продукт, который всем нужен, а не тот, который согласовали когда-то на заре. И получить в приемлемые сроки. Я поработал по обеим методологиям, по водопаду сделанную софтину мне через 3 года жалко было даже запускать. И спустя эти 3 года от неё отказался и заказчик, и соответственно мы. Потому что спеку мы всю удовлетворили, все требования реализовали, но пользоваться этим реальные пользователи не захотели.

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


            1. CodeRush
              21.09.2018 01:19

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


              1. PsyHaSTe
                21.09.2018 02:11
                +1

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


                У меня сейчас небольшой проект на год, и даже тут я ощущаю пользу Agile, когда я сделал первый MVP-прототип, показал, мне сказали "не, ты все не так понял", и мы сели и за пару недель исправили тонну недочетов, которые впоследствии потребовали бы пересмотра всей архитектуры.


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


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


                1. CodeRush
                  21.09.2018 02:20
                  +1

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


          1. SirEdvin
            21.09.2018 01:08

            Наверное, вы никогда не работали по "водопаду", да?)


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


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

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


            1. CodeRush
              21.09.2018 01:25

              Работал и так, и так, и справляться приходилось и с водопадом, и с эджайлом.

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

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


        1. ImKremen
          21.09.2018 08:13

          Ну возьмите частную задачу, например построение UI и его layout с учётом всего зоопарка размеров и dpi современных экранов.


        1. Vanellope
          21.09.2018 15:06

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


  1. springimport
    20.09.2018 16:42

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

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


    1. staticmain
      20.09.2018 16:51

      И у каждой программы тогда будет по копии системных библиотек. Отлично. Теперь каждая программа будет весить 1-5 ГБ, даже обычный калькулятор. Вы изобрели flatpack. В средней системе установлено 50-80 программ, которые доступны пользователю и еще около 100 системных утилит. И каждая с вашим решением будет весить больше гига. Ну да, у всех же стоят 5 ТБ SSD последнего поколения и google fiber чтобы всю эту ораву обновлять.


      1. springimport
        20.09.2018 16:59

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

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


        1. staticmain
          20.09.2018 17:15

          Соответственно, в памяти будет условный набор из 100 контейнеров-библиотек

          Вместо одного, ага. Ваше потребление памяти выросло в 100 раз. Сейчас оно худо-бедно требует 3-4 ГБ для системных\повседневных приложений (специфичные типа blender/krita/uengine я не считаю), будет требовать 300-400 ГБ оперативки. Шикарный план.

          Что угодно может быть лучше чем запихивание отдельной ОС для каждой программы.


          А создатели flatpack/snap так не считают. И это сейчас впиливается в новые линуксы по-умолчанию.


          1. springimport
            20.09.2018 17:23

            Чего-то я не пойму, а что, сейчас разве не так? Разве хром не загружает в память, например, zip library 1.0, в то время как проводник загружает zip 1.25?
            Да, будет не очень если каждое приложение захочет zip 1.0, 1.01, 1.02, но с этим же борются, например, сейчас: ставят не 1.0, а условно ^1.*


            1. staticmain
              20.09.2018 17:25

              Не так, если chrome у вас из системного репозитория, в котором стоит только одна версия zip. Если вы какой-то пакет ставите в обход репозиториев, то вы ССЗБ.


        1. polearnik
          21.09.2018 11:47

          это вы сейчас про npm и node_modules?


      1. PsyHaSTe
        20.09.2018 22:21

        По-моему докер со своими слоями эту проблему нормально решает. Каждая программа будет весить ровно столько, сколько ей нужно. Единственное чего не будет, что нельзя будет использовать либу версии 1.2 с программой, скомпилиной под 1.1 потому что «ну там ведь небольшие изменения, да и минорная версия поменялась, наверное ок».


    1. SirEdvin
      20.09.2018 16:51

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


      1. springimport
        20.09.2018 17:11

        Таких подробностей не знаю… Есть подозрение что все же это можно решить в рамках одной платформы.


    1. Akon32
      20.09.2018 17:04

      Насколько я понимаю, структуру каталогов в Linux можно поменять, сделав свой дистрибутив.


      И есть такая штука, как Qubes OS. Это ОС с песочницами для отдельных приложений на базе xen и linux. А в каком-то дистрибутиве (не помню точно) вообще конфигурацию ОС в git хранят.


    1. ValdikSS
      21.09.2018 02:27

      Flatpak, Snap, в какой-то степени AppImage, ZeroInstall.


  1. engine9
    20.09.2018 16:52

    Enjoy your capitalism!

    В какую помойку превращают маркетологи нашу планету в такую превратили и IT.

    Я всю трудовую жизнь так или иначе связан с компьютерами, разработкой GUI и компьютерной графикой, и эта тенденция начала напрягать уже давно. Открыл для себя «островок умиротворения» в мире линукса, который год от года все больше радует инструментарием. Вот сейчас в отпуске работаю на машине с процессором 900 мГц, и гигом оперативы на «минте» — система летает, в памяти занимает 230 мБ! Поставился весь софт и дрова из репов, никаких танцев с бубном. Интерфейс вылизан, отзывчивость отличная.

    На большом брате создаю 3Д в блендере и каждый раз искренне благодарен его создателям, сто мегабайт мощнейший 3Д пакет, в котором можно моделировать, монтировать виде и аудио, композить, даже создавать 2Д анимацию!

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


    1. Akon32
      20.09.2018 17:09

      сто мегабайт мощнейший 3Д пакет

      Может, я чего-то не понимаю, но у меня свежий Blender под windows весит 516МБ. Это не считая драйверов видеокарты и прочего, что позволяет ему работать.


      Вы точно учитываете при подсчёте все библиотеки?


      1. engine9
        20.09.2018 17:24
        +1

        Я сужу по установщику с оффсайта: www.blender.org/download 137 мб (под пингвина)


        1. bogolt
          22.09.2018 13:33

          Современные установщики частенько качают реальный софт из сети.


          1. sumanai
            22.09.2018 19:25

            Обычно такие качальщики весят от силы мегабайт.


      1. terra-slav
        20.09.2018 18:14
        +1

        В Arch Linux:
        [user]# pacman -S blender
        Пакеты (1) blender-17:2.79.b.git3.32432d91-6

        Будет установлено: 246,13 MiB
        :: Приступить к установке? [Y/n]


      1. Alex_ME
        21.09.2018 03:17

        У меня установленный Blender 2.79b занимает около 300 мб.


    1. ValdikSS
      21.09.2018 02:28

      Ну и в современный веб захожу в костюме химзащиты, позволяющем пробраться через увесистые гроздья яваскрипта, облепившие интернеты, и прочие свистопердельные миазмы, которые отдаляют от контента.
      Попробуйте Weboob (Web out of browsers), но придется написать кучку плагинов.


  1. namikiri
    20.09.2018 16:55

    Забавно читать перевод с английского на русский статьи, написанной русским автором.


  1. vasimv
    20.09.2018 16:58

    «But I predict that within 100 years, computers will be twice as powerful, 10,000 times larger, and so expensive only the five richest kings in Europe will own them.» (с) Simpsons. Промахнулись чуток, не про компьютеры это надо было говорить, а про программы :)


  1. VezhLos
    20.09.2018 17:10

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


    1. Areso
      20.09.2018 21:04

      Не согласен. Программировать на Pascal (в среде Delphi 5) было ничуть не сложнее. Даже проще, я бы сказал. У нас Basic'у (QBasic 45R) учили пятиклассников.


      1. VezhLos
        20.09.2018 22:35
        +1

        Хелловорлды, может, и не сложнее, а вот коммерчески ценный мало-мальски сложный софт на каком-нибудь Электроне «начинающему перспективному программисту» накидать гораздо проще, чем на нормальном языке. Но и тормозить будет знатно, конечно, и ресурсы жрать, как не в себя… Такая вот борьба противоположностей.

        P.S. Во всей этой хипстерской вебо-мобильной фреймворкщине и яваскриптщине вымораживают именно жуткие тормоза и потребление ресурсов. А чтобы написать нормальный десктопный аналог на C++ или Delphi, ну или на крайняк Java/C#, нужна нехилая квалификация и время.


        1. khim
          21.09.2018 07:28

          А чтобы написать нормальный десктопный аналог на C++ или Delphi, ну или на крайняк Java/C#, нужна нехилая квалификация и время.
          Насчёт времени я не уверен. Не вижу я, чтобы фичи появлялись быстрее, чем во времена, когда всё делалось на Visual Basic'е (не Visual Fred) или Visual C++ 6.0. Вот не вижу и всё.

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


      1. Mabusius
        21.09.2018 12:09

        Аналогично. В школе нас учили на Турбо Паскале. Даже троешники чето там могли. А в ВУЗе уже пошел Delphi 6 с обязательным ООП даже для «Hello World». Большинство сидело и не вдупляло, что вообще происходит.


        1. mayorovp
          21.09.2018 13:35

          Обязательный ООП в Delphi только в графических программах. И он, на самом деле, не усложняет, а упрощает написание программы. Без ООП этот самый «Hello World» испугает даже отличников…


          1. Mabusius
            21.09.2018 13:54

            Я то согласен, я к тому времени пару игр на Турбо Паскале написал и про то как работают объекты был в курсе. А вот простым людям намного легче понять код типа $a := $a + 1;, чем $form1.label1.text := $form1.label1.text + 1;.


            1. mayorovp
              21.09.2018 13:57

              Не видел ни одного человека, который бы испытывал трудности с оператором «точка»…


              1. Mabusius
                21.09.2018 14:57

                Ну там возможно еще была проблема в преподавании. Никто не объяснял, что это за точка :). ООП вообще никак не объяснялось довольно долго, но использовалось.


            1. VolCh
              23.09.2018 08:22

              В структуры +record вроде в Паскале как поднимались?


  1. loki8
    20.09.2018 17:15

    Неужели программисты начали замечать, что закон Мура больше не работает?


    1. dimka11
      20.09.2018 21:07

      Все работает. Количество ядер в процессорах растёт. Техпроцесс становится меньше.
      То, что пока не все приложения могут в многопоточность — вопрос времени.


      1. PsyHaSTe
        20.09.2018 22:23

        То, что пока не все приложения могут в многопоточность — вопрос времени.

        Этой мантре уже лет 20, но воз всё там же. Понемного где-то наращивают, но воз и ныне там. Только софт от программистов для программистов, типа гитов, архиваторов, идеешек и прочих умеет грузить все ядра, а остальной радуется, если смог сделать отдельный тред для трудоемких вычислений.


        1. Fracta1L
          21.09.2018 08:51
          -1

          Видеокодеки многопоточны, браузеры многопоточны, игры многопоточны (хоть и не сильно — как правило, до 6-8 потоков). Где там воз, говорите?


          1. sumanai
            21.09.2018 10:48

            браузеры многопоточны

            Яваскрипт на странице однопоточен.


            1. EvilFox
              21.09.2018 16:45

              Но, есть же веб-воркеры.


              1. sumanai
                22.09.2018 10:45

                Работа с DOM всё равно однопоточна, а без неё ничего на странице не изменить. В итоге изменение страницы при помощи Javascript возможно только в один поток, и это самая медленная часть в современных страницах.


                1. EvilFox
                  22.09.2018 15:06

                  И что? Большая часть тормозов из-за того что DOM используют как хранилище данных. При не умелом использовании DOM многопоточность вас не спасёт.


            1. IRainman
              22.09.2018 12:45

              Но браузер то нет, более того они уже поголовно многопроцессорные.


          1. PsyHaSTe
            21.09.2018 13:06

            Браузеры однопоточны, игры тоже: ну чтобы далеко не ходить, вот пример из Stellaris: 80% работы делает одно ядро


            image


            Так что воз и правда там.


            1. Fracta1L
              21.09.2018 13:17

              Браузеры однопоточны

              Почти в каждом релизе Firefox пишут, что распараллелено то, распараллелено сё, где ж они однопоточны?

              вот пример из Stellaris: 80% работы делает одно ядро

              А когда я играю в Cities Skylines, у меня стабильно нагружены на 100% 4 потока из 8. В новых ААА-играх типа GTA V многопоточность ещё более агрессивная.


            1. EvilFox
              21.09.2018 16:49

              Браузеры однопоточны
              Только отчасти. Есть же веб-воркеры.

              игры тоже
              Сильно от игры/движка зависит. Современные движки уже многопоточны. Даже игровую логику можно сделать многопоточной, например в юнити есть C# Job System.


              1. PsyHaSTe
                21.09.2018 18:30

                Я в основном играю в стратегии, так вот европа/стелларис — современные игры 2013 и 2016 годов. И с ними та история, как я привел выше.


                Из реально тяжелых игр с хорошей оптимизиацией могу вспомнить только новый дум. Во всех остальных игра сидит на 1 ядре, но ей хватает. Может я просто редко что-то новое устанавливаю, и не вижу, что что-то меняется. С моей колокольни grand strategy всё так же плохо с префомансом, настолько, что играть лейт в стелларисе на гигантской карте просто невозможно.


                1. EvilFox
                  21.09.2018 18:32

                  современные игры
                  Увы не всегда имеют современные движки. Но не стоит на них замыкаться выдавая это за всю картину в индустрии.


                  1. Druu
                    22.09.2018 15:28

                    Дело не в движке. Просто не все задачи параллелятся.


                    1. EvilFox
                      22.09.2018 19:03

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


                      1. Druu
                        23.09.2018 15:01

                        и игровую логику при желании можно раскинуть по ядрам (ясное дело что не всё параллелится, но хватает задач где можно раскидать нагрузку)

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


        1. IRainman
          22.09.2018 12:47

          Дополню Fracta1L, не только многопоточны, но ещё и на GPGPU.
          P.S. пул потоков доступен каждому и много где из коробки, разные async и прочее тоже.


  1. nicholas_k
    20.09.2018 17:22

    Компьютерные программы — это не вещь в себе и не самоценность. Ценность программы определяет пользователь.

    У каждой программы есть две стороны — ресурсы, которые она потребляет для написания и функционирования и польза(выраженная деньгами?), которую она приносит.

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


    1. VolCh
      23.09.2018 08:32

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


      1. khim
        23.09.2018 17:47

        Если нужна старая программа, то как раз проблем с XP не будет. У меня есть знакомый, который на XP перешёл в 2010м году. С Windows 98. В прошлом году он начал задумываться об обновлении…


      1. nicholas_k
        23.09.2018 20:24
        +1

        Ценность не равняется цене.

        Пользователь определяет ценность программы в реальном мире и делает это путем выбора — пользоваться или не пользоваться.

        Раз пользуется, значит польза перевешивает недостатки. Иначе — не пользуется.


  1. serbod
    20.09.2018 17:48

    Если дать разработчику не топовое железо и ежедневные апдейты, а Athlon без SSE и WinXP без сервис-паков (без поддержки EncodePointer/DecodePointer) и гигабайт памяти, то требования к готовому продукту резко снизятся. По себе знаю. =)


    1. PsyHaSTe
      21.09.2018 01:11

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


      1. serbod
        21.09.2018 10:14

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


        1. PsyHaSTe
          21.09.2018 13:08

          Выбор инструментов — это когда вместо идеешки мы работаем в виме? Ну так это как раз и выльется в увеличение сроков реализации, человек при прочих равных выбирает IDE не просто так.


          1. serbod
            21.09.2018 13:49

            Даже не буду убеждать, что в CLI можно работать быстрее и продуктивнее, чем в GUI, все равно никто не поверит. Просто приведу в пример те же самые IDE, только 2000-2005 годов.


            1. PsyHaSTe
              21.09.2018 15:44

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


            1. 0xd34df00d
              22.09.2018 00:51

              Можно. Только не надо отождествлять IDE и GUI, особенно если там поддержка вим-кейбиндингов есть.


  1. yefrem
    20.09.2018 17:52

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


    1. yarric
      20.09.2018 23:47

      Тут уже раз пять упомянули Delphi, который был существенно проще в установке и использовании современных зоопарков из новомодный фреймворк+новомодный редактор+новомодный компилятор и тд.


      1. 0xf0a00
        21.09.2018 09:46

        В последнее время он тоже что то разожрался, но возможно из-за поддержки практических всех платформ. Впрочем пользоваться им все так же легко и приятно, и ide построена так что программисту с любой квалификацией будет одинаково удобно.


        1. PsyHaSTe
          21.09.2018 13:09

          А на чем кроме дельфи вы писали? Ну, просто любопытно, с чем сравниваете. Имеется ввиду что-то больше, чем лабу, какого-нибудь бота или что-то подобное..


          1. 0xf0a00
            21.09.2018 15:41

            На визуал студио и эклипсе.


            1. PsyHaSTe
              21.09.2018 15:45

              Я про языки программирования. Джава там. Котлин. Плюсы. Шарп. Питон. Руби. Ну, что-то мейнстримное или может быть хаскель какой-нибудь?


              1. 0xf0a00
                21.09.2018 16:07

                И вот опять, в сравнении инструментов вы пытаетесь сравнивать языки. Учитывая ваши комментарии выше, видимо устраивать срачи ваша цель. Вопрос компетентности все так же остается открытым, как бы вы там не изгалялись в словоблудии. Адиос :)


                1. PsyHaSTe
                  21.09.2018 18:31

                  Ну понятно. Программист на фортрмне может писать на фортране на любом языке программирования.


  1. yshurik
    20.09.2018 18:03
    +1

    А что я как-то "вернулся" ;) Моя inferno os загружалась за одну секунду на raspberry pi. Включаешь и пока экран загорается система уже загрузилась в гуи и готова. Класс ;) Только софта нет ;))))


    1. Gryphon88
      20.09.2018 18:17
      +1

      Примерно так же я пробовал КолибриОС: менее 5 секунд загрузки и определилось всё оборудование. Дистрибутив — менее 2 МБ на всё. В первый раз за 10 лет заплакал.
      Семёрка грузится почти 3 минуты, и с драйверами я повоевал знатно…


      1. springimport
        20.09.2018 18:57

        Если не считать долгую загрузку bios — это отдельный разговор, то win 10 на m2 ssd с 8700k грузится за 10 сек. Новая и почищенная загрузится за 5 сек.


        1. Gryphon88
          20.09.2018 21:05

          Всё-таки не сдержусь: зачем по жизни нужен SSD? Только если под своп. Ну и загрузка не только биоса зависит от количества периферии.


          1. springimport
            20.09.2018 21:18
            +2

            Приятно когда все быстро работает.


            1. minusnaminus
              20.09.2018 22:01

              не путайте. Хорошо, когда быстро включается и долго работает, спросите любую женщину… Да и любой айтишник тоже обрадуется


          1. PsyHaSTe
            20.09.2018 22:26

            Чтобы всё быстро работало. Загрузка ОС — это ведь не все задачи. Например, на харде Europa universalis у меня грузилась несколько минут, с SSD — секунд 15. Разница существенная. Пример еще забавнее становитс, когда оказывается, что игра немного странно сделана, и для загрузки сохренения она практически заново перезагружается. Кстати, а тут уже помогает префетч, и вместо 15 секунд грузится уже 10. А это один из тех «лишних» кусочков, которые по мнению автора всё усложнили «по сравнению с Windows 95».


            1. khim
              21.09.2018 01:04

              А это один из тех «лишних» кусочков, которые по мнению автора всё усложнили «по сравнению с Windows 95».
              Именно. Вначале мы всё делаем всё через… одно место, а потом начинаем со всех сторон пристраивать подпорки. И радуемся тому, что процесс, который, по хорошему, должен занимать меньше секунды занимает не пять минут, а всего лишь 10 секунд.

              Почему загрузка должна занимать 10 секунд? Когда у вас уже все текстуры не просто в памяти, но в GPU и всё уже «на мази»? Потому что у кого-то руки неизвестно откуда растут? А выпрямлять не пробовали — вместо того, чтобы прикручивать 10 уровней костылей?

              Статья, собственно, об этом… но она не доходит до сути — ответ-то прост: выпрямлять ничего не пробовали и пробовать не будем, там как это не принесёт денег.


              1. CodeRush
                21.09.2018 01:10

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


              1. PsyHaSTe
                21.09.2018 01:17

                Почему загрузка должна занимать 10 секунд?

                Потому что IO. Потому что в игре десятки тысяч файлов ресурсов (я лично видел полосу загрузки до 5600 ресурсов, мб их больше), ну и так далее.
                Когда у вас уже все текстуры не просто в памяти, но в GPU и всё уже «на мази»?

                А как оно туда попало? Игру закрыли, всё выгрузилось. Мы же уже выяснили, что префетчи это все костыли через одно место?..

                Статья, собственно, об этом… но она не доходит до сути — ответ-то прост: выпрямлять ничего не пробовали и пробовать не будем, там как это не принесёт денег.

                Деньги — мерило затрат человечества, если говорить абстрактно. Тратить больше денег — значит разбазаривать чьё-то время, который это будет оплачивать. Так делать нехорошо.

                Ну и это beside the point. Почему SSD? Потому что ЛЮБАЯ операция с IO работает в 2..100 раз быстрее. И это очень сильно ощущается в любых операциях, даже если комп как у меня не выключается месяцами, и всё сидит в кэшах.


                1. khim
                  21.09.2018 04:38

                  А как оно туда попало? Игру закрыли, всё выгрузилось.
                  А почему игру закрыли? Я говорю про загрузку изнутри игры. Почему этот-то вариант должен тормозить?


                  1. Druu
                    21.09.2018 12:35
                    +1

                    Так разработчики реализовали.


                    1. khim
                      21.09.2018 22:18

                      Ну дык о том и речь: разрабочики всё реализовали через одно место, из «гавна и палок», а теперь эту кучу… добра обматывают толстым-претолстым слоем скотча, чтобы оно не так сильно пахло.


                      1. Druu
                        22.09.2018 05:20

                        Ну дык о том и речь: разрабочики всё реализовали через одно место, из «гавна и палок», а теперь эту кучу… добра обматывают толстым-претолстым слоем скотча, чтобы оно не так сильно пахло.

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


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


                        Очень удачно, что в парадоксах работают настоящие инженеры, которые решают задачу пользователя, а не рассуждают о том, что их ПО работает со скоростью 1% от потенциально возможной.


                1. Gryphon88
                  21.09.2018 16:18

                  Тут, имхо, тоже вопрос «в руках». Про запуск вопросов нет: нам надо считать с диска и распихать в память. А что потом, где можно налажать:
                  — Всё нужное уже в памяти, но что-то постоянно не догружается, лезем за ним
                  — В память не влезает, поэтому постоянно сбрасываем на диск
                  — Косо расположили ресурсы: нелокальность файлов на диске, недостаточная гранулярность, не сделан префетч.
                  В моём идеальном мире за такие случаи должна отвечать ОС и ФС, но пока что, если мне требуется обработать несколько тысяч 5МБ файлов, я открываю O&O Defrag, чтобы убедиться, что файлы расположены в одном или соседних кластерах (чтение/запись одного куска значительно дешевле чтения многих мелких), и снизить вероятность того, что я упрусь в дисковое IO.


                1. BD9
                  22.09.2018 04:37

                  До сих пор вспоминаю Transport Tycoon.
                  Под MSDOS, с множеством окон, содаваемых и перемещаемых пользователем, и в каждом окне наблюдаешь передвижение своего авотбуса/машины/самолёта…
                  На 2 дискеты влезало.


        1. atamanenko
          20.09.2018 21:27

          6600k, дешманский SATA3 Kingston, винде больше года. Около пяти секунд от нажатия на кнопку до экрана входа


          1. springimport
            20.09.2018 21:46

            Отлично. До рабочего стола или экрана входа?


            1. khim
              21.09.2018 07:33

              От эрана входа до рабочего стола на SSD под Windows 10 где-то секунда. Это не Windows XP на BigFoot'е где от момента появления рабочего стола до момента, когда компьютер соизволит начать реагировать на мышь и клавиатуру секунд 20-30 проходило…


      1. da-nie
        20.09.2018 20:30

        Попробуйте ещё qnx 4 с демонстрационной дискеты. :) Вам понравится, гарантирую.


        1. Gryphon88
          20.09.2018 21:00

          Пробовал, радовался, но там с прикладными программами ещё грустнее.


          1. ValdikSS
            21.09.2018 02:30

            Попробуйте Damn Small Linux.


  1. maikus
    20.09.2018 18:04

    Наверное, никто сейчас не знает, что за код на самом деле день за днём выполняется на миллиардах устройств во всём мире. Кто даст гарантию, что там не на 80% Чужой код, и лет через -дцать, когда 5G или 6G случится везде, а устройства станут в n-раз мощнее, нас не ждёт эдакая Массачусетская машина из смартфонов и ферм, с глазами и ушами в каждом закоулке, и которую нельзя будет обесточить и обнести колючей проволокой.


  1. Scf
    20.09.2018 18:05
    +1

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


    В IT все наоборот — разработка "по аджайлу" относительно дешевая, а вот проектирование и верификация — очень дороги. Как в пословице про дурака, реку и камень — один закодил, десятеро протестировать не могут.


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


  1. Jeka178RUS
    20.09.2018 18:12
    +5

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


    1. Emulyator
      20.09.2018 23:04

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


  1. prefrontalCortex
    20.09.2018 18:19
    +2

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


    1. Losted
      20.09.2018 20:41

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


    1. PsyHaSTe
      20.09.2018 22:33

      Инженер получает ЗП за решение задач, а не за то, что он делает крутые штуки. Всем нравится их делать, только никто почему-то ответственности не несет. А то легко сказать «давайте заморозим разработку на 3 месяца, отрефакторим Х», за это время конкуренты обошли, новый раунд инвестиций не дали, компания закрылась… Но с пустым кошельком остался только владелец бизнеса, а вы через пару недель пойдете к тем же конкурентам, которые остались на плаву. Немного нечестно получается, не находите?

      Выше я уже написал. Ваша задача — дать квалифицированную экспертизу со всеми возможными рисками, возможно дать рекомендацию, но не принимать решения, если только это не ваша прямая обязанность по трудовому договору. Но тогда вы должны быть СТО (если не CEO), и мы наверное не про это говорим.

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


    1. VolCh
      23.09.2018 08:42

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


  1. bosom
    20.09.2018 18:29
    +5

    За наличие букв Ё в статье, автору статьи (переводчику), огромный респект и уважение!
    Мало, очень мало, людей не только код стали писать плохо, но и русский язык не знают!


    1. novice2001
      21.09.2018 10:10
      -1

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


    1. hellowitty
      21.09.2018 13:40

      Респект, ё!


    1. Corosan
      21.09.2018 16:48
      +1

      Да ладно с этой Ё, тут ещё прокатывает вариант в стиле "да у меня клавиатура из 56 букв, у меня нет такой клавиши". Но как же сильно вымораживает неправильное использование мягкого знака после "т".


      Уважаемые читатели и все-все-все. Пожалуйста. Запомните, те, кто ещё не в курсе после школы. Нужно ли ставить "ь" в глаголах после "т", проверяется вопросами "что делают/ет?", "что делать?". Если в вопросе есть "ь", то нужно ставить. Пример:


      • "Многие люди не напрягаются в использовании мягкого знака" (Что делают? ЮТСЯ — без "ь".)
      • "А пора бы уже напрягаться" (Что делать? АТЬСЯ — с "ь".)


      1. hfinn
        21.09.2018 17:59

        Тема сложная. Раньше для объяснения уже высшие силы привлекали.


  1. Emulyator
    20.09.2018 18:48
    +2

    А какой ситуации можно ожидать, если ПО возникает, меняется, умирает по законом очень похожим на эволюционные? Да, кто-то скажет, что нет в мире ПО нормальной конкуренции и настоящего выживания наиболее приспособленных, что бабло и маркетинг исказили законы и побеждают не самые быстрые, компактные, удобные, надежные, а блестящие, мигающие, часто обновляющие внешний вид, разрекламированные.
    Печаль в том, что эволюционный подход хоть и прекрасен, но он вовсе не обязан выдавать эффективное во всех отношениях решение, а главное условия, к которым вынуждены приспосабливаться программы (их разработчики) сильно изменились. Изменились не столько из-за жадных бизнесменов, хитрых маркетологов и глупых дизайнеров, а по причине широкого распространения компьютеров, мобил и прочих умных устройств среди населения. ПО, превратилось в пакет с соком на полке супермаркета и на него стали действовать отработанные десятилетиями методы эффективной продажи (заодно придумали несколько новых специфичных для софта). Да, маркетологи виноваты, но они вторичны. Первичен человек, который, как и 100 лет назад, любит «новое», привлекающее внимание, с функцией «потешить ЧСВ» и т.п.
    Так что ничего существенного мы тут не изменим, разве что всем возмущенным скинуться и оплатить масштабную рекламную компанию с тезисами, продвигающими эффективность, функциональность, реальную надежность, олдскульность и т.п. Но это все временно, и против любви к «новому» мало что поможет, она «прошита» в людях аппаратно. )


    1. BD9
      22.09.2018 04:48

      Живая природа тоже любит выкрутасы — посмотрите на павлинов. Или на возвратный гортанный нерв.



      1. Emulyator
        22.09.2018 17:01

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


  1. gatoazul
    20.09.2018 18:52

    Ничего, скорость процессоров растет все медленнее и в конце концов упрется в потолок. Вот тогда и начнется волна оптимизации софта.


  1. maydjin
    20.09.2018 19:01

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


    На самом деле, есть определённый круг людей, который тусуется на железе 10+лет давности или на low end актуальном железе, что бы хотя бы для себя снизить такие неэффективности.


    Ещё, есть системная разработка, где нервы автора статьи наверное могли бы слегка подуспокоиться :)


  1. InterceptorTSK
    20.09.2018 19:03

    Когда-то программирование было точной наукой. И никак иначе. 2+2 всегда было равно четырем. Нынешнее программирование совсем убого. Если 2+2 выдает 5 — то это считается не таким уж и плохим результатом. Если 2+2 выдает 4.5 — то это вообще хорошо! Если 2+2 выдает 4.1 — то вы бог программирования!
    Причем нынешние дегенераты реально думают так, и живут именно в таких понятиях. Они же не могут понять простой вещи, что все ошибочное — ОНО ОШИБОЧНО, и не важно насколько близка ошибка к точному результату. Нет же. Вместо того что бы избегать ошибок вовсе, дегенераты придумали градации ошибок, и термин ошибка сменили на другой. И все сразу стало в шоколаде) Ошибки заменились на ворох каких-то никчомных дегенерацких терминов. И это спасает дегенератов от выпила из системы. Ну а кому охота идти с метлой к помойке?
    И да, основная проблема только в том, что программирование стало доступно для широких масс, читай — для быдлы. В этом основная проблема нынешнего «программирования».
    Уже лет примерно 5-8 назад, точно не скажу т.к. это не существенно — я перестал именоваться программистом, когда меня спрашивали о роде деятельности. Примерно в оговоренное время я понял, что лучше мне не называться программистом вовсе, т.к. к ТАКОМУ ИДИОТСКОМУ ПРОГРАММИРОВАНИЮ я не имею никакого отношения вообще.


    1. da-nie
      20.09.2018 20:35
      -1

      стало доступно для широких масс


      Нифига себе, для широких масс… Я как учебник по Си++ ни открою, так просто офигеваю от его сложности. А как открою «Эффективный Си++», так и вовсе в простации от концепций. Это что ли, низкий порог вхождения? ;)


      1. InterceptorTSK
        20.09.2018 21:27
        +4

        Так точно. Так и было. Закрывали и дасвидули.
        Вы открыли ровно то, что юзалось как раз таки 20 лет назад повсеместно, потому что ничего другого не было. Ну был паскаль, ну фортран. Что то там еще. Это не совсем то.

        Сейчас же вы можете вмиг наколхозить на более чем 20-и языках свою поделку и не париться. Вот смотрите как оно было с той же мобильной джавой. Вам шло где-то 15 базовых классов, типа систем, эррей, дисплей, вектор и т.д. И НИ ОДНОГО ЗАРАНЕЕ НАПИЛЕННОГО КОМПОНЕНТА) Пишите сами. Ищите сами, например что-то похожее ищите, перепиливайте под себя и юзайте. Мобильная джава в себе не содержала фреймворка. Напишите его сами. Сможете? Как напишете — так оно и полетит. И раньше такое программирование было повсеместным. И оно приводило к тому, что людей заставляли понимать, что они делают.

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

        Ну вот вам пример. Я на днях увидел как некое тело пишет реализацию ISO639, ну там кому-то надо было что бы все по стандарту и т.д., не суть, пришлось прикрутить. Это стандарт языков если что, в смысле языков на которых люди общаются. Ну я поглядел как оно. Это же бред какой-то) Во-первых зачем-то прикручена база данных. Накачаны какие-то компоненты, какое-то гавно. Ну просто фееричное гавнище абсолютно не нужное никому кроме дегенератов. Ну типа что бы база работала и там что-то еще. Я вообще не понимаю зачем база данных, если база статическая))) Тут любой массив обычный подойдет. МАССИВ))) ОБЫЧНЫЙ. Правда не совсем обычный, а разряженный, ну не суть. И дергайте вы с него все что захотите и как хотите. Вот значит ето тело начало писать какие-то безумные скрипты, что бы наколхозить сначала базу данных, причем накачало каких-то пакетов, затем какие-то проверочные скрипты, какой-то ужасающе-зверский навоз.
        Ну есть готовая база на сайте ISO, но это же не значит, что ею надо пользоваться напрямую)) Это же не эффективно.
        Вот пришлось переписать это на уже обычнейший шарп на структурах, и оно зверско полетело в сравнении с поганым мскюэлем убогим. Получилась обычная либа, с массивами внутри. И функциями поиска в них. На 3570к например из либы можно дергать поиском 200 миллионов языков в секунду. Такая вот производительность. Можно даже чуть быстрее, но пока не нужно. Мскюэль и рядом не валялся, зачем он? Ничего сложного) Никаких зависимостей, никакой фигни. Зачем оно? Собрали на втором фреймворке, подписали и работать оно будет всегда и вечно. И память вообще не ест, с чего? И обновлять это никто не будет))) ЗАЧЕМ??
        И подобных либ у нас уже сотня. Ну нет смысла юзать что-то в чем вы вообще ничего не понимаете. Пишите все что есть сами. С нуля. Только это позволит вам действительно разобраться. И так и писали раньше повсеместно.

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

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


        1. VezhLos
          20.09.2018 23:38

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


        1. PsyHaSTe
          21.09.2018 01:26

          Могу ответить одной ссылкой: habr.com/post/280099/#comment_8820183

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

          А то я так могу реверснуть ваш пример: вы написали супер-оптимизированную офигенную реализацию, а я взял и переписал на использования nuget-пакеты, который *еще* на 20% производительнее, и в котором починена куча всяких неприятных уязвимостей и багов.

          Жду не дождусь какого-нибудь всеобъемлющего npm/nuget/… репозитория, где можно будет хранить пакеты в виде какого-нибудь LLVM IR, который можно будет подключать к проекту на любом языке. И убрать вообще всё дублирование, как это сейчас бывает, даже если есть хорошая либа для Х на одном языке, не факт что она будет на таком же, но похожем.


          1. InterceptorTSK
            21.09.2018 08:31
            -1

            Проблема в том, что готовых компонентов вагон и телега. И далеко не все документируются. И совсем единицы подвергаются тестированию. И уж совсем один или аж(!) два имеют спид-тесты. Вы о чем говорите вообще?) Т.е. вы хотите, что бы я реально взял чье-то поделие, и прикрутил себе? ВЫ В СВОЕМ УМЕ ВООБЩЕ?)))) Я понятия не имею как оно работает. Зачем оно мне? Я же это людям выдам, и я за это отвечаю, а не пейсатель пОкета. И как мне тестить таких же аналогичных пОкетов десяток? А если их 20? А если у них разная реализация? Что сложного прикрутить несколько массивов? Ну да, надо знать что такое массив, а как иначе? Надо знать как эффективно в нем искать. Надо знать как собрать структуру, что бы она была пригодна для поиска и положить ее в массиве именно в то место, что бы поиск был за О(1). Вот тупо поиск мгновенный получается. Вообще моментальный. Вот прям поиск без поиска) И да, такое запросто возможно, и это никакая не заумь, ЭТО ПРИМИТИВЩИНА первого курса любого факультета связанного хотя бы как-то с программированием. Вы поймите, если вы вообще ничего не понимаете в этом, так вы не программист вовсе. Любой программист из бывших вообще выпучит глаза на все эти ваши пакеты, закроет рукой лицо и самовыпилится сразу же. Это же для дегенератов сделано. Ну т.е. не для программистов совершенно. Ну есть там вы или домохозяйка Люсия, вот для них оно сделано. Собрали как-то, запустили, скрепит-пердит, но работает. Правда падает через раз, но для домохозяек пойдет. Вы домохозяйка что ли? У вас вообще хотя бы минимальное самоуважение хотя бы на уровне студента первого курса есть?
            Ужасно…


            1. 0xd34df00d
              22.09.2018 06:35

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


        1. da-nie
          22.09.2018 12:25

          Вы открыли ровно то, что юзалось как раз таки 20 лет назад повсеместно, потому что ничего другого не было. Ну был паскаль, ну фортран. Что то там еще. Это не совсем то.


          В смысле, открыл? Я с 1995 года всем этим занимаюсь. Но это совершенно не значит, что я владею и понимаю приёмы того же Александреску или Мейерса, а также знаю и применял все паттерны и современный стандарт Си++, а так же гору алгоритмов. Всё это совсем не просто. И никуда не делось.

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


          А вот о каких базовых вещах, розданных всем, вы пишете, я не понимаю. Это про web что ли? Ну, тут я полный ноль. В C#, python и java кстати, тоже.
          А так, обычные приложения и 20 лет назад клепали в Builder и Delphi не особо вникая в работу системы. Но такие плохо понимающие разработчики писали для себя или мелких контор и в серьёзный софт попадали редко (хотя, QIP вроде как на чём-то подобном был написан, но, думаю, его автор хорошо понимал, как оно вообще работает).
          Если честно, я даже не знаю, как сейчас пишутся приложения для PC. В чём, например, рисуют интерфейс? К чему он подключается? Я всегда использовал MFC и формы в ресурсах. А сейчас как?


  1. Anthony_K
    20.09.2018 19:33
    +2

    Обратная сторона такой деградации производительности — резко возросшая, невероятная скорость разработки нового ПО. Если на разработку Windows 2000 Микрософт потратила более 5 лет, то сейчас новая версия винды выходит чуть ли не каждые 2 года (про то, что всякой прикладной апликухи за день сегодня пишется больше, чем писалось за год 15 лет назад умолчу. При чём, как в штуках софта, так и в строчках кода). Короче говоря, наблюдаем переход качества в количество.


    1. dartraiden
      21.09.2018 02:16

      И скорость портирования этого ПО. Можно долго ругать Electron, но он позволяет быстро выпустить приложение под все основные платформы.

      Контрпример: есть мультипротокольный мессенджер, который при 4 активных протоколах (ICQ, IRC, Tox, Jabber) потребляет всего 8 мегабайт оперативной памяти. Но это достигнуто за счёт максимального использования WinAPI. И как только появилось желание портировать его для Linux — упс, приходит осознание масштаба работ и понимание того, что в 2018 году разница между 8 и 80 мегабайтами ощущается совсем не так, как в 2000, когда оно писалось.


      1. Massacre
        21.09.2018 03:36

        Вот там выше в комментах (volt.ws) пробуют написать аналог сразу с поддержкой win, macos, linux. Пожелаем им успехов в развитии :)


    1. DrPass
      21.09.2018 02:47
      +1

      Обратная сторона такой деградации производительности — резко возросшая, невероятная скорость разработки нового ПО

      Я честно, кроме редких исключений, вижу строго обратную картину. Изменения внедряются больно и мучительно, новых фич мало, чаще тратится время на перерисовывание картинок, нежели на функционал.
      Да даже ваш пример с Windows 2000. Да, на разработку NT5 потрачено пять лет. Но количество новых функций там было беспрецедентным. Серьезные изменения в файловой системе, новая архитектура драйверов, огромный набор инструментария для управления инфраструктурой, от консоли WMI и до Active Directory и т.д. Я не слишком ошибусь, если предположу, что за эти пять лет в Windows было реализовано больше нового функционала, чем за последующие 18 лет от Win 2000 до Win10.


    1. Alex_ME
      21.09.2018 03:22

      И зачем нам новая версия винды раз в два года? (Нынче вообще rolling update)


      1. Anthony_K
        21.09.2018 09:05

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


    1. BD9
      22.09.2018 04:55

      Потому что начиная с Windows Vista ОС у M$ внутри меняются мало. До нынешних скоростей многие пинали M$ за задержки с выпуском Windows Vista, потом за тормоза и плохой интерфейс, и что не всё воплотили.


  1. theTeacherOfEnglish
    20.09.2018 19:33
    +2

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

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

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

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


  1. balajah
    20.09.2018 19:33
    -1

    Классная статья, подпишусь во всем. А причины давно известны:
    1) капитализм, где зарабатывают не на прибылях, а на издержках
    2) в отрасли много недалеких личинок, которые не только программируют, но даже руководят
    Лекарство тоже давно известно:
    1) крах и небытие переразвитой системы (первая пойдет майкрософт)
    2) медленный и печальный опенсорс, если к тому времени всех не пересажают


    1. Anthony_K
      20.09.2018 20:03
      +1

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


      1. balajah
        20.09.2018 20:54
        +2

        Пишу с лубунты, никаких тормозов, обновления по 20 мегабайт в неделю, инсталлируются за 1 минуту, старт за 40 секунд, шатдаун за 8.


        1. Xandrmoro
          20.09.2018 22:14
          +1

          Я не смог заставить работать убунту на абсолютно типовом железе.
          Вообще.


          1. lxsmkv
            20.09.2018 23:13

            Я пять лет назад страдал «дистросвитчингом», баловался линуксами, гонял их на виртуалбоксе. Месяц назад мне на работе понадобился линукс. И на последнем виртуалбоксе у меня из коробки не инсталлировалась ни убунта, ни федора. Я сильно удивился. Раньше все это ставилось на раз.


        1. Anthony_K
          20.09.2018 22:19

          Пишу из-под WinXP на AthlonXP. Тормозов нет вообще, старт (от появления лого до приглашения Ctrl+Alt+Del) 25 секунд, шатдауном не пользуюсь — хибернейт рулит. Но один частный случай, как вы понимаете, не показатель. Да, скайп из-под неё не работает ((


          1. sumanai
            20.09.2018 22:36

            Да, скайп из-под неё не работает ((

            Вы что-то делаете не так, у моей матери работает.


            1. Anthony_K
              21.09.2018 00:44

              А какая версия, если не секрет?


              1. sumanai
                21.09.2018 11:16

                Спрошу на досуге.


            1. Grox
              21.09.2018 21:42

              В WinXP возможно, но не на Athlon XP, в прошлых версиях они добавили обязательных инструкций процессора, которых нет у Атлонов. Может быть в Скайп 8 всё переделали и оно заработало?


          1. Vanellope
            21.09.2018 15:10

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


            1. Massacre
              22.09.2018 02:26

              У меня E5300 и 4гб, всё нормально можно делать в этом треде. Это ж не Фейсбук.


          1. BD9
            22.09.2018 05:01

            Под Win XP достали тормоза Огнелиса (Win XP 32 бит), и он перестал обновляться с лета.
            Линукс и FreeBSD (64 бит) работали быстрее на той же машине.


        1. PsyHaSTe
          21.09.2018 01:35

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

          Так что такое себе.

          1) капитализм, где зарабатывают не на прибылях, а на издержках

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


          1. srhbdv
            21.09.2018 01:43

            Какие еще деньги при коммунизме, и какое «то время».
            В «то время» был социализм. А коммунизма еще не было нигде и никогда на уровне государственного строя.


            1. Sychuan
              21.09.2018 12:13

              Коммунизм был первобытнообщинный. Читайте классиков марксизма-ленинизма. А вообще вы уверены, что система, все попытки построить которую ведут к развалу и которой никто никогда не видел это круто? Может быть лучше «О Граде Божьем» Св. Августина почитать с такими же успехами?


              1. srhbdv
                21.09.2018 20:09

                А где я писал, что это круто? Не фантазируйте.


            1. evtomax
              21.09.2018 20:03

              В «то время» был переходный период от коммунизма к капитализму, ибо партноменклатура осознала себя как класс буржуазии. Коммунизм был с середины 30-х до начала 60-х. Социализм — это неразвитый коммунизм с отпечатками предыдущей формации.


              1. Gryphon88
                21.09.2018 21:29

                Офигеть, коммунизм с Вождём — это что-то новое в политологии.


          1. evtomax
            21.09.2018 19:58

            Вы перечислили как раз ростки капитализма в коммунистическом обществе, а не признаки коммунизма.


            1. PsyHaSTe
              21.09.2018 20:02
              +1

              Я рассказываю про то, как это было в самой крупной попытке человечества реализовать социализм… Впрочем, я знаю, что вы на это ответите, поэтому просто оставлю еще вот это:
              image


              1. evtomax
                21.09.2018 20:09

                А вот и не угадали! В СССР был настоящий социализм. При социализме проблемы старого общества не пропадают внезапно, и при отсутствии сознательной общественной борьбы с ними, старые порядки неизбежно возрождаются.


                1. PsyHaSTe
                  21.09.2018 21:56

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


              1. user343
                21.09.2018 20:20

                А вы читали книгу "Конец техноутопии" (Overshoot, 2006) и повесть "Машина останавливается" (The Machine Stops, 1909)?


                "Когда-то люди строили машины, чтоб сделать свою жизнь как можно более комфортной. Теперь они не могут и представить себе существование без всемогущей Машины, обеспечивающей их пищей, водой, воздухом, книгами, связью и вообще всем, что только можно себе представить. Мало кто задумывается над тем, что Машина полностью подчинила себе людей, а того, кто задумается, ждет неминуемая кара — лишение крова и изгнание на безжизненную поверхность Земли. Но однажды Машина ломается..."
                (а измельчавшие людишки разучились её чинить)


                1. PsyHaSTe
                  21.09.2018 22:02

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


                  1. user343
                    21.09.2018 22:18

                    Уже пошло не так, замаскированный энергетический кризис на повестке дня. Мощные пылесосы и лампочки не просто так запретили. Рост скорости процессоров не успевает за отуплением программ. Гонки в цифровую пропасть заканчиваются.


                    "Новые техпроцессы для производства микросхем все чаще откладывают" https://habr.com/company/it-grad/blog/422501/


                    "2019 — год, когда Intel остановился" https://habr.com/post/424035/


                    "В школах Франции запретили мобильные телефоны" https://rg.ru/2018/07/30/v-shkolah-francii-zapretili-mobilnye-telefony.html


                    1. PsyHaSTe
                      22.09.2018 03:24

                      Ууу… Покайтесь грешные, ибо грядёт Он. И воздаст Каждому по делам Его… А нет, это немного из другой оперы.

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


      1. 0xd34df00d
        22.09.2018 06:36

        Не надо судить об опенсорсе по убунте. Гентушникам обидно.


        1. IRainman
          22.09.2018 12:09

          Убунту из всего опенсорсного ОС как то более всего человеко ориентирована и для простых людей. ИМХО конечно.


          1. san-smith
            22.09.2018 19:40

            Как по мне, Linux Mint будет поудобнее для начинающего линуксоида. Всё-таки убунтовская Unity вещь довольно специфическая.

            Кстати, DistroWatch тоже считает, что Минт популярнее Убунты.


            1. VolCh
              23.09.2018 08:56

              Юните почила в бозе :( Теперь гном3


              1. san-smith
                23.09.2018 09:20

                Да? Буду знать. Просто я после Убунты 12.04 сначала пересел на Xubuntu, а потом на Mint.


            1. IRainman
              23.09.2018 13:48

              Хм, интересно, возможно в следующий раз её попробую. Но сейчас, особенно с учётом изменения вектора развития Microsoft и выхода 10, пусть пока она всё ещё для меня сыровата и 7 лучше, на Linux для десктопа я вообще не смотрю, а в роутерах и серверах (по большей части) и так Linux но без оболочки.


    1. fatronix
      20.09.2018 20:33

      2) медленный и печальный опенсорс, если к тому времени всех не пересажают
      Вообще не лекарство, можно банально сравнить Gimp и Photoshop — второй и быстрее (ну разве что памяти побольше жрет), и функциональнее.


      1. balajah
        20.09.2018 20:57

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


        1. PsyHaSTe
          21.09.2018 01:36

          Странные у вас представления о корпорациях… За каждой корпорацией сидит куча людей, которые постоянно считают деньги. И уж они то как раз за стабильность. А в опен-сорсе все такие «а давайте на юнити — давайте, там круто!!», а потом «а давайте обратно — давайте, тож ничо!».


        1. 0xd34df00d
          22.09.2018 06:41

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


      1. 0xd34df00d
        22.09.2018 06:40

        Мне вот интереснее сравнивать, скажем, clang с icc по части поддержки стандартов. Или с cl.exe, хотя они вроде как зашевелились последнее время.


  1. Asxer
    20.09.2018 19:43
    +1

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

    Windows 95 работало быстрее? Хм… Ну давайте время отклика калькулятора посчитаем, но сколько приложений вы на нём запустите? А пользователи ждут, толпа жаждет хлеба и зрелищ! И когда вы начнёте удовлетворять потребности этой толпы вдруг окажется, что придётся писать менее оптимизированный, но более гибкий код.

    Пост как по мне, так борьба с ветряными мельницами «Этот мир живёт неправильными приоритетами!», но десятилетия разработки ПО привели именно к этой расстановке приоритетов не просто так


    1. Emulyator
      20.09.2018 22:38

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


      1. Asxer
        21.09.2018 05:12

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


        На счёт тормозов. Пользователь не хочет приложение, которое работает максимально быстро. Это никому не нужно. Пользователь хочет приложение выполняющее свою функцию в приемлемое количество времени. Разница между 0.05 с и 0.5 с для рядового пользователя настолько несущественна, что её никто не заметит. А это разница в производительности на порядок! А вот то, что ради этих 0.45с вы угробили почти весь бюджет заказчика, при этом писали исключительно свой код не используя фреймворки потому что они тянут лишние зависимости и занимают место. И как следствие, на разрежение лапши в коде тратится неприлично много времени, что приводит к появлению багов.


        Итог приложение открывается на 0.45 с быстрее, но вот при нажатии на нужную пользователю кнопочку крашится. Зато быстро:)


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


        1. Emulyator
          21.09.2018 15:31

          Вопрос в том, зачем что-то писать вообще, если уже работает за 0,05с и пользователей устраивает?
          Вы взяли и замедлили производительность на порядок, на порядок раздули приложение сторонним кодом, стабильность которого по сравнению со старым никто не оценивал, наняли опытного дизайнера, который перерисовал интерфейс так, чтобы привыкнуть было не очень сложно, и все потому, что якобы приложению «калькулятор»(например) не выжить без испытаний постоянными обновлениями? )


          1. PsyHaSTe
            21.09.2018 15:47

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


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


            1. Emulyator
              22.09.2018 15:51

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


              1. Asxer
                22.09.2018 17:21

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

                Может быть мы с вами в принципиально разных сферах работаем, я работаю в сфере веба и мобильных приложений, где ваш подход смерти подобен. Самые жуткие проекты, которые мне доставались шли одним и тем же сценарием. Был разработчик построивший приложение на велосипедах потому что они быстрые. Фреймворки не нужны, сторонние библиотеки нужно сначала прочитать и тд. И всё вроде бы неплохо работает пока не появляется она — ФИЧА!
                Это закон программирования — каждое изменение кода — потенциальный крах системы. Программист, который в вашем понимании должен оцениваться как опытный и авторитетный разработчик, начинает рушить свой идеальный, быстрый, но построенный на велосипедах код пытаясь встроить в него новую фичу. Откуда взялась фича? Ну у заказчика поменялась бизнес-логика, что-то изменилось в бизнес-процессе да мало ли! Это не вопрос программирования.
                И вот код программиста уже выглядит не так хорошо, а тут появляется ещё фича, потому что новые изменения являются новыми и устаканиваются по ходу дела. Появляются новые баги — и всё это потенциальные крахи системы. И тут велосипеды дают о себе знать. И вот ваш изначально быстрый код крашится и валится, но при этом ещё и представляет из себя нераспутываемую лапшу. Заказчик терпит повышения бюджета месяцы, годы. Но потом наступает момент, когда проект просто умирает. Не из-за заказчика, а из-за программиста велосипедофила. И вот заказчик меняет команду разработчиков и потом нам приходится это разгребать.

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


                1. Emulyator
                  22.09.2018 19:39

                  Ну, начнем с того, что у меня вовсе не присутствует подхода, с которым вы категорически не согласны. Вариант, где программист «по каким-то причинам работающий в стиле «все уже придумано до меня, никаких велосипедов»» специально упомянут, чтобы избежать обвинений в предвзятости. Это может быть вполне опытный разработчик с 15 летним стажем, который трезво оценивает современные требования к разработке в своей нише, и понимает, что разумнее использовать чужие готовые наработки, чем набивать свои шишки. Т.е. это вполне положительный пример.
                  И я не престану утверждать, что в каких бы областях ни творил разработчик, какие бы парадигмы, подходы, инструменты ни диктовали бы рынок, мода, гуру, — нельзя без вдумчивого анализа конкретной задачи (и много чего еще в), принимать решение о том, как писать, на чем писать, что использовать, что нет. Коротко такой подход можно назвать здравым смыслом. )
                  А что касается веба, то вот подходящий к теме длинный пример из моей практики.
                  Контора, где я работаю, заказала у сторонней фирмы немного изменить сайт. На стороне, потому что в своем штате ни один айтишник вебом не занимался и желания не проявлял, а человек, делавший последнюю версию, толи денег много захотел, толи перестал интересоваться темой, не важно. Сайт обновили: перешли с самописного движка (php) на движок друпал, просто визуально/функционально повторив сайт. На том же хостинге новый сайт стал тормозить… По замерам на порядок — на два, и это объяснили большим уровнем абстракции, а значит гибкостью, универсальностью, последующей легкостью в изменении и поддержке. Я даже согласился с этим объяснением, и по совету разработчиков сайта, выбил у руководства перенос на рекомендованный, проверенный многократно, но более дорогой хостинг на vps. Худо бедно, но все зашевелилось со скоростью на уровне «есть сайты и потормознее, сойдет для сельской местности».
                  Очень скоро появились жалобы от посетителей, нет, не на скорость, а на то, что люди, условно говоря, подавали заявку, сайт «говорил» им, что успешно её зарегистрировал, но по факту в базу эти заявки не попадали, или на то, что сайт недоступен в короткий период подачи заявок на получение, скажем, товара повышенного спроса. )
                  Проблема возникала не регулярно, но довольно частая, и в результате многократных переговоров с разработчиками сайта дошло до того, что последние обвиняли посетителей во лжи, и что у них все работает, проверили много раз. В конечном итоге выяснили, что посетители не виноваты, что компетентность разработчиков не позволила быстро и точно локализовать проблему, потому что глубоко они в друпале не разбираются, а в php и mysql почти никак. Зато быстро, как конструктором умеют делать сайты на друпале.
                  Пока шла вся эта тягомотина, мой напарник увлекся node.js, изучил react, поплевался на отсутствие типизации в javascript, освоил typescript, поизучал и, (как он посмел!) написал свой аналог redux, изучил основы работы с vps и нарисовал такой же сайт, на своем react.js движке практически без зависимостей, который летает, в котором ему понятно, что как работает. Несколько месяцев — и новый сайт, все довольны, ну кроме сторонней фирмы, с которой пришлось расторгнуть договор.
                  Никакой морали, просто подходит к контексту разговора.


                  1. Asxer
                    23.09.2018 02:46

                    Чтоб переписать изначально рабочий сайт с нуля требуются достаточно веские основания. А в вашем случае программисты просто рукожопы.
                    К тому же друпальное комьюнити это какая-то отдельная секта. Переписать сайт на технологию, которую не понимают достаточно глубоко, при этом не имея достаточных оснований для этого потому что… Ну это же Друпал!=) Я бы с ним вообще не связывался. А тут весь набор некомпетентности.
                    Тут как говорится «с дуру можно и МПХ сломать».


                    1. Emulyator
                      23.09.2018 11:15
                      +1

                      А основание простые. Хоть сайт и не такой уж сложный, но это был чистый php, довольно аккуратно, модульно написанный(даже я разобрался), а современное состояние в веб такое, что часто представители разработчиков даже не рассматривают ситуацию, что сайт может не использовать один из популярных движков. Они первым вопросом спрашивают: «на чем сайт?», и не давая ответить, пытаются угадать, перечисляя глупому заказчику те многочисленные движки, с которыми они умеют работать. А когда узнают, что движка нет в списке, вариант сделать все с нуля — единственный, который рассматривается, а предложение: «может посмотрите, как оно сейчас устроено, может разберетесь и подправите?» сразу отвергаются. И я могу понять этот подход с экономической точки, — «делают то, что умеют», но в результате такие вот истории. )


              1. PsyHaSTe
                22.09.2018 23:06

                О каких старых багах речь, если пользователей все устраивает? )

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

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

                Обычно сразу после этого следует фраза «давайте лучше закостылим». Не люблю это правило в большинстве случаев.


                1. Emulyator
                  22.09.2018 23:53

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

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


          1. Asxer
            21.09.2018 16:46

            Ну появление новых требований диктуется не разработчиком, а заказчиком и пользователями. Зачем делать редизайн? Ну может потому что у конкурентов дизайн адаптивнее(новые устройства появляются регулярно и ваш старый сайт на новом экране может выглядеть не так хорошо), красивее и современнее.
            Плюс заказчик просит фичи потому что… Ну это уже от проекта зависит. Требования пользователей год назад, когда ваше приложение только появлялось и было в новинку и требования сейчас, когда они его распробовали будут серьёзно разниться. Да, господи, просто посмотрите как изменился контакт. Если сейчас выкатить его в старой форме приблизительно лет десяти назад со стеной, отсутствием аудиозаписей, только одной аватаркой и тд и тп, то этим сайтом просто никто не будет пользоваться.
            Ваш продукт должен быть дружелюбен к изменениям потому что они наступят ГАРАНТИРОВАННО. Расчитывать при разработке на приложение, которое будет оптимизировано один раз и не будет модифицироваться, значит изначально писать либо крайне узконишевой продукт, либо мёртворождённый.

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


            1. Emulyator
              22.09.2018 16:48

              Ну появление новых требований диктуется не разработчиком, а заказчиком и пользователями.
              Да, так бывает, это очевидно, но также очевидно, что бывает, когда решения об обновлении принимают сами разработчики (например, когда конторка маленькая, или вообще разработчик один, он же маркетолог, дизайнер и т.п), или когда конторка большая, и решение принимают не разработчики, а специально обученные люди, иногда даже вопреки пожеланиям пользователей.
              Зачем делать редизайн? Ну может потому что у конкурентов дизайн адаптивнее(новые устройства появляются регулярно и ваш старый сайт
              а если не сайт, а если 3д редактор, или операционная система, или текстовый процессор, или калькулятор или просто у конкурентов сайт еще менее адаптивный? А может просто потому, что вкладывая незначительные усилия в ненужное пользователям перекрашивание и тасование кнопок и закладочек, можно объявить о выходе новой версии, а затем рекламой, юридическими ходами, склонять пользователей к объективно ненужному обновлению?
              А может просто начальство требует новый релиз каждый год, а у маркетологов нормальные идеи закончились, а место терять не хочется и к легкому калькулятору приделывают тормозные анимированный кнопки, затем конвертер валют, единиц измерения, вычислитель ипотеки, построитель графиков, редактор кода, магазин скриптов, чат, но так и не делают нужный некоторым юзерам квадратный корень? )
              Я ради интереса недавно зашел на sql.ru где когда-то участники раздела про MS Access переживали неудачную политику развития этого изначально весьма удачного продукта. Так вот, там до сих пор бытует устойчивое мнение, что не стоит использовать версии выше 2003, а 2003 до сих пор успешно применяется многими в разработках включая коммерческие. Это каких же таких «полезных» изменений надо было надобавлять, что опытные пользователи уже 15 лет отказываются обновляться? )


              1. Asxer
                22.09.2018 17:04

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


                1. Emulyator
                  23.09.2018 00:17

                  Если бы ТС причитал необоснованно и в гордом одиночестве, то тут не набралось бы под 1,5К комментов. А значит «не все так однозначно»(с).
                  Что касается эволюционного процесса, то да, это он. Но я даже где-то выше (или ниже) довольно развернуто указал на минусы такого процесса.
                  Грубо говоря и чтобы не плодить простыней: эволюция «сосет» у разумного замысла. И ТС, подымает сложную проблему, в рамках которой невольно предлагает вспомнить, что мы — разумные существа, а не крысы выживающие в лабиринтах построенных социально-экономическими реалиями. )


                  1. PsyHaSTe
                    23.09.2018 03:57

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

                    Оптимизации возможны при большом количестве априорной информации о системе. А этой информации может быть недостаточно, она может быть просто ложной, и она может быть достаточной и корректной, но поменяться в будущем. Чем больше оптимизированно решение, тем больше оно опирается на некоторые допущения — количество ядер, количество запросов, ценность ЦПУ относительно памяти, и многое другое… Каждое такое допущение — потенциальная дыра и недели исправлений.


                    1. Emulyator
                      23.09.2018 11:40

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


                      1. PsyHaSTe
                        23.09.2018 13:55

                        То есть если вы закажете плитку в ванной положить, а исполнитель постелит линолеум с формулировкой «я 20 лет этим занимаюсь, тут линолем лучше» вы скажете «ну ок, вы же специалист»?


                        1. Emulyator
                          23.09.2018 15:42

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


                          1. PsyHaSTe
                            23.09.2018 16:55

                            Да нет же, как раз строитель должен все объяснить, верно. Но если клиент говорит «мне пофиг, все равно хочу так», нужно делать так, а не саботировать своим мнением продукт.


                            1. khim
                              23.09.2018 18:04

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

                              Думаю и в программировании этим кончится.


                            1. Emulyator
                              23.09.2018 18:10

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


                              1. PsyHaSTe
                                23.09.2018 21:58

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


                                1. Emulyator
                                  23.09.2018 23:08
                                  -1

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


    1. ainoneko
      21.09.2018 09:56
      +1

      Ну давайте время отклика калькулятора посчитаем,
      Спасибо, что про него вспомнили: недавно кое-где и калькулятор сломали.


      1. Ogra
        21.09.2018 10:00

        Достал, проверил. Ох ты ж блин…


      1. Asxer
        21.09.2018 10:35

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

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


  1. Tarson
    20.09.2018 20:01
    +3

    Windows 10 больше ибо в ней все предыдущие версии Windows.


    1. minusnaminus
      20.09.2018 21:53

      И видимо, все нерожденные версии тоже.


      1. sumanai
        20.09.2018 22:37

        Ладно хоть не все последующие.


        1. minusnaminus
          20.09.2018 23:24

          Так говорили что десятка — последняя. То есть, следующая ось будет называться не виндоус, а как-то иначе


          1. PsyHaSTe
            21.09.2018 01:39

            Ну логично, учитывая, что все последующие ОС по сути являются обновлениями десятки.

            На самом деле любопытно, выродятся ли все эти Singularity/Midori/Barrelfish/… во что-то реальное или нет. Пока что я видел из применения — пикопроцессы в винде. Но это — капля в море… Груз обратной совместимости слишком велик, и вообще непонтяно, удастся ли от него избавиться… Видимо только если мы все в какой-то момент перейдем на какой-нибудь электрон (избави бог), и можно будет сменить ОС на что угодно, что умеет в JS…


            1. kovserg
              21.09.2018 09:02

              С грузом обратной совместимости можно было справиться с помощью виртуализации. Посмотрите на DOSbox это полная эмуляция старого компа. Win3.11 пускается под ни даже на планшете.
              Но микрософт страдает фигнёй выпуская кучу версий одного и того же но другого net runtime-ов, vcredist-ов. Вместо того что бы навести порядок и выпустить новую ос которая могла работать паралельно они пытаются разделить runtime на кусочки api-ms-win-*.dll которые не являются библиотеками, зато уже имеют разные версии. Не смотря на все годы микрософт так и не смогла предложить простой и удобный инструмент для разработки gui приложений. Зато теперь пытается активно возвращаться к терминалам, добавляя wsl и улучшая консоль.


              1. PsyHaSTe
                21.09.2018 13:16

                С грузом обратной совместимости можно было справиться с помощью виртуализации.

                Этот путь уже попробовали пройти с Itanium, чем это закончилось всем известно


                1. K0styan
                  21.09.2018 15:55

                  То 15 лет назад было. Сейчас Google неплохо справляется с виртуализацией, поддерживая нативные приложения Android и Linux в своих Хромбуках. Microsoft позволяет запускать x86 приложения (не только UWP, но и нативные) на ARM процессорах. Разумеется, и то, и то — с оверхэдами. Но в целом тенденция радует: возможно, от проклятья обратной совместимости удастся избавится довольно скоро, что даст дорогу свежим платформам.


                  1. Am0ralist
                    21.09.2018 17:47

                    Она то позволяет, да Интел ей запретила…


  1. uchitel
    20.09.2018 20:02
    +1

    Переводчику зачет.

    Автору повезло, что он не жил в России и не сталкивался с нашим софтом, который покупает государство для налогоплательщиков на деньги налогоплательщиков, сделанное по принципу: «Если работает — не лезь, не трогай, не спрашивай!». Однажды мне попался один такой «разработчик», спросил его сколько он получает (!) 30000 рублей (!!!) в Новосибирске. И этим софтом вынуждены (принуждены) пользоваться тысячи людей. Представьте, вам нужно в онлайне заполнить таблицу, всего-то 20 полей и 15 строк — всего-то. Ноооо это слишком скучно! Пусть после каждого перевода курсора на следующую ячейку происходит задержка, секунды по 1,5-2, зато данные (наверное) сразу подгружаются на сервер. Хотя нет и это слишком неинтересно, когда таблица будет почти готова, пусть выскочит сообщение «Неизвестная ошибка. Нажмите „Отправит“ (именно „Отправит“, а не „Отправить“) и мы постараемся ее исправить». А данные, на самом деле, на сервер не подгружаются. Все равно скучно и некриативно. Пусть после каждого перевода курсора, происходит автопрокрутка страницы в ее самое начало, а при масштабировании заголовки полей масштабироваться не будут. Вот теперь нормально, но мы еще обязательно что-нибудь придумаем… постойте-постойте! А пусть оно, типанормально работает только на десктопах и только под IE.

    Python — это вообще в точку! С его дефакто-стандартом в области MLAI! Не, когда начинаешь, то всё и правда розовое вокруг. Потом всё тоже не плохо, так, всего-то парочка трещин на очках, как у Гари Поттера. Но вот когда дело доходит до оптимизации… когда нужно лезть в дебри исходников большинства импортированных библиотек, когда ты понимаешь «Что документация — это для слабаков и отстойщиков». Что под капотом-то оказывается Fortran, C, C++, Java, CUDA. Вот тогда-то розовые стекла и сыпятся.

    На Питоне начал писать медленно, реально медленно. Иначе хорошо не получается.

    Самое обидное, что если ты пишешь хорошо но медленно — то ты безработный. А если ты пишешь хорошо но быстро (работаешь еще и по ночам), (!) даже подробно комментируешь код, то ты все равно безработный, потому-что «Нафиг он нужен? Если он свалит (а поработав у нас он обязательно свалит), то после него в этой мутатени никто не разберется, а если и разберется, то попросит больше».


    1. kvasdopil
      20.09.2018 21:36
      +1

      Автор текста — программист из Новосибирска, кстати.


    1. PsyHaSTe
      21.09.2018 01:46

      «Нафиг он нужен? Если он свалит (а поработав у нас он обязательно свалит), то после него в этой мутатени никто не разберется, а если и разберется, то попросит больше».

      Нафиг места, где так думают) У меня два раза такое происходило, и оба раза я уходил в более хорошее место. Нужно писать так, чтобы не было за себя хотя бы стыдно. Так что самосовершенствоваться никому не мешало. Я вот тут на текущую работу когда устроился, моя продуктивность возрасла просто раз в 5 по сравнению с предыдущим унылым местом. Для сравнения — на третий рабочий день я за 8 часов успел проект на 350к строк превратить в проект на 50к строк без потери функциональности. Просто проанализировав всё, что мне попало в наследство. На следующий день у нас был разговор с СТО на тему «нужно как-то кэшировать загрузку с сервера». После прояснения, стало понятно, что первоначальный запуск приложения занимает 6 минут и это очень дофига, надо бы как-то кэшануть. Еще один день разработки — программа грузит все данные за 8 секунд, кэширование перестало быть нужным (а с ним отпал и целый пласт связанных проблем, ну вы знаете..). И это первая рабочая неделя только, где я просто знакомился с проектом и людьми… А всё почему? Потому что реально атмосфера, где я могу делать что-то классное, где мое мнение имеет значение, где плоская иерархия и я спокойно могу зайти к гендиру и пообщаться на тему того, почему обещанные заказчику сроки и требования несовместимы, и вместе с ним и СТО выработать план действий…

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


      1. uchitel
        21.09.2018 09:53

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

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

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

        Поэтому и сижу, дома в своем кабинете.


  1. Konachan700
    20.09.2018 20:08
    +6

    Всё нормально, ложная тревога.
    Первые ездовые животные тоже были своенравные, медленные, опасные и в целом неудобные. Прошло время и мы получили прекрасных лошадей. А занимайся мы выведением сразу идеальной лошади, так и сидели бы в пещере до сих пор. Первые паровозы и автомобили нещадной коптили, гремели, ломались, и были диким ужасом. Прошло время и мы получили отличные поезда и прекрасные автомобили. А займись полировкой паровоза/автомобиля тогда — до сих пор конский навоз с улиц вывозили бы. И так со всем, за что не возьмись. Сначала технология сырая, кривая и неудобная, и пока ее взрывной рост не закончится, она будет таковой — урода никто не будет исправлять, пока за ним стоит очередь. Когда все наедятся уродцами, взрывной рост закончится, и технология войдет в стадию полировки — начнут и оптимизировать, и выкидывать ненужное, и иными способами вылизывать продукт.
    В IT сейчас стадия взрывного роста, самый ее пик. Продукт тормозит? Досыпте ресурсов облаку, это дешевле найма дефицитных кадров. Приложение полгигабайта? Держите айфон на 512 гигов и успокойтесь. И это хорошо на самом деле. Это помогает развитию индустрии. В любом случае рано или поздно будет пойман потолок технологий, где экономически станет выгоднее нанять 10 человек, а не добавить условных 100 мегагерц процу, и в тот момент начнется работа не на увеличение мощности, а на оптимизацию использования того, что есть.


    1. novice2001
      21.09.2018 10:24

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


      1. volchonokk1
        21.09.2018 11:33

        Вообще-то экономичность автомобилей в последние годы только растёт. Этим озабочены как автопроизводители, так и законодатели. В США пробег на одном галлоне бензина пассажирских машин вырос с 15 миль в 70х до 25 миль сейчас — т.е. потребление топлива упало в 1.5 раза. Это уже не говоря о возросшем интересе к электромобилям в последние годы. Конечно ещё остались всякие спорткары, которые жрут непомерно, но ими пользуются только энтузисасты.
        Всё потому что автомобили подошли к лимиту добавления рюшечек и лимиту топлива, и ресурсы автопроизводителей переключились на экономичность. Тоже самое будет и с программами. Просто сейчас до лимита рюшечек и ресурсов компов пока ещё далеко. Если в мобильники можно впихнуть 8 гигов оперативы и полтерабайта накопительной памяти — никто не будет особо думать об оптимизации.


        1. novice2001
          21.09.2018 11:58

          Вы в аналогии не умеете? Комментарий на который я отвечал сравнивал программы в том числе и с автомобилями. И в моем комментарии автомобили — это не автомобили, а именно программы. Про состояние автомобилей я прекрасно осведомлен и без вас.


      1. BD9
        22.09.2018 05:17

        Не только софт.
        В новых материнских платах Gigabyte (Aorus) вместо разъёма для com-порта размещён разъём для светодиодной ленты. Разъём для M.2 накопителя — под видеокартой, зато с радиатором.


        1. novice2001
          22.09.2018 09:40

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


  1. Tarson
    20.09.2018 20:17
    +3

    Вот поэтому длина клетки человек ДНК аж джва метра! Там те же проблемы. А птички смогли укоротить, с лишним летать тяжело.


    1. Mad__Max
      22.09.2018 03:27

      И «рабочего» кода если верить ученым всего около 2%. А 98% занято не пойми чем — в основном огрызками старого, уже давно неиспользуемого кода, включая код вирусов, которыми когда-то были заражены далекие предки. Хотя некоторые куски иногда оказываются задействованы в неожиданных местах…


      1. IRainman
        23.09.2018 18:16

        На счёт 98% не пойми чего, там многое не понятно. Коды вирусов, например, если они включены в ДНК в обратной последовательности к тому как они расположены у вируса приводят к тому, что вирус уже не может размножаться в такой клетке… собственно так, примерно, и работает вакцинация, это база данных того что встречалось ранее. Ещё не до конца понятно где и что отвечает за инструкции по сборке ибо клетки плода и стволовые клетки изначально одинаковые, а потом всё это развивается в гораздо более сложную систему. В общем недоизучено пока что.


        1. InterceptorTSK
          23.09.2018 19:00

          Экспрессия генов есть же на это. И сборки нет никакой вовсе. Клетка от какой-то условной клетки будет множиться влево достаточно точно 50 раз. Эти же клетки будут множиться вправо 150 раз. Таким образом вы и получите как бы «сборку». Только это сборкой не назовешь. Каким генам когда срабатывать — почитайте. Все это достаточно понятно и объяснимо, причем давно. Некоторые детали реализации не совсем ясны, но глобально как и почему — объяснено полностью.
          Про 98% непонятного тоже объяснено. Оно для экстремальных условий. И снова работает тут экспрессия генов. На дрожжах же ставили опыты. У них какой-то процент генов в норме работает. А остатки как бы не нужны и не понятны. Начните подсушивать дрожжи — и внезапно будут кодироваться белки из этого якобы «ненужного» набора генов, они обеспечат выживаемость дрожжам в такой вот экстремальной ситуации.
          И т.д.


  1. firehacker
    20.09.2018 20:35
    +2

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

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


    1. lxsmkv
      20.09.2018 23:31

      В продуктовой среде (то что можно пощупать) такая же беда. Если ты точно знаешь, что тебе нужно, можно дни напролет безрезультатно лазить по интернет-магазинам. Есть только «барахло», и копия «барахла», но дешевле. Если ты неразборчив и принадлежишь к 80 % обыкновенных потребителей — то выбор, конечно, бесконечный.

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

      Пока покупателя будут называть «потребителем» — ничего не изменится :) Получается мы сами виноваты в своем горе. Мы — неразборчивы. Мы — не требовательны.


    1. vdasus
      21.09.2018 10:27
      +2

      На самом деле, из моего опыта, очень немного людей понимают что означает «писать правильно». Более того, за последние два года (из ~30 лет айти) я сам сильно поменял свое мнение на некоторые, кажущиеся «правильными», вещи. А самое печальное, когда решения может принимать человек, который думает, что он-то как раз знает как «правильно» (а на самом деле подучиться бы ему чуток). Так что сложнее не найти работодателя, а все еще сложнее.


  1. Rohan66
    20.09.2018 20:53
    +2

    Тут поминают лунную программу и атомную бомбу. Я видел ТЗ на создание атомной бомбы — это 1 (одна!!!) страница текста…
    А про софт — была отличная писалка дисков Nero. Постепенно скатилась в монструозное полелие и, вроде, померла.
    А Ворд? 90% пользователей используют 10% функционала. Да и версии между собой не полностью совместимы.


    1. khim
      20.09.2018 21:09

      А про софт — была отличная писалка дисков Nero. Постепенно скатилась в монструозное полелие и, вроде, померла.
      Как померла? Зайдите на www.nero.com/burning_rom/2018 — пожалуйста: Nero Platinum 2018. Если вы дисков не пишете, то это не значит, что никто их не пишет!

      Другое дело что смысла в ней нет — версия 10-летней давности будет в 10 раз меньше, быстрее… и будет делать то, что нужно. То же самое — с офисом и прочими программами…


      1. Rohan66
        20.09.2018 21:36

        пожалуйста: Nero Platinum 2018
        Я его перестал отслеживать (и использовать) после Nero 7.0. Так что его жизнь меня не интересует.))))
        И так происходит со всем софтом (практически). Добавляют свистоперделки, наращивают непонятную мощЬЬЬЬ (а заодно и размер), а вот надо ли это — никто, вроде, и не задумывается.
        Для себя — я не вижу большой разницы между Word 6 и Word 2016. Быстрее по клавишам я стучать не стал, а форматирования мне и в 6-ом хватало.
        А вот когда мне пришёл грифованный документ в 2013, а я открыл его в 2010 и потерялась страница — вот это была проблема! Причём потерялась из-за какого-то форматирования (а не реально).


        1. khim
          21.09.2018 01:18

          Для себя — я не вижу большой разницы между Word 6 и Word 2016.
          А я — вижу. В Word 6 нет поддержки Unicode и, соотвественно, сделать документик на русском яыке с парой-тройкой немецких слов — это страшная боль. Вот только… всё это появилось в MS Office 97. В MS Office 2000 появилась возможность делать copy-paste для HTML-документов.

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

          А вот когда мне пришёл грифованный документ в 2013, а я открыл его в 2010 и потерялась страница — вот это была проблема! Причём потерялась из-за какого-то форматирования (а не реально).
          При переключении с принтера с 300dpi на принтер 360 dpi (24-игольчатый матричник) или наоброт такое умел делать Word 6 уже (а может и Word 2).

          Так что это не новая фича…


          1. Rohan66
            21.09.2018 09:32

            При переключении с принтера с 300dpi на принтер 360 dpi (24-игольчатый матричник) или наоброт такое умел делать Word 6 уже (а может и Word 2).
            Сталкивался с таким во времена 95-98 винды.))) При разных установленных принтерах. И, на мой взгляд, от dpi не зависело особо. И, честно говоря, думал, что этот баг пофиксили.
            Но в моём случае всё оказалось хитрее. Примерно 4/5 документа в обоих версиях были идентичны, а вот дальше потихоньку начались расхождения — примерно по предложению на лист и к концу документа лишний лист и набежал…


            1. khim
              21.09.2018 22:25

              Примерно 4/5 документа в обоих версиях были идентичны, а вот дальше потихоньку начались расхождения — примерно по предложению на лист и к концу документа лишний лист и набежал…
              Так оно и работало всегда. Изменение DPI меняло характеристики шрифтов, после чего слова переставали влазить в строку (или наоборот — влазили там, где раньше не могли), строки сдвигали абзаци и так по нарастающей… и вот уже у вас книга в 399 или 401 страницу вместо 400…

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

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


              1. Rohan66
                21.09.2018 23:10

                Ну-ну… Старается… Две одинаковые машины, с одинаковыми принтерами. Только на одной 2010 офис, а на другой — 2013.
                Как же тогда народ документами обменивается? Была бы проблема в DPI — вообще бы совместимости не было...
                Ну а про преобразование формул в рисунки в разных версиях? Тоже принтеры виноваты?


                1. khim
                  22.09.2018 03:51

                  Как же тогда народ документами обменивается?
                  С трудом.

                  Была бы проблема в DPI — вообще бы совместимости не было...
                  А её и нет. И никогда не было. MS Word был изначально заточен строго под подготовку документов к печати. И несмотря на огромное количество костылей, вбитых за долгие годы, ни с чем другим он на 100% не справляется.

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

                  Похожая история с поддержкой ZIP-файлов в Explorere'е…


                  1. Am0ralist
                    22.09.2018 10:41

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


      1. sumanai
        20.09.2018 22:40

        Nero Platinum 2018

        Всего лишь 1,68ГБ в репакнутой версии…


        1. Fracta1L
          21.09.2018 09:03
          +1

          При том что есть софтина для записи дисков размером в 398 Кб и не требующая установки: avt-lab.ru/scdwriter.htm

          А вообще, легковесных программ до сих пор предостаточно: 3dnews.ru/975310


        1. Rohan66
          21.09.2018 09:33

          Нормальная ОС меньше места занимает! (вместе с программой для записи дисков!)


        1. Mad__Max
          22.09.2018 03:34

          Nero551020.exe — 12.7 МБ

          Большой «путь» однако они проделали. Ожирение в 130 раз за 13 лет.


      1. vis_inet
        21.09.2018 12:37

        Я пользовался программкой «SCDWriter» — наверное, самый минимум — всего 400 Кб!
        ru.wikipedia.org/wiki/Small_CD-Writer


    1. vis_inet
      21.09.2018 12:35

      Я видел ТЗ на создание атомной бомбы
      Дайте и нам посмотреть?


      1. Rohan66
        21.09.2018 12:55

        С удовольствием бы! На стене в рамочке висело. Но нельзя там было фотографировать. Это музей ЯО в Сарове. Есть только фото рядом с Царь-бомбой! )))))


  1. Alexx31
    20.09.2018 20:59
    -1

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


  1. minusnaminus
    20.09.2018 20:59
    +1

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

    P.S. Пишу с планшета, десяток слов отредактировал взад за автокоррекцией, сколько весит эта малополезная приблуда — смотреть страшно


  1. Jun06Man
    20.09.2018 20:59
    +2

    2012 году я участвовал в одном проекте (военная тайна), использовали «голый» компилятор FPC (лицензия свободная, открытый код, кроссплатформенный), начали писать библиотеки к проекту, полностью с нуля, используя API Windows и API ядра Linux. Приложение получилось быстрое, имело малый размер. Но это был сущий Ад! Мы постоянно исправляли ошибки, добавляли функционал, делали кучу тестов. Получается, большую часть времени, мы тратили на разработку библиотек. Можно было взять уже готовую библиотеку, в которой присутствует требуемый функционал и исключить все страдания. Мы пытались сделать все то, о чем Вы, пишите в своей статье, оптимизировать ВСЕ! Ключевое слово «ПЫТАЛИСЬ», обычным пользователям, было глубоко НАСРАТЬ, на оптимизацию. Конкуренты, успешно «лепили» похожий проект, использую готовые библиотеки (кучу готовых библиотек).


    1. Rohan66
      20.09.2018 21:42

      А что и как было сертифицировано? Иногда проще провести сертификацию своего «поделия на коленке», чем использовать что-то стандартное, но без сертификата.
      Очень забавно выглядит сертифицированная Винда, Офис, ещё что-то, а вот про драйвера и библиотеки (тот же NET) — никто не думает. ))))


      1. Jun06Man
        21.09.2018 11:24

        Rohan66, у нас была идея и мы писали код, веря в розовые мечты о совершенном. Код проекта остается закрытым.
        С 2017 года я программирую на PHP. Я не дума, что есть смысл, каждый раз писать с нуля laravel или Symfony.


        1. Rohan66
          21.09.2018 12:58

          Ясно. Я думал, что писали под работу с гос. тайной.


          1. Jun06Man
            21.09.2018 15:29

            Это тихое и мирное ПО, для анализа серверов на Win или Linux ;). Мы допустили фатальную ошибку, начав писать с нуля, в релиз пошли пару версий, с серьезной ошибкой в коде. Эти ошибки, в некоторых случаях приводили к неработоспособности всей системы и естественно администрация (сервера) искала и находила причину. У конкурентов дела обстояли лучше.
            У FPC открытый исходный код, мы и туда начали лезть и там успели «накосячить».


  1. olehrif
    20.09.2018 20:59
    +1

    В коде очень много ненужных инструкций изначально, неиспользуемых библиотек, функций, веток кода, которые никогда не исполняются.
    Существует несколько слоев ПО. Очень грубо можно представить так.
    Один слой отвечает за работу железа.
    Один слой за операционную систему.
    Прикладное ПО имеет свои задачи.
    Каждый слой писался отдельными командами в разное время в разных местах разными инструментами.
    Мой знакомый мне предложил простое решение.
    Решение должно быть… комплексное, когда абсолютно все ПО имеет единую природу и единый источник, единый инструмент. Без слоев.
    Код не должен содержать ни единой ненужной строчки. Исполняемый код — не единой ненужной инструкции.
    Все ПО должно быть перестроено за счет выстраивания матриц сущность-связь-действие.
    Тогда программы будут очень короткие, эффективные, сверхбыстрые, надежные.
    Важна будет математика построения связей, построенных на физико-математических принципах.
    Фактически, чтобы создавать программы, нужен искусственный интеллект, построенный на физических матрицах, который будет достраивать прикладными задачами единое операционное поле компьютера. И это ПО будет зависеть от конфигурации компьютера. Каждая новая ячейка памяти ОЗУ может быть учтена при работе программы. То есть имеем бесшовный стык — аппаратура-ПО-функции.
    Подступы к созданию такого ПО есть.


    1. staticlab
      21.09.2018 00:02

      И это ПО будет зависеть от конфигурации компьютера

      То есть в ОС компьютера пользователя будет сидеть JIT-компилятор с ИИ, который будет жёстко оптимизировать программу под железо компьютера?


      1. Oplkill
        21.09.2018 12:49

        Достаточно 1 раза в момент установки и смене железа и всё


      1. olehrif
        21.09.2018 12:57

        Нет. Задача ИИ создать отделяемое программное обеспечение без слоёв и поддерживать новый функционал. Чистый клей железо-функции с огромной производительностью и надежностью.


    1. PsyHaSTe
      21.09.2018 01:50

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

      В каком конкретно коде?

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


      1. Ogra
        21.09.2018 06:02

        В коде библиотек, например. Вот есть в библиотеке foo функция bar, которая не используется ни одним приложением, но в память эта функция все равно грузится.
        Какая-нибудь малюсенькая программка на .net может весить 100 килобайт, использовать три десятка функций из гигабайтного фреймворка. Выше на Джоэла уже ссылались.
        Дальше — больше. Компилируемые приложения, это хорошо конечно, но сколько у нас сейчас других приложений? На электроне, на питоне, просто со скриптами внутри?
        Я даже не знаю, можно ли при разработке на Электроне, вырезать из него ненужный функционал — вебсокеты и вебртц, например. Скорее всего, нет такой возможности. И в итоге, каждая запущенная программа отъест памяти под эти никогда не используемые куски. При том, что теоретически, если нет загрузки джаваскрипта по сети, можно было бы скомпилировать/слинковать приложение без условного вебртц автоматически. Сэкономив чертову тучу ресурсов.


        1. PsyHaSTe
          21.09.2018 13:20

          Если мы про динамические библиотеки, то это да, но они могут суммарно занимать меньше месте, нежели какой-нибудь libssl будет статически слинкован во все приложения. Гигабайтный фреймворк (кстати, там сейчас сильно меньше, мегабайт 200?) один на всю систему, и его достаточно для покрытия всех потребностей. Не вижу большой беды в том, чтобы оно было в системе.


      1. olehrif
        21.09.2018 12:58

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

        1. Проблема

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

        2. Решение
        Все построенные человеком системы – языковые. Соответственно, решение вопроса взаимодействия систем нужно искать в кардинальном решении языковых вопросов.
        Однако действовать в этом случае как лингвисты – использовать для решения вопроса взаимодействия языков — недостаточно.
        Необходимы знания математические и физические.
        Наиболее подходящими оказались матричные вычисления.
        Фактически матричные вычисления позволяют представить перевод с языка на язык как перерасчет системы координат.
        Кроме того, система понимания должна иметь контекстные знания в области, где нужны решения.
        Современные разработки компьютерных интерфейсов могут дать возможность общаться с системой на естественном языке.
        Фактически создание системы может выглядеть как диалог специалиста в нужной сфере с системой. Получив контекстные знания об области и правила обработки, имея возможность через интернет получать дополнительные знания общего свойства (например, погода или законодательство), можно за короткий срок и с минимальным участием специалистов ИТ сгенерировать конкретную прикладную систему для решения конкретных прикладных задач.
        Важна здесь именно минимальность усилий. Не команда в 60 человек в течение 10 лет, а команда в 6 человек в течение полугода и менее может запустить в промышленную эксплуатацию систему.
        Работа системы будет выглядеть, как это показано в фантастических фильмах о будущем: герой фильма задает компьютерной системе вопрос на естественном языке, компьютерная система отвечает, предоставляет топологические, мультимедийные и другие материалы и дополняет ответ своей аналитической контекстной информацией. При этом такая система может обрабатывать информацию из любых внешних информационных систем.


      1. olehrif
        21.09.2018 12:59

        В любом коде, кроме BIOS.


  1. leossnet
    20.09.2018 21:00
    +1

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

    Например, автомобили марок BMW или Mersedes можно легко выделить в огромной массе автомобилей других марок. В ИТ-отрасли же есть только хорошие программные продукты, плохие программные продукты и программные продукты, написанные индусами. Причем программные продукты всех трех категорий могут выпускаться в рамках одной компании.

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


    1. minusnaminus
      21.09.2018 19:47

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


      1. leossnet
        21.09.2018 21:19

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

        При этом все эти штучки делаются руками высококлассных инженеров. Отсюда можно сделать предположение, что как только качество производства в ИТ-отрасли достигнет уровня автопрома, то программы будут ломаться или тормозить не потому, что плохо написаны, а потому, что в них заложили закладки, требующие обновления до новой версии за определенную плату. Конечно, 5% пользователей смогут их обойти, но остальные 95% обеспечат ИТ-бизнесу вполне приличный уровень дохода.


        1. minusnaminus
          21.09.2018 21:43

          И в чем тогда разница, гипотетическая, если раньше ПО глючило потому что руки кривые, а потом оно начнет глючить, так как мотивы (с точки зрения потребителя) кривые. В целом, сравнение с автопромом не совсем корректно, так как там наваливать костыли в таком количестве просто нет возможности. Увы, автомобили катаются в материальном мире, и должны мириться с его законами. В синтетических пространствах возможности для маневра много больше. Вы не можете дистанционно ухудшить конструкцию автомобиля, а вот с программой — запросто. Даже не трогая её саму, можно изменить среду в которой она функционирует. До уровня инженерной школы автопрома тут просто не дойдут, возможностей, а значит и соблазнов, сильно больше.


          1. leossnet
            21.09.2018 22:20

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

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

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


            1. VolCh
              23.09.2018 11:53

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


  1. sim-dev
    20.09.2018 21:17

    Почему-то не увидел ни одного комментария, который бы как-то однозначно определил причину такого поведения современного ПО. Попробую исправить ситуацию.
    Все дело в современной модели бизнеса: покупай, чтобы выбросить.
    Вместо того, чтобы оптимизировать ПО, чтобы оно летало на нынешнем процессоре, гораздо выгоднее разработать новый процессор. Привычка делать говняное ПО полезна, т.к. позволяет на новом, только вчера появившемся процессоре, создать новую версию старой программы, которая тут же станет тормозить. Круг замыкается.
    Если не будет объективных причин, по которым следует обновлять ПО, смартфон, компьютер, автомобиль и т.п., современная модель бизнеса рухнет. Поэтому криворукий программист — двигатель прогресса! Берегите его, платите ему побольше, и не дай бог он начнет думать, как автор статьи!

    Кстати, проблему автомобиля и расхода топлива в рамках парадигмы развития современных ИТ следует понимать чуть иначе, чем тут пытались сделать: не надо уменьшать расход топлива на 100 км пробега, следует сделать стоимость топлива минимальной, и будут брать. Разве не так? Зачем делать ПО, которое станет работать на 640 килобайтах ОЗУ, если можно сделать стоимость 32 гигабайт ОЗУ меньше, чем 640К?!


    1. minusnaminus
      20.09.2018 21:46

      Дайте вместо мосинки автомат Калашникова. В кого ни будь-то да попадешь :)


    1. Emulyator
      20.09.2018 22:20

      Странно, что не увидели комментариев о причинах, они есть. Что касается тезиса «гораздо выгоднее разработать новый процессор, чем оптимизировать ПО», то он подразумевают заговор разработчиков ПО и производителей железа, но есть объяснения попроще. Также я сомневаюсь, что низкое качество ПО объясняется привычками писать плохо, скорее требование выдавать новые версии как из пулемета и просто низкая квалификация не позволяют писать хорошо. Да, модель бизнеса виновата, но она не рухнет, потому что объективных причин для обновления ПО и железа широким массам уже давно не требуется, а неширокие не в вносят существенных искажений в модель. )


    1. PsyHaSTe
      21.09.2018 01:54

      Все дело в современной модели бизнеса: покупай, чтобы выбросить.

      Нет такой модели.


      Я вот пишу программу. Я знаю, что у меня есть некоторые ограничения по производительности. В рамках этих ограничений я стараюсь сделать максимально грамотную и расширяемую архитекутуру, решающую задачу в требуемые сроки. Я не закладываю коварно мины if (not(isLatestProcessor) || isAmd) { throttle() }, не пытаюсь внедрить бекдоры для проприетарного софта, никакой менеджер не стоит над ухом и не совращает. Я просто. Пишу. По. Которое решает задачу, которую хочент клиент. За те деньги, что он предлагает. Не больше, не меньше.


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


      И все мои знакомые работают по +- такой же схеме.


      Вопрос — кто же тогда эти злодеи, которое делают говяное ПО для новых процев?


  1. l7l
    20.09.2018 21:30

    Я не силен в фронт-енд вебе(писал что-то для бэкэнд, но в основном софт не связанный с вебом). Понимаю что сайты подгружают нужные для работы библиотеки, типа нод жс, а почему бы эти библиотеки не устанавливать с браузером изначально? Допустим, при установке браузера загружается набор самых используемых библиотек с самыми используемыми версиями, а потом вместо повторной загрузки библиотек каждым сайтом, браузер уже дает готовое из своей памяти. Или такое уже реализовано и я не один такой «умный»?


    1. HSerg
      20.09.2018 22:30

      Если на сайтах используются одни и те же js-библиотеки лежащие в CDN, то браузеры будут отдавать их уже из кэша. Но js-библиотек ОЧЕНЬ много, да и разработчики сайтов предпочитают не зависеть от внешних ресурсов.


    1. swelf
      21.09.2018 02:41

      Размер библиотек вобще не сильно то на что-то влияет, из кэша она, из интернета или еще откуда. А вот интерпретатор/компилятор js, вэб движок в браузере, который все отрисовывает и потребляет в 10ки и сотни больше памяти, чем размер сайта, вот в чем мне кажется проблема.


      1. VolCh
        23.09.2018 12:02

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


    1. VolCh
      23.09.2018 13:13

      1) В браузерах есть библиотеки типа DOM и WebAPI, причём написанные на языках типа C++ и Rust. И оптимизации их много внимания уделяется из-за конкуренции браузеров
      2) Подгрузка других библиотек, написанных на JS обычно кэшируется, нередко через CDN, то есть абсолютно несвязанные сайты используют общий кэш для них
      3) Основное ресурсы для работы веб-приложений идут на парсинг, показ и исполнение кода собственно приложения, на то что пишут веб разработчики, а не на то что пишут разработчики браузеров.


  1. Intenditore
    20.09.2018 21:40

    Боги! Вся боль от многолетнего нахождения в безумном мире современного it в одном посте.
    Подписываюсь!


  1. Intenditore
    20.09.2018 21:58

    Тут бы ещё было хорошо упомянуть тему моего недавнего недоумения — USB Type-C, особенно в купе с Thunderbolt. У мира была возможность наконец избавиться от всего разнообразия разъёмов и стандартов, каждого в чём-то неудобного и ограниченного, в пользу одного ультимативного решения. И что вышло?
    Разъём один, а спецификаций, реализаций, стандартов — море! И все не совпадают со всеми. Провода — вроде бы все одни, но нет — через один зарядка не идёт, через другой не идёт быстрая зарядка, третий не предназначен для Thuderbolt, четвёртый не работает с v2. А usb-c наушники — вот уж подлиное безумие! Все с проблемами. Телефоны работают с ними всяк по своему. И снова уйма несогласованных стандартов.
    В мире технологий могла произойти потрясающая революция. А всё стало ещё ужаснее чем прежде.


    1. CodeRush
      20.09.2018 23:46
      +1

      Потому что унификация должна проводиться железной рукой и контролироваться на каждом этапе до состояния «не будут брать — отключим газ», а такое возможно только там, где цена ошибки очень высока — у ядерщиков, военных и авиаторов. И там не рынок, а олигополия, и разработка унифицированных продуктов занимает там годы и стоит миллионы.
      Рынку же нафиг не нужна унификация, наоборот каждому игроку нужны свои, ни с чем не совместимые и запатентованные разъемы, кабели, периферия, и собственные стандарты вообще на все, иначе прибыль от продажи всех сопутствующих товаров падает.
      Кроме того, если вам сделать один кабель USB-C, по которому можно будет передавать и Thunderbolt, и USB 3.1, и питание, и аудио цифровое и аналоговое, и черта лысого оцифрованного — такой кабель будет толщиной в палец и стоить 50 долларов за метр, а покупать его никто не будет, потому что десяток кабелей попроще можно купить вдесятеро дешевле.
      Производителю нужно, чтобы его продукт продавался, и он это делает так, как умеет. Хотите совместимости со всем вообще — покупайте только такие продукты, голосуйте рублем и ногами. Нет таких — сделайте и постарайтесь продать. Не вышло — значит это не нужно никому, кроме вас, прошу искреннего пардону.


      1. khim
        21.09.2018 01:24

        Кроме того, если вам сделать один кабель USB-C, по которому можно будет передавать и Thunderbolt, и USB 3.1, и питание, и аудио цифровое и аналоговое, и черта лысого оцифрованного — такой кабель будет толщиной в палец и стоить 50 долларов за метр
        Вы всё-таки палку-то не перегибайте! Толщина там ни раз не в палец, цена не 50 долларов за метр, а 50 долларов за два. Метровый же стоит $30 (а на распродаже — так вообще $10). Не перегибайте.

        а покупать его никто не будет, потому что десяток кабелей попроще можно купить вдесятеро дешевле.
        Покупать его таки будут — но не все и не всегда. Ибо если вам не нужна скорость в 40Gbit/sec — то можно обойтись кабелем попроще. А вот если нужна… никуда не денетесь…


        1. CodeRush
          21.09.2018 01:31

          Не перегибаю, аналоговое аудио по активным кабелям не работает на том Belkin, я проверял. Работу VirtualLink не проверял пока, но надеюсь, что вывезет без отдельных кабелей.
          Опять же, никто не мешает USB IF послезавтра выпустить еще десяток альтернативных режимов для которых понадобятся свои кабеля, и задача сведется к предыдущей.


          1. khim
            21.09.2018 01:42

            Не перегибаю, аналоговое аудио по активным кабелям не работает на том Belkin, я проверял.
            Так активные Thunderbolt-кабеля и не соотвествуют спецификации USB, почему вдруг по ним должно работать аналоговое аудио?

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

            Опять же, никто не мешает USB IF послезавтра выпустить еще десяток альтернативных режимов для которых понадобятся свои кабеля, и задача сведется к предыдущей.
            Нет, не сводится. «Полный» кабель с 10 проводами — это максимум, что бывает. А что Thunderbolt с ним не работает — так это не вина USB-C.

            То, что вот таким вот кабелем монитор к ноуту подключить нельзя вас же не удивляет? И HDMI Forum вы не пытаетсь в этой «проблеме» обвинить?


            1. CodeRush
              21.09.2018 01:48

              Мы с вами находимся на одной стороне спора, мне кажется. Я говорил про вот это:

              Провода — вроде бы все одни, но нет — через один зарядка не идёт, через другой не идёт быстрая зарядка, третий не предназначен для Thuderbolt, четвёртый не работает с v2. А usb-c наушники — вот уж подлиное безумие! Все с проблемами. Телефоны работают с ними всяк по своему. И снова уйма несогласованных стандартов.

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


              1. khim
                21.09.2018 04:35

                а ваших вопросов теперь понять не могу, т.к. это не я хочу один кабель на все случаи жизни.
                Ну дык он и есть такой. Это метровый Thunderbolt. А двухметровый — он выходит за спецификации USB-C и потому, разумеется, с ним несовместим…


                1. CodeRush
                  21.09.2018 04:43

                  Дык нет же, аналоговое аудио и по метровому кабелю Belkin не едет (у меня он на столе лежит, я проверял), а едет ли VL — пока еще непонятно. Все остальное — да, т.е. кабель почти универсальный и не толщиной с палец, конечно, но все равно набор из 3 кабелей попроще таки дешевле и большинству пользователей хватит такого набора за глаза.


  1. RuK
    20.09.2018 22:13

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


    1. khim
      21.09.2018 01:26

      (Чему отчасти есть косвенное подтверждение после истории с уменьшением производительности iPhone)
      Ну там-то как раз всё не так просто: его замедляли, чтобы батарейку не напрягать и у хомячков создавалось ощущение, что в iPhone особенная батарейка, которая не теряется за пару лет 30% ёмкости, а отлично работает пять лет…


      1. RuK
        21.09.2018 01:34

        Ну, не знаю… У меня iPhone 6 Plus, купленный 4 года назад. И он последние месяцы просто жесть как быстро разряжался.
        В итоге надоело, потащил его в Apple Store на замену батарейки за $30.
        Ребята не стали заморачиваться, выдали такой же но новый, при чём выпущенный всего 5 мес назад, судя по серийнику.
        Так он тормозит точно так же, как и его предшественник с мёртвым аккумом.
        Вот теперь жду конца октября чтоб поменять на XR или что там нового вышло. ))


        1. khim
          21.09.2018 01:45

          И он последние месяцы просто жесть как быстро разряжался.
          Ну дык физику не обманешь — литиевая батарейка за 4 года теряет половину ёмкости. То есть телефоны с несменной батареей (а это почти все современные телефоны) — заточены под выброс примерно через такой срок… и после этого какие-то «зелёные» устраивают какие-то там акции и собирают дождевую воду? Смешно…


          1. RuK
            21.09.2018 01:48

            Физику да, но юзеров обмануть пытаются. ))
            (Зеленые, те ещё чудаки на букву «м»… Ничем кроме шантажа крупных корпораций ради собственной наживы, по сути, не занимаются)


            1. khim
              21.09.2018 01:56

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


              1. RuK
                21.09.2018 01:59

                Про рядовых я даже не говорю — в любом движении/партии/религии это просто попки/статисты/фанатики.


  1. celebrate
    20.09.2018 22:26
    +3

    > Linux намеренно убивает случайные процессы. И всё же это самая популярная серверная ОС.
    Не совсем случайные. Ну и предложите, как сделать, чтобы не убивал.

    > Вся архитектура баз данных веб/SQL построена на предпосылке (даже надежде), что никто не изменит данные, пока вы смотрите на открытую веб-страницу.
    Предложите свой вариант транзакционности в рамках ACID.

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

    И так далее. Большинство аргументов просто притянуты за уши и скорее призваны вызвать эмоциональный отклик, а не рациональный.

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


  1. fivehouse
    20.09.2018 22:28

    Сегодняшние веб-страницы не будут работать в любом браузере через 10 лет (а может и раньше).
    Нет. Утверждение слишком общее, чтобы быть верным. Если веб страницы сверстаны в минимальном HTMLе (даже с минимальными стилями) то они будут работать почти всегда. Я сам иногда захожу на вебсайт сверстанный в далеком 1998(!) году. Автор добавляет вручную странички и вручную корректирует меню. Все работает идеально и быстро.
    Просто теперь время жизни верстки (и, соответственно, срок переверстки) стало параметром разрабоки. Да, к этому мало кто готов. Так пусть будут готовы!
    Ну, а с общесистемной точки зрения мы имеет типичное дерево обхода направлений развития. Такое же как и с деревом эволюции. Какое-то направление развития вообще нормально не рождается, какое-то живет 3 дня, какое-то живет 30 лет, а какое-то будет жить относительно вечно. Если важно время системной деградации, то используйте то, что будет жить вечно (еще 50-100 лет). Чистый HTML 1.0, думаю, будет жить еще лет 400 минимум.


    1. vis_inet
      21.09.2018 12:48

      Можно посмотреть этот сайтик?



      1. ValdikSS
        21.09.2018 13:35

        1. PsyHaSTe
          21.09.2018 15:50

          К слову, очень неудобный сайт. Какой-нибудь www.7-zip.org/download.html или www.rust-lang.org/en-US/install.html сильно удобнее.


        1. 0xd34df00d
          22.09.2018 07:03

          Вот это дизайн, вау!


      1. bogolt
        22.09.2018 22:52

        lib.ru отличный пример по-моему


        1. vis_inet
          23.09.2018 15:30

          Да, вся страница открывается меньше секунды!


    1. Arris
      21.09.2018 16:46

      Чистый HTML 1.0, думаю, будет жить еще лет 400 минимум.

      Только писать на нём будут единицы (процентов от общей массы разработчиков). Примерно как сейчас на ассемблере.


  1. achekalin
    20.09.2018 22:31

    элегантные точные шестерни

    «elegant precision gears» — это все же «элегантные прецизионные механизмы».


    1. Anthony_K
      20.09.2018 22:33
      +1

      слово «элегантные» тут вообще не уместно. В русском языке элегантным может быть пиджак, но не шестерня.


      1. achekalin
        20.09.2018 22:38

        Согласен, диковато по-русски звучит, но элегантным может быть инженерное решение — так что я списал бы это. Я-то писал про то, что «precision gears» — это никак не «точные шестерни». От такого «вольного» неинженерного перевода в посте, где человек переживат по поводу вполне себе инженерной отрасли (ИТ), у меня чуть кровь из глаз не выступила. Впрочем, это я зря — заметил, что это перевод, а не самостоятельный оригинальный пост. К другим словам в тексте придираться нет желания, просто переводчик немного поторопился.

        Upd: Не удержусь: пробел забыли, пробел:

        Кажется, что rm-rf node_modules является неотъемлемой частью...

        Пробел перед -rf же!!!


      1. Fracta1L
        21.09.2018 09:30

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


        1. novice2001
          21.09.2018 10:31

          «Прецезионный» — вполне себе общепринятый инженерный термин, как минимум в электронике.


          1. VolCh
            23.09.2018 13:22

            Скорее из механики, а потом пришло в электронику.


  1. m0Ray
    20.09.2018 23:16

    Та ж фигня. В институте учили — ни одного лишнего действия программа делать не должна. И это подтверждалось на практике: хреново написанная программа тормозила.

    Нынче хреново написанная программа просто не выделяется на фоне остальных.


  1. krab90
    20.09.2018 23:38
    +2

    Автор оригинальной статьи явно говорит и пишет на русском, но это перевод его статьи с английского на русский. File.zip.rar.zip.


  1. saintbyte
    20.09.2018 23:47

    Я попробывал современные страницы на ОС 2005 года с мозиллой 1.5 — открывается но очень криво… за 12 лет только протокол HTTP остался почти неизменным.


  1. yarric
    20.09.2018 23:52

    @tveastman: Я каждый день запускаю программу на Python, она выполняется за 1,5 секунды. Я потратил шесть часов и переписал её на Rust, теперь она выполняется за 0,06 секунды. Это ускорение означает, что моё время окупится через 41 год, 24 дня

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


    1. ainoneko
      21.09.2018 10:05

      «Проблемы индейцев...»?


  1. Antervis
    20.09.2018 23:56
    +1

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

    А на время компиляции жаловаться грех — в конце концов, именно на компилятор перекладываются микроптимизации софта. Те, самые, которые заметны в общем, а не в частном.


  1. oleg_go
    21.09.2018 00:05
    +1

    Помню лет двадцать пять назад похожие личности выступали за идею всё писать на Ассемблере, не признавая никаких высокоуровных языков. Программа для посадки на Луну как раз на нем и была написана. И 25 лет назад даже Винды как отдельной ОС ещё не существовало.

    А вот теперь представьте себе насколько можно убыстрить и оптимизировать код какого-нибудь Web, если написать его на Ассемблере. Правда сколько это будет стоить и с какими траблами в процессе разработки придется столкнутся даже сложно представить.


    1. ValdikSS
      21.09.2018 02:51

      Ассемблерные вставки для конкретных архитектур пишут для алгоритмов шифрования, хеширования, сортировки, аудиовидеокодеков, различных сверхбыстрых сетевых стеков, компиляторов, 3D-обработки.


      1. IRainman
        22.09.2018 12:01

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


        1. mapron
          22.09.2018 17:16

          В случае с видеокодеками даже не ждут, сможет ли компилятор что-то сделать правильно. Сразу пишут на асме. libx264, libaom, libvpx и прочие ffmpeg


        1. 0xd34df00d
          22.09.2018 19:54

          Уже перенесли, называется интринсиками (да, вы теряете возможность аллоцировать регистры самостоятельно, но ИМХО это лучше оставить компилятору).


          1. IRainman
            23.09.2018 13:41

            Интринсики — это и есть асм, только завёрнут в синтаксис языка высокого уровня. Вместо ассемблер-специфичных конструкций код оформляется как вызов inline-функций. Синтаксический сахар, не более. Т. е. это не решает проблему с переносимостью кода вообще.


    1. novice2001
      21.09.2018 10:37

      Как раз таки Windows 25 лет назад уже существовала (NT 3.1 — полноценная 32-разрядная ОС)


  1. CodeRush
    21.09.2018 00:18
    +2

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

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


  1. koldoon
    21.09.2018 00:56
    +1

    Если небезызвестный парадокс, который формулируется как «Сделать простое — сложно». А бизнесу (как правильно было замечено) — все равно, лишь бы готово было «вчера»: главное — чтобы прибыль приносило.


  1. InGhost
    21.09.2018 01:36

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

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

    Этим же вечером был загружен FreeDOS, к ней же FreePascal. Несколько строк кода, и программа уже читала данные из текстового файла с вопросами и ответами. Еще несколько строчек погружали игрока в интерфейс а-ля «матрица» и давали почувствовать себя кулхацкером. Всё это прописалось в autoexec.bat и завернулось на usb-носитель. Клиент доволен, нет необходимости ни в Windows, ни даже в HDD для небольшого компа, собранного где-то на свалке. Жаль, флопа не нашлось :)

    А потом я задумался над тем, почему так произошло, но ответ для себя так и не нашел: либо «программисты» попросту забывают о тех элементарных вещах, которые преподавались на первых занятиях по программированию, либо сейчас этому вовсе не учат. И правда, зачем учить элементарным вещам, если достаточно курса «Full Stack Python за месяц», и можно уже искать первые заказы? А потом же этот программер (который не знает основ) пойдет учить новое поколение…


    1. khim
      21.09.2018 01:49

      либо сейчас этому вовсе не учат.
      Именно так. О существовании DOS'а и о том, что его всё ещё можно загрузить на современных компьютерах большинство разработчиков даже не подозревает.

      А потом же этот программер (который не знает основ) пойдет учить новое поколение…
      Ну это, всё-таки, не совсем основы, так, история. На машине с UEFI без модуля CSM вы никакой DOS не загрузите…


      1. InGhost
        21.09.2018 02:05

        Ну это, всё-таки, не совсем основы, так, история.

        На эту тему вспомнилось:
        Народ, не знающий своего прошлого, не имеет будущего.


    1. Rohan66
      21.09.2018 13:07

      Работаю в колледже. Больше всего проблем (ничего не работает, не могу ввести пароль и прочего) приходит от преподавателей по программированию!))))


  1. kreatr
    21.09.2018 01:37

    вот так чуть более жизненно:
    image


  1. NIKOSV
    21.09.2018 01:52
    +3

    Почему бы просто не голосовать рублем? Все те кто «забивают» на оптимизацию вымрут с голода, «олдскульные» разработчики получат больше денег еще больше оптимизаций и софта. Ах да, ведь у вторых зачастую получается глючный, постоянно падающий, неюзабельный с точки зрения функциональности и UX/UI софт, зато быстрый так как 90% времени тратили на оптимизации и издержки из-за выбора низкоуровневого языка и(или) пиление своих велосипедов.

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


    1. picul
      21.09.2018 03:18
      -1

      Ах да, ведь у вторых зачастую получается глючный, постоянно падающий, неюзабельный с точки зрения функциональности и UX/UI софт
      Да что Вы говорите! Это точно у квалифицированных специалистов такое получается? Ах да, квалифицированный специалист — это же не тот, кто умеет писать нормальный софт, а тот, кто за пару минут выведет 300 байт текста, прогнав 200МБ жабаскрипта.


      1. srhbdv
        21.09.2018 03:45

        Покажите, пожалуйста, где вы взяли термин «квалифицированный специалист» в комментарии, на который отвечаете?


        1. picul
          21.09.2018 12:27

          А что, запрещено использовать слова, которые не встречаются в предыдущем комменте? Я то думал сейчас как заиспользую свой скудный словарный запас…
          Если что, «квалифицированный специалист» употребляется в смысле человека, который хорошо разбирается в экосистеме, в которой работает, и следовательно умеет в оптимизацию.
          И проблема не в том, что оптимизация занимает много времени, она на самом деле много времени не занимает. Но вот чего она требует — так это много мозгов и много понимания работы используемого инструментария. Проблема в том, что сейчас модно не голову включать, а выстраивать красивые абстракции на тоннах фреймворков, чем большинство и занимается.
          Кстати, хотелось бы пример оптимизированного софта, который невозможно использовать, и взлетевшего не оптимизированного аналога, но это больше к NIKOSV.


    1. khim
      21.09.2018 03:46

      Голосовать рублём не получается. У меня, к примеру, есть версия Nero десятилетней давности. Честно купленная, да. Но она меня устраивает и обновлять её мне не нужно. Вот то самое поделие на гиг с лишним мне не нужно. По большому счёту, мне хватает бесплатного IMG Burn. ACDSee 3.0 всё ещё работает великолепно — и не тормозит. То же самое — с офисом и кучей другого софта. И мне очень жаль, что XV очень тяжело запустить на современных дистрибутивах Linux…

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

      Интересно — чем вся эта история в конце-концов кончится…


      1. Massacre
        21.09.2018 04:20

        У меня в своё время тоже был Nero, но перешёл на Alcohol 120%.


    1. novice2001
      21.09.2018 12:47

      А если красивый сайтик будет загружаться 10 секунд (и так по каждой ссылке), а некрасивый за одну?
      Да и в целом, красивый сайт вполне можно сделать на html/css безо всяких тормозящих скриптов.


      1. domix32
        21.09.2018 12:50

        и прописать в css @media с шрифтом на пару метров


        1. mapron
          22.09.2018 17:18

          И анимаций в css напихать еще.


          1. domix32
            22.09.2018 20:05

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


        1. InterceptorTSK
          22.09.2018 20:22

          Точно. Причем шрифт запороть кривой белкой зачем-то. Нет, ну а как иначе? Все же порят шрифты белкой. Причем все 2000 глифов шрифта юзеру отдать) Нет, ну а как? Юзер же должен видеть зимбабвийский, латышский, койсанский и турецкий? Причем даж попытаться выпилить ненужные глифы белкой. Тока белка их выпилит абсолютно криво)) Если открыть такой вот файл шрифта, и поглядеть после белки на такое поделие, в котором килотонны ошибок, то возникает абсолютно адекватное чувство — а чего бы не скинуть термоядерную тактическую боеголовку на сервак белки? Ну а как иначе??
          И такое гавно бродит в интернетах массово. Какие-то непонятные шрифты переделанные абсолютно криво какой-то белкой. И эти шрифты естественно криво пристегнуты к страничкам и т.д. и т.п.

          Даже термин такой есть — шрифт белочку словил) Ахаха!!! И такое видится в 99% всего веба целиком. Как такое может быть вообще?

          Граждане, обычный шрифт даже самый лихой с оставленными русскими-английскими, цыфрами и пунктуацией, с некоторыми таблицами в шрифте типа кернинга и еще кое чего вешает всего 10-15кб на начертание. Начертаний на вашем сайтике не более пяти-семи. Кто говорит что шрифты тормозят — так это он просто в них ничего не понимает.
          А БОЛЕЕ ВАМ НИЧЕГО НЕ НУЖНО ОТ ШРИФТА. УЖЕ РАЗБЕРИТЕСЬ В ШРИФТАХ, И ПРИВОДИТЕ СВОИ ШРИФТЫ В БОЖЫЙ ВИД. Или даже на это мозгов не хватает совсем?

          ОТКРЫВАЕМ СТАНДАРТЫ ШРИФТОВ, ИХ НЕ МНОГО, И РАЗБИРАЕМСЯ. НА ЭТО УЙДЕТ ПОЛ-ГОДА. ЗАТО ВЫ БУДЕТЕ ЗНАТЬ ЧТО ТАКОЕ ШРИФТ.
          Или как? Снова будете ждать манну небесную?) Или наедяться на то что вам сервис прикрутят допиленный? Неа) Кто пилил белку — сказочный дебил))) И других не будет, не надейтесь. Бесплатно — значит в любом случае плохо.


    1. nmrulin
      21.09.2018 14:04

      А почему же тогда взлетел майнкрафт с графикой 90-х годов (правда скорость работы у него всё-равно современная)?


      1. Mabusius
        21.09.2018 15:03

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


      1. Neuromantix
        21.09.2018 17:08
        +2

        Майнкрафт при этом отлично иллюстрирует все описанное в статье. Пик популярности майнкрафта пришелся на 12-14 годы, к нему было написано множество модов, которые позволили держаться этой популярности так долго. Только вместо написания модAPI разработчики выпускали и выпускали бесконечные обновления, которые настолько сильно переписывали игру, что старые моды переставали поддерживаться сразу, а старые миры — через версию-две. В итоге АПи нет до сих пор, гора популярных модов загнулась — авторы их не обновляют, основные поклонники сидят на древних версиях, и лишь небольшая кучка фанатов радостно сходит с ума при каждом обновлении. При этом при каждом обновлении производительность все падает и падает.


      1. domix32
        22.09.2018 20:06

        Это едва ли не первая 3д песочница же.


  1. tonsky
    21.09.2018 02:22
    +1

    Спасибо за перевод!


  1. DelphiCowboy
    21.09.2018 05:49

    Это всё из-за моды на фреймворки!
    Не только не видно и не понятно, что «под капотом», так ещё автоматом тащятся множество зависимостей.


  1. Ogra
    21.09.2018 06:20

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

    Просто разработчики очень мало профилируют свой код. Да, они один раз услышали, что «преждевременная оптимизация — корень всех зол, Кнут так сказал», и теперь оптимизируют только тогда, когда все начинает тормозить. На машине разработчика, с i9 и 64Гб оперативки, гигабитным интернетом до сервера в соседней комнате все работает отлично, и нет повода запустить профайлер.
    Я сейчас говорю даже не об усилиях по оптимизации, которые сжирают время и деньги, а о куче мелких решений, которые разработчики всех мастей принимают каждый день. Да, можно было бы написать на массивах, вместо SQL, но это же сэкономит 0.1 секунды, какой смысл? Да, можно при сохранении картинки в Фотошопе нажать «Save for web» и пооптимизировать 10 секунд ради 100 Кб, но какой смысл? В итоге тут потеряли чуть-чуть, тут потеряли самую малость, и даже не заметили этого. А вот клиент на своей машине с i3, без SSD и запущенными программами — заметил 3 секунды тормозов.

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


    1. khim
      21.09.2018 06:51

      Да, они один раз услышали, что «преждевременная оптимизация — корень всех зол, Кнут так сказал», и теперь оптимизируют только тогда, когда все начинает тормозить.
      Ну дык каждый слышит только то, что хочет услышать. Но когда вы слышите эту фразу — стоит немедленно вспомнить и другую фразу из той же самой статьи Кнута: «В устроявшихся инжинерных дисциплинах улучшение на 12%, достижимое без черезмерных затрат, никогда не считается несущественным и я верю что такая же точка зрения должна быть применена в программировании. Конечно я не буду делать подобные оптимизации в программе, которую я буду запускать один раз. Однако я не хочу ограничиваться инструментами, которые не позволят мне достичь подобного выигрыша» (вся статья тоже интересна, но этого отрывка достаточно).

      Итак: 12% — вот где граница «преждевременной оптимизации». И если вы не можете уложиться в 12% замедления — то это заведомо плохой, негодный, неэффективный инструмент. А хороший инструмент — это скорее 2-3%… Много вы знаете инструментов и фреймворков, которые укладываются в этот предел?

      Вопрос скорее риторический…


    1. VolCh
      23.09.2018 13:37
      +2

      Программы будут тормозить ровно до того момента пока метрики времени отклика, реакции и т. п. не станут обязательными в бизнес-требованиях.


  1. srhbdv
    21.09.2018 06:29

    На машине разработчика, с i9 и 64Гб оперативки, гигабитным интернетом до сервера в соседней комнате все работает отлично, и нет повода запустить профайлер.

    Вряд ли вы разработчик, если действительно считаете, что даже если разработчик сидит на машине с i9 и 64Гб оперативки, гигабитным интернетом до сервера в соседней комнате , то разработка происходит именно таким образом, и что разработчики глупые идиоты.


    1. Ogra
      21.09.2018 06:57

      Разработчик. i7, 16Gb, гигабит. И ситуации, когда на моем компе все работает, а вот в продакшене начало тормозить, случались. Иногда фиксы делались в одну-две строчки.


  1. perlestius
    21.09.2018 07:22

    А зависимости? Люди бездумно ставят переусложнённые «полные пакеты» для простейших проблем, не думая о последствиях

    Вспомнил случай из своей практики. Больше 10 лет назад было. У пользователя не работала маленькая утилита, написанная на Fox Pro. И мой руководитель тогда выдал «отличное» решение: установите на том ПК IDE Фокса — это решит все проблемы!


    1. nmrulin
      21.09.2018 14:11

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


  1. gshamshurin
    21.09.2018 07:37
    +1

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

    В конструировании железа — я имею в виду не PC hardware, а именно железки, тоже есть подобные вещи.
    «Это опытная хрень, на один раз и непонятно пойдёт-нет, короче скидай как получится, между основными задачами», говорит тебе босс, и ты (уже ближе к дедлайну) с домашней машины, цепляясь по RDP к рабочей, вяло отмахиваясь от жены и отвлекаясь на поиграть с ребёнком, делаешь неоптимальную конструкцию из большого числа сложных деталей. Потому что на работе некогда — а босс просил, продажники просили, «по-братски». Короче, лишь бы нормально работало и не сильно геморно собиралось, а от тебя наконец все отвалили — делаешь. Через некоторое время узнаёшь — изделие в серии, клиенты довольны. Причём все, от рабочего и продажника до клиента и твоего директора, видят как можно упростить и удешевить, но… всем пофиг. Работает? Не трогаем. Большой заказ пришёл, а изделие долго производится — так деньги ж есть, фигня делов, ещё станок поставим. Оператор за одним станком следил — будет за двумя следить. Мы ему зарплату накинем, процентов на 10. Потому что эффективность. Это быстрее и проще чем сначала ре-инженирить, а потом договора-спецификации пересогласовывать.

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


    1. CodeRush
      21.09.2018 07:55
      +1

      У PC HW все точно так же, и за некоторые решения хочется натурально убивать голыми руками, но всех все устраивает, продукт выпущен, все довольны, недовольных шлют по вектору. Работает — не трогай, перестанет — будем посмотреть.


  1. Symsym
    21.09.2018 07:46

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


  1. razielvamp
    21.09.2018 08:02

    я бы еще в топку концепцию ci/cd подкинул.
    Может мое понимание не правильное, но это скорее маркетинговая фишка нежели техническая.
    Исходя из определения это выглядит как постоянный круг загрузки сорса из репозитория, компиляции, автоматизированного стандартного теста и вброса на продакшн на растерзание конечного пользователя = тестера (эффективно и бесплатно)

    В итоге имеем постоянные новые версии винды, андроида, мак осей с циклом в пол года. Зачем? На Windows XP один только сервис пак больше года выходил. А сейчас надо выкачать обновление на 4 гига, чтобы убрать пару дыр в протоколе самба, и добавить коновое контекстное меню с иконками в браузере.

    На мой взгляд это прямой результат ci/cd, которая гласит, что мы должны постоянно что-то вываливать, важен цикл а не содержание.

    В результате имеем Mac OS у которой вместо подсказки пароля отображается сам пароль, после переключения раскладки на азиатские языки к кириллической (арабской) раскладке можно вернуться только после ребута.
    На Windows почти не сижу, поэтому таких эпичных фейлов не припомню подробно, но они точно были.
    Зато каждые полгода новая ОС!

    Производители смартфонов вообще не успевают за андройдом, иногда текущую последнюю версию андроида можно получить только на новой модели смартфона, который анонсирован через два месяца, а в предыдущей уже забили на обновления, и получается что какой-нить гипотетический LG1 работал на 5й версии, а LG2 уже на 7й, а то и 8й. Спрашивается, зачем вообще была нужна 6ая? Для пары гуглофонов?

    В общем, согласен со всем написанным за исключением сравнения размеров. Все-таки в 30ти мегабайтном windows 95 были «скучные обои» и палитра в 256 цветов. И с этим ничего не поделать, в современных мониторах и смартфонах разрешение экрана растет, поэтому и картинки/кнопки надо делать «веселее», ярче и больше. Ну и поддержка оборудования тоже важна, вряд ли Windows 95 поддерживал такое же количество принтеров как современная ОС.


    1. Losted
      21.09.2018 17:21
      +1

      CI/CD, на мой взгляд, это не обязательно отсутствие тестов (можно ж и ручной этап делать). Это скорее про автоматизацию и повторяемость процессов от сборки до выката. Это про то, что у окружения все одинаковые, а не немного уникальны по-своему (частое последствие работы руками). Про то что артефакт приложения всегда именно тот, что тестировался, а не немного уникальные версии «от Маши» и «от Пети» из-за грязной сборки на дев машине.


  1. vs74
    21.09.2018 08:02

    Согласен с автором полностью. Вообще стыдно за ИТ, стыдно.


  1. Arris
    21.09.2018 08:08

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


  1. semmaxim
    21.09.2018 08:15

    Что-то меня прям проняло… Пойду изучать rust и писать под него либы.


    1. lmp59
      21.09.2018 09:28
      +1

      Посмотрите какие компы сейчас у разработчиков, по 2-3 монитора и ОЗУ 16гигов это считается тормозом, а нужно им выдавать что-нибудь из 90-х годов, тогда сразу при отладке-тестировании будет видно как медленно работает программа. И поневоле начнешь писать чтоб хоть не беситься дожидаясь когда программа отработает. А потом пользователи могут запускать и на современных компах.


      1. Simplevolk
        21.09.2018 16:13

        Чтобы у них кроме прог еще и IDE+окружение тормозило.


        1. PashaNedved
          22.09.2018 16:09

          На студию неоднократно выпускались обновления, при которых начинались тормоза даже на топовом железе. И вообще, vs ide 17 лагает и крашится на железе образца 2012 года


      1. IRainman
        22.09.2018 11:18

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


      1. VolCh
        23.09.2018 14:22

        Просто количественные требования к производительности должны быть зафиксированы в ТЗ для их формальной верификации при приёмке


  1. hzs
    21.09.2018 09:08

    Тоже очень бесит что современный софт работает дико медленно и при этом жрёт дофига ресурсов.
    Сын в 4,5 года попросил меня дать ему железо, чтобы он сам мог сам собрать себе компьютер.
    Я люблю старое железо и выделил ребёнку железяки примерно 2000 года, он сам собрал на стенде свой первый комп, я только поставил ему на комп 98 винду.
    Конфигурация что-то вроде Celeron 633 мгц, 384 мб оперативки, весь софт того времени просто летает.
    Сейчас браузер отжирает несколько гигов оперативки на несколько вкладок, это просто писец, товарищи!
    Ради интереса, посмотрел сколько весит мой сайт: Вес самого шаблона 120,5 килобайт, при загрузке в браузере со всеми ресурсами движка: 859 килобайт, что, я считаю, многовато. Время полной загрузки страницы без наличия кеша: 2,665 секунды.


  1. srhbdv
    21.09.2018 09:12

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


    1. NIKOSV
      21.09.2018 09:41

      Ну так прям медленнее. Сегодняшний софт на сегодняшних компах за 1500 баксов работает в разы шустрее чем старый софт тогда на компах за 1000 баксов (1500 баксов сейчас с учетом инфляции). И это при том, что сегодняшний софт в разы красивее и функциональнее. Та же винда тогда более-менее сносно работала на десктопах от среднего и выше, а сейчас 10ка летает даже на бюджетных ноутах за 1000 баксов. Да софт сейчас более высокоуровневый и менее оптимизирован, но who cares если за счет железа производительность в итоге все-равно растет.


      1. Neikist
        21.09.2018 10:06

        бюджетных ноутах за 1000 баксов

        Мне кажется или это оксюморон? У меня комп стоит лишь чуть дороже и я его мощным довольно считаю. А уж EDC ноут и вовсе за 250$ примерно брался.


      1. Rohan66
        21.09.2018 13:18

        а сейчас 10ка летает даже на бюджетных ноутах

        А Вы в 10-ке работаете? У меня, например, разный софт установлен и мне важна его производительность, а не «летающая 10-ка»! Я рабочий стол вижу только тогда, когда на «летающую 10-ку» обнова приходит (да будут они прокляты!).


        1. NIKOSV
          22.09.2018 04:01

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


  1. daniilk
    21.09.2018 09:27
    +1

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


  1. Iwanowsky
    21.09.2018 09:27

    Согласен со всеми доводами автора. ООП, фреймворки и визуальное программирование убили искусство программирования. Если раньше программировали на С/С++, Паскале и пр. (порой, с использованием ассемблерных вставок), то сейчас, используя библиотеки готовых объектов (классов), накидав формы и объекты в визуальной среде программирования, легко и быстро написать программу любой сложности. И если раньше программный код даже растягивали по строкам при оплате по количеству строк программы, то сейчас программы могут иметь миллионы и десятки миллионов строк кода: МС Виндовс 7 скомпилирован из примерно 40млн строк кода (Вин3.1 — 2,5млн), МС Офис 2013 — 45млн строк, Линукс 3.10 — 13млн, Андроид — 12млн, Файрфокс — 18млн, Гугл Хром — 7млн, новый Фотошоп — 10млн (Фотошоп 1.0 — всего 128тыс.!); а управляющее ПО самых современных автомобилей может иметь и 100млн кода (т.е. производители просто накидывают готовые программные блоки, и никакой оптимизации кода). Любая универсализация и унификация программирования в виде ООП и фреймворков подразумевает огромную избыточность кода. Большие объемы устаревшего и неиспользуемого кода накапливаются в любых крупных проектах (как проприетарных, так и опенсорсных) с выходом все новых версий, негативно влияя на производительность и отзывчивость программ; и периодически программисты проводят чистку этого кода и АПИ, ускоряя работу программ, что потом ставят в достоинства вышедшей новой версии ПО. Те же Демки со сверхсложными алгоритмами генерации изображений занимают всего 1024, 256, 128 и даже 64 байт (по условиям конкурсных программ).
    То же самое с версткой сайтов и веб-программированием. Изначально все сайты выглядели минималистично и просто (наподобие еще более старого Гофер), а сейчас даже минималистичная версия сайта Яндекса (ya.ru) — это почти 50КБ кода; при том что печатная страница простого текста (если ввести без стилевого оформления в Блокноте) — примерно 2КБ).


    1. InterceptorTSK
      21.09.2018 09:56

      А нынче и не может быть искусства программирования. Потому что оно уже запорото все на уровне опирацыонок насмерть. Уже побороть почти ничего не получается… Смотрите на пальцах как оно происходит, да и скорее всего вы и сами знаете.

      Собрали не так уж и давно либу под себя. Смысл следующий. Надо что бы шрифты рендерились даже на вин2к, но шрифты начертаний семи-болд, ультра-лайт и т.д.
      Вин2к вообще такого не знает, ибо gdi тупо вообще не знает таких начертаний в принципе. Ну мы перепилили и шрифты) Подменили в самих шрифтах идентификаторы начертаний и оно поехало. Заодно выпилили лишние глифы, да и вообще шрифты переколупали знатно, ибо багов в них еще больше чем в ПО. А что толку?) Шрифты в винде ставятся в вёнду, и нужны права одмина. Потому что какой-то казиол из майкрософта собрал текстбокс как обертку на древнючем компоненте, которому 20 лет как почти. Смысл в том, что нельзя из своего ПО рендерить в етом текстбоксе своим шрифтом) Проверьте)) Можно, только если шрифт установлен в систему.
      Как это решилось? Насильно закинули изначально в gdi замаскированный шрифт, ну семи-болд же gdi не видит и не хочет видеть, затем т.к. шрифт уже в gdi, то создаем уже шрифт из фреймворка, и его нет в шрифтах системы) Его же туда никто не скопировал, т.к. нужны одминские права. А значит вёнда ищет аналог в gdi и подхватывается он. А его мы положили перед этим всем тупым хаком в gdi. Но послушайте, зачем тут создавались 2 раза шрифты? Один раз они закинулись в gdi, а второй раз они создались фреймворком. И их получаются две копии. А как иначе?) И по-другому не выйдет. Что бы хакнуть это дерьмо — болтаются два одинаковых шрифта в памяти.

      В итоге все заработало причем как ни странно быстро, впрочем gdi действительно быстр, и семи-болд видится на вин2к в текстбоксах, и вообще на любых системах без видеокарт в принципе, например на серваке. Заодно выправили dpi и прочая-прочая…

      Но слушайте, если это называть искусством программирования…

      Сделали вывод: да нахрен оно надо? Проще пилить на спрайтах глифы и не париться вообще… Это самый простой вариант, и самый быстроработающий. И не от чего не зависящий вообще. В жопу шрифты, в жопу вёнду, в жопу gdi, и вообще все в жопу.
      Возьмите шрифт, отрендерьте его в а-ля своем пайнте в каких вам надо начертаниях, размерах и прочем. Напишите маленькое ПО для этого. Кернинг учтите, это достаточно просто, его можно взять из файла шрифта) Ну и фигачьте спрайтами какие хотите строчьки. Это самый простой и железобетонно работающий вариант. Все остальное полное гавно, с которым придется поиметь неиллюзорный бдсм-секс, или оно работать не будет вообще никак.

      Да что тут говорить, кто пишет разбираясь в том что пишет — так же трахается каждый день…


    1. InterceptorTSK
      23.09.2018 11:15

      Кстати — искусство основано на чувствах. Искусство — это способ передачи чувств. Не более того. Искусство и программирование — вещи не совместные никак. Ибо программирование полностью лишено чувств напрочь. Расчет и только расчет. Ничего другого быть не может.


  1. micro-CMS
    21.09.2018 09:27
    +1

    Согласен полностью. Яндекс и Гугл хотят от нас скорости сайта, а их же страницы на мобильнике не открыть.


  1. ledocool
    21.09.2018 09:27

    >Тем не менее, каждый второй сайт не может обеспечить плавную прокрутку страницы на 60 FPS на последнем топовом MacBook Pro.

    Это из-за javascript апплетов, управляющих прокруткой. Да спасут тебя свидетели noscript. Очень заметно на странице google, кст.


  1. Fastman
    21.09.2018 09:27
    +1

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


  1. AndrewStr
    21.09.2018 09:27
    +1

    Я конечно согласен в чём-то с автором, но решил проверить сам, как он сам следует тому, о чем пишет здесь. Пройдя по ссылке в его блоге tonsky.me/projects, я заметил что эта абсолютно статическая страница сразу вытягивает 2 мегабайта! А всё почему? А всё потому-что JPG'и не сжаты правильно для веба. Почему же автор, если он фанат такого перфекционизма, не довел до перфекционизма хотя бы свой собственный блог?
    Ответ простой, либо не подумал, либо лень, либо подумал, ну, и так сойдет.
    ИМХО, вот эти 3 либо и «и так сойдет» и есть причина того, что мы сейчас наблюдаем.


  1. arvitaly
    21.09.2018 09:32
    +1

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


  1. VadimRublev
    21.09.2018 10:02

    Надо сделать робота-программиста.
    Хотя бы (для начала) для десктопного веба.


  1. anonymous
    21.09.2018 10:07

    Проблема в том, что программирование в настоящее время больше похоже на хайп.
    Все соревнуются, кто больше новомодного и крутого запихает в проект, на выходе имеем как правило простецкое приложение с парой кнопок, но зато под капотом термоядерный реактор из всего хайпового и современного.
    И еще:
    Куча школьников + куча менеджеров = однокнопочное приложение размером 250мб.


  1. kleeen
    21.09.2018 10:07

    Не корректно думать, что затраты на добавление символа в ворде и в лексиконе соизмеримы.
    Надо просто сесть и написать с нуля, например проверку орфографии. Чтобы четка отдавать себе отчет, что сколько ресурсов требует. А есть еще всякие сглаживание, форматирование, оглавление и т.п. И все это любит есть ресурсы. А пользователи уже привыкли, что все происходит на лету.
    Хотя конкретно с WEB -согласен. Зачастую там наблюдается победа дизайна над здравым смыслом. А было же правило не больше 30 килобайт на страницу =))


    1. Massacre
      21.09.2018 14:02

      Проверка орфографии и прочее форматирование не очень подходят, как пример, это всё отлично умели и редакторы под DOS :) Тот же известный в определённых кругах редактор «Слово и Дело».

      А в плане JS сейчас влияет не объём кода, а результат его исполнения.


  1. yusman
    21.09.2018 10:10
    +1

    Как бывший инженер ДВС, категорически не согласен с тем что современные авто достигли предела 98%. На мой взгляд авто самый не эффективный, костыльный и опасный способ перемещения. Каждую секунду на нашей планете в ДТП погибают люди, только подумайте, каждое мгновение и мы считаем это нормой, мы привыкли к этому! Мы сжигаем сотни тонн топлива ежесекундно загрязняя планету. И это только потому что мы в определенный момент история выбрали такое вот странное и нерациональное решение. Да современный автомобиль это инженерное чудо, но построенно поверх большого и толстого и не эффективного костыля, от которого сложно избавиться.
    Поверх этого костыля мы строим не удобную инфраструктуру, все для автомобиля, парковки вместо игровых площадок для детей, дороги вместо велодорожек и тротуаров. С кодом ситуация совершенно другая, соврменный код хоть и не эффективен, но людей не убивает. На экологию влияет не сильно, да и жизнь делает лучше). Хотя сравнивать IT и другие инженерные искувства на мой взляд не совсем корректно


    1. IvanTamerlan
      21.09.2018 11:27

      С кодом ситуация совершенно другая, соврменный код хоть и не эффективен, но людей не убивает.

      Код очень даже убивает. Есть еще ошибки автопилотов (у них сложный и непонятный ИИ с нейросетями), хотя вот этот автопилот отработал на куда более скромных системах без всяких нейросетей и фреймворков.
      Даже на хабре есть статья с перечислениями фатальных ошибок.


    1. GrigorGri
      21.09.2018 18:30

      Каждую секунду на нашей планете в ДТП погибают люди

      Ошибаетесь примерно на два порядка.
      Пример — в 2015ом умерло 1.3 млн людей. В году 3600*24*365 секунд. 31 536 000/1300000 = 24 секунды. 24 секунды в среднем чтобы умер 1 человек, когда вы утверждаете что каждую секунду погибают люди (во множественном числе).

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


  1. Dee3
    21.09.2018 10:23

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

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

    Посмотрите сколько возни поднимает отказ от физических кнопок или 3.5 джека в смартфоне.


    1. ledocool
      21.09.2018 12:17
      +1

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

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


      1. Dee3
        21.09.2018 13:16

        Никакого «не хуже» не будет без принудиловки, потому что не зачем делать новые технологии если спрос есть только на старые. Более того это экономически не выгодно — делать и продавать вещи, о которых люди не знают что они им нужны.

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

        Если представить что через десять лет все аудио будет беспроводным и его стоимость сравнится с аналоговым, то глядя назад в прошлое будет смешно читать жалобы про «ну вот они сделали компьютер без Floppy телефон без 3.5 джека.


        1. ledocool
          21.09.2018 20:08
          +1

          >Чтобы двигаться вперед и делать новое по-новому, нужно оказываться от старого.
          >Никакого «не хуже» не будет без принудиловки, потому что не зачем делать новые технологии если спрос есть только на старые.


          Я, наверное, читаю как-то не так, но вы реально считаете, что прогресс пойдет только под принудиловкой? Впрочем, неудивительный вывод если принимать во внимание, что вы считаете деградацию от Apple прогрессом.

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

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


        1. VolCh
          23.09.2018 15:12

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

          Другой вариант FOSS: можно выбирать любую версию для установки, разве что уж совсем древние поискать придётся без гарантии, что найдёшь. А попробуйте легально сейчас установить на совместимый комп windows 98+ office 97 + ie 6. Даже win8 и office 2012 сейчас легально установить непросто.


          1. SirEdvin
            23.09.2018 15:26
            +1

            > Пример нового без принудиловки: электромобили.

            У них вроде есть налоговые дотации.


            1. PsyHaSTe
              23.09.2018 16:56

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


              1. khim
                23.09.2018 18:25

                Это, может быть, и правильно, но когда вы говорите: либо вы выпускаете XX% электромобилей, либо нарвётесь на штрафы — то это максимально далёкий от «примера нового без принудиловки» вариант.


                1. PsyHaSTe
                  23.09.2018 22:44

                  Квоты это плохо.


                  1. khim
                    24.09.2018 02:28

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

                    Так что не надо про этот «пример нового без принудиловки» — принудиловка там огого какая. Хорошо это или плохо — другой вопрос.


    1. Am0ralist
      21.09.2018 23:50

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


  1. intet
    21.09.2018 10:30

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

    Пример с которым я с толкнулся. Надо было добавить на страницу таблицу из картинок выровненных по сетке. Что хотелось бы — компонент на вход принимающий массив ссылок/файлов картинок и занимающийся всем самостоятельно.
    В реальности же готового варианта нет. Да отобразить картинки возможно, но при наличие необходимости хоть как-то изменить список без ручных манипуляций с dom/использованием библиотек не обойтись. Добавление функции сортировки drag'n'drop это горы js скриптов.


  1. eirnym
    21.09.2018 10:42
    +1

    Приложение Facebook для iOS весит более 512 мб, большая часть из которого — фреймворки с названиями вроде "rarely used framework".
    Приложение Facebook для Android — 70 мб
    Приложение Facebook Lite ~5 мб… ну вы поняли


    1. Iwanowsky
      21.09.2018 10:56

      Работающий ФейсБук на Андроиде нещадно жрет батарею. Останавливаешь его в настройках Андроида — и нормальное энергопотребление смартфона восстанавливается.


      1. eirnym
        21.09.2018 10:58

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


    1. serbod
      21.09.2018 10:59

      Lite недавно испортили. Теперь там мелкий шрифт, обрезаны строки, видео и картинки на весь экран не показывает.


    1. Hashinger
      21.09.2018 11:26

      А ведь когда-то смеялись над Nero.


  1. p_fox
    21.09.2018 11:00

    Мне вот тоже интересно — почему Винда (7) так долго обновляется?
    Накопилось обновлений на пару сотен метров, винда перезагрузилась и ПОЛЧАСА писала мне про обновление системы.
    ЧТО она делала полчаса? Или это было 200 метров кода, который Винда компилировала прямо у меня?


    1. eirnym
      21.09.2018 11:02

      wsusoffline делает ту же самую работу через тот же интерфейс установки обновлений, но намного быстрее!


    1. DMGarikk
      21.09.2018 11:21

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


    1. ledocool
      21.09.2018 12:16

      Бэкапила ваш hdd на свервера мелкософта.


      1. user343
        21.09.2018 16:01

        Тогда бы логи роутера это показали. Скорее всего тучу отладочных логов пишет паралельно ("индусский код"), а HDD не столь многопоточный.


        1. ledocool
          22.09.2018 08:48

          Это шутка, не парься. Думаю, даже Гейтс не знает что его винда делает во время обновлений и ПОЧЕМУ ТАК ДОЛГО!!!!!??? Скорее всего такая хрень происходит из-за того, что процесс непрозрачный и никто не видит явных проблем в его реализации. В лине ж как-то debian дистрибутивы умудряются делать full-upgrade за меньшее время и с меньшим числом боли.


          1. ValdikSS
            22.09.2018 09:57

            и с меньшим числом боли
            Ну уж нет, вылет программ из-за обновления библиотек в Linux — типичная ситуация. В Debian-based дистрибутивах нет транзакций и автоматического отката обновлений в случае каких-либо проблем. Чуть-что пошло не так — всё, apt/dpkg сломан, нужно исправлять вручную.
            С RPM-based все лучше, есть транзакции и откаты, но и аналог dist-upgrade может происходить полчаса-час, и при обычных обновлениях программы так же вылетают.

            Все проверки, которые делает Windows, оправданны.


            1. ledocool
              22.09.2018 10:42

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

              А касательно debian-based дистрибов — у меня деба не падала. Даже у убунты ничего не ломалось до тех пор, пока я случайно доступ к /tmp не запретил. (Игрался с chmod и опечатался.)


              1. IRainman
                22.09.2018 11:03

                А в винде принципиально такого быть не может, т.к. каждое приложение тянет свои библиотеки

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


                1. ledocool
                  23.09.2018 16:03

                  А как это опровергает то, что я сказал про венду?


          1. IRainman
            22.09.2018 11:01

            Поддержу ValdikSS ибо меня боль с ручным разгребанием в Ubuntu server так достала, что я обновляюсь там просто образом, т. е. тестирую апдейт и апгрейт на резерве, а потом если всё прошло хорошо просто выкатываю образ поверх рабочего ничего не трогая. С Windows вообще никакого секса, если апдейт не встал, то происходит автоматический откат и всё загружается в работающую систему где ничего не сломалось.


            1. ledocool
              23.09.2018 16:05

              Спорить не буду — нет опыта. Но вот вопрос из интереса: а не помогает сделать апдейтовые скрипты?


              1. IRainman
                23.09.2018 16:55

                Какие именно апдейтовые скрипты имеются ввиду? В этом плане оно и так автоматизировано более или менее.
                Создаётся образ того что работает.
                Пробуется обновить всё включая ядро с полной зачисткой после.
                Если сфейлилось, то результат удаляется и пробуется обновиться только пакетам без ядер с полной зачисткой на исходный образ.
                Если сфейлилось, то всё. Если получено более менее живое, оно загрузилось и нудное запустилось, то производится тест в живую, если работает как надо и в конфигах нигде не наступила жопа, то образ целиком выкатывается вместо того что работало и система ребутится. Если что то пошло не так, то ещё месяц ничего не трогается.
                Альтернатив я не знаю, возможно тоже нет опыта в этой области, вероятно с rpm будет лучше но в Ubuntu Server у меня без геморроя получается только так. Чинить и разбираться в глюках вообще не вариант ибо абсолютно бесполезное красноглазие там где должно просто работать. Я бы с радостью на всё это нанял админа, но средств на это нет.


                1. ledocool
                  23.09.2018 20:06

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

                  Альтернатив я не знаю, возможно тоже нет опыта в этой области, вероятно с rpm будет лучше но в Ubuntu Server у меня без геморроя получается только так.
                  Есть еще одна мысль, что можно попробовать. Ubuntu это нестабильная деба. От слова совсем нетабильная. У дебы от убунты до stable проходит три релиза. Если запаздывание по софту не парит, можно попробовать поставить именно debian stable.


    1. Massacre
      21.09.2018 14:07

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


    1. IRainman
      23.09.2018 17:01

      Очистку диска от админа попробуйте ;) Долго она могла разгребать кладбище ранее использовавшихся версий и пакетов. Ещё возможно что какая то проблема с базой, если файл "%SYSTEMROOT%\Logs\CBS\CBS.log" или логи в архивах рядом ОЧЕНЬ большие, то явно второе.

      P.S. У меня 7 установлена на часть машин ещё в июле 2009 (как только на msdn образы появились) и до сих пор работает, SP1 на неё тоже встал просто апдетом. С апдейтами совсем диких проблем нет.


  1. svcoder
    21.09.2018 11:03

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


    1. serbod
      21.09.2018 11:14
      +1

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


  1. WizardryIB
    21.09.2018 11:21

    Автор прав в одном и это — отсутствие жестких стандартов! Разработка ПО, да и ИТ в целом проходит лишь первый этап эволюции, когда технологии изготовления продукта или изучены слабо или совсем не изучены… И на данном этапе, когда спрос выше предложения, балом в ИТ правит маркетинг. Но не за горами и следующий этап, ведь эволюция циклична по своей природе…


  1. svcoder
    21.09.2018 11:21

    сложность игрового движка значительно ниже сложности Word 2016, если считать количество возможных сценариев работы. с игровым движком не требуется интеграция из других систем, он не может содержать компоненты других систем, у него нет тысяч вариантов отображения текстов и макетов страницы. там сплошная математика, часть из которой делается силами GPU.


    1. KaneUA
      21.09.2018 11:34

      Посмотрите на досуге на Unity.


    1. ledocool
      21.09.2018 12:15

      А вас не смущает, что простой по своей концепции макрософт врод оказывается сложнее игрового движка?
      А вас не смущает, что его аналог (open office write, кажется, называется) вроде умеет все то же, но чет не тормозит?
      А вас не смущает, что свистоперделок в этом новом «вроде» больше чем функций?


      1. VolCh
        23.09.2018 15:17

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


        1. ledocool
          23.09.2018 16:17

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

          достаточно адекватная проверка грамотности
          Может я какой-то кривой, но чет что то фигня, что это фигня. Если слова по словарю проверяет более-менее, то вот речевые ошибки тот же ворд настойчиво предлагает сделать. Так правильнее по его мнению.

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


  1. nmrulin
    21.09.2018 11:26

    Нельзя требовать производительность. Иначе бы вместо 100500 новый языков народ бы программировал только на Дельфи/C++ c ассемблерными вставками в узких местах. Тогда можно было бы обучить больше кодеров, чтобы они более-менее производительно кодили. И постоянно бы переписывали старый код, двигаясь к большей производительности. Но штаты всё равно бы были вдвое больше против теперешний. Вывод — программистов было бы больше. Но получали бы они вдвое меньше, чем сейчас. Кроме того труднее было бы делать отбор. Сейчас делать отбор просто — подними хайп с каким-нибудь Haskell, и посмотри, кто его выучит. Кто выучит — они обладают лучшими способностями к обучению. Потом, когда на этом языке будут криво/косо кодить все, надо поменять язык для новой программы. И можно опять проводить отбор. Правда производительно кодить никто не будет ни на одном языке. Ну да ладно.
    Также людям бы пришлось учиться писать более менее читаемый и интуитивно-понятный код. Иначе бы по 20 лет не никто бы не захотел работать с одним и тем же C++ кодом.


    1. DrPass
      21.09.2018 12:04

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


      1. nmrulin
        21.09.2018 13:58

        Я что-то не уверен, что можно на Haskell посадить любого.
        И что есть хоть один современный язык проще Турбо Паскаля 30-ти летней давности.
        Разве что не менее древний Оберон.

        Модулей, да в современный языках больше. Нажал кнопочку и типа работает. Но при этом 99% функций из библиотек не используется. А написать что-то своё под узкую задачу никто не умеет.

        Вот порог «написать что-то своё» не упал а наоборот, катастрофически возрос.


        1. DrPass
          21.09.2018 15:04
          +1

          Я что-то не уверен, что можно на Haskell посадить любого.

          :) Ну так и в прошлом все тоже не Лиспе и Прологе начинали программировать. 99% армии программистов Хаскель никогда в глаза не видела, и не увидит, и даже не заинтересуется.

          И что есть хоть один современный язык проще Турбо Паскаля 30-ти летней давности.

          Порог входа у C#, Java, JS невелик. Ну т.е. для хеллоуворлда вам не нужно знать много абстракций. Зато чтобы писать профессиональные приложения, Турбо Паскаль от вас потребует и ручное управление памятью, и работу с компоновщиком, и директивы компилятора и т.д. Хотите сделать интерфейс приложения — точно так же, создавайте ручками контролы (это если вы дожили до того времени, как у вас в ТР появилась библиотека Turbo Vision, если нет — то сперва ещё напишите их), следите за их временем жизни и т.д.

          Модулей, да в современный языках больше. Нажал кнопочку и типа работает. Но при этом 99% функций из библиотек не используется. А написать что-то своё под узкую задачу никто не умеет.

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


        1. BD9
          22.09.2018 06:04

          Оберон испытал влияние Паскаля, т.ч. Оберон менее древний, чем Паскаль.


        1. 0xd34df00d
          22.09.2018 16:35

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


          1. Acuna
            23.09.2018 14:41

            А можно вкратце почему? Очень оптимально написанные библиотеки, и/или все что нужно из коробки?


            1. Druu
              23.09.2018 14:56

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


        1. VolCh
          23.09.2018 15:23

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


  1. Svbakulin
    21.09.2018 11:59

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

    Проблема что машина может и жрет 100л\км, мно эти сто литров почти ничего не стоят и особо ничего плохого не делают на первый взгляд.


    1. Aingis
      21.09.2018 14:31

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

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

      А если не успеть, то от бизнеса ничего не останется. Так как приложение хоть и является важным, но важнее пользовательская база и социальные связи в том числе для удовлетворения финансовых нужд (инвестирования). Конкуренция сейчас большая, кто не успел на поезд, тот прогорел. Сколько вон писали клонов Фейсбука? Выжили лишь аномалии, и то — в достаточной степени изолированные (в Китае вообще отгороженные от мира).


      1. Svbakulin
        22.09.2018 05:10

        Все так. Потому и остаются в основном эмпирические знания. Я не разработчик, но в своей области и вижу очень мало людей которые идут хотябы на 50%. Обычно все поверхностно, без достаточного понимания процесса либо вообще без понимания. Дали вход, получили более или менее ожидаемый выход — этого достаточно. И не важно как все работает, правильно ли это, оптимально ли. Черный ящик — работает и бог с ним.
        Я к тому что я во много разделяю разочарование автора. В софте похоуже — кадый второй думает что может сделать свой собственнй форк с BJ&H, поулчается масса негодного недопродукта на который посмотреть без жалости нельзя.
        Это если с пессимизмом смотнеть. Можно смотреть по другому :)


  1. fukkit
    21.09.2018 12:14

    2014 — нужно внедрить микросервисы для решения проблем с монолитами.
    2016 — нужно внедрить Docker, чтобы решить проблемы с микросервисами.
    2018 — нужно внедрить Kubernetes, чтобы решить проблемы с Docker.

    Нужно нанять в два раза больше в два раза более дорогих специалистов (которые теперь «DevOps») и платить в два раза больше «as you go» облачным провайдерам, чтобы содержать весь этот зоопарк контейнеризованных микросервисов и автобилдов на каждый чих.

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

    Теперь можешь курить прямо здесь! (с)

    Сэкономим на тестировании и поддержке! Мы же суровые программисты, зачем на мелочи терять время деньги!?
    Вася наколбасил, Петя прочитал-поправил, Саня захреначил в мастер — и понеслось оно по трубам «continuous integration», через тестики да, если повезет, препроды, непосредственно к пользакам на устройства. Все закрыли таски, почувствовали удовлетворение от хорошо сделанной работы и погнали в барбершопы.


  1. Dagron
    21.09.2018 12:23

    Приложение Google app, в основном, просто пакет для Google Web Search, занимает 350 МБ! Сервисы Google Play, которыми я не пользуюсь (я не покупаю там книги, музыку или видео) — 300 МБ, которые просто сидят здесь и которые нельзя удалить.

    Неудаляемые приложения действительно бесят!
    Однако у нас это похоже может измениться
    Производителей гаджетов заставят отказаться от неудаляемых приложений


  1. webaib1
    21.09.2018 12:25

    Какая наивность, считать, что девы проектируют и пишут софт. Мы сидим на митингах, ходим на тимбилдинги, массажы, очереди к смузи/кофе аппаратам занимают оставшееся время. По пятницам у нас пицца/дартс/футбол и пиво с вином, т.ч. уже с утра всякая работа исключена.
    Нам некогда этой херней страдать думать и проектировать.
    И главное — нашим ХРам тоже некогда думать и нанимать толковых — они тусят всегда с нами, очередь за завтраками и обедами сама себя не займет.
    Это я еще забыл пару недель черной пятницы и 2 месяца рождества с ноу деплой стратегией, что бы ничего не сломали ))) девы криворукие.


  1. poznawatel
    21.09.2018 12:31

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


  1. ZAMnoTEX
    21.09.2018 12:39

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


  1. domix32
    21.09.2018 12:50

    А что за намеренное убийство случайных процессов в Linux?


    1. mayorovp
      21.09.2018 13:49

      Гуглите OOM killer


    1. PsyHaSTe
      21.09.2018 14:49

      OOMKiller, полагаю.


    1. YourChief
      21.09.2018 21:52

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


  1. ganqqwerty
    21.09.2018 13:00

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


    1. VolCh
      23.09.2018 15:28

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


      1. Druu
        23.09.2018 15:48

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


  1. julia4545
    21.09.2018 13:09

    Переходим на Линукс, статичные html странички и консоль.


  1. ua30
    21.09.2018 13:09

    Хуяк-хуяк и в продакшн. Есть такая тема. Самое интересное, нормально кодить не намного дороже получается.

    Я уже лет 15 отошел от прикладного программирования. Программирую движки сайтов. Знаете, иногда в футере пишется время генерации странички, количество запросов к БД, объем потребляемой памяти… Бывает такую информацию можно найти в HTML-комментариях. Больно видеть как какой-нибудь несчастный форум, или даже блог генерируются десятые доли секунды, а порой и выше. И дело тут не в сервере. И по полсотни запросов к БД, а то и больше. И вы еще не видели сами эти запросы. А памяти жрет по два-три и даже пять десятков мегабайт для своего выполнения…

    Последнее время занимаюсь разработкой движка для достаточно крупного интернет-магазина. Самые сложные страницы генерируются за 0,02 сек (генерация, не кеш). В среднем используется 12-16 запросов к БД. Учитывая время генерации всей странички, можно понять что запросы все хорошие. На 64 битной системе в среднем движок хавает 2Мб памяти на генерацию странички… По производительности разница в 10 — 100 раз. А я всего лишь не использую сторонние библиотеки и придерживаюсь функционального подхода к программированию. Я как то думал даже на Си писать движки сайтов. Но потом остановился: ну я же не полный задрот в конце то концов!

    Что в итоге? Да, разработка не такая быстрая. Но я один справляюсь. Работает все на простом сервере. Я думаю на том же сервере при такой посещаемости (до 10к хостов всутки) работал бы и обычный движок. Просто медленней. Но по-другому я просто не могу. 10к в сутки это примерно 36,5 миллионов человек в ближайшие 10 лет. А если бы я разрабатывал CMS не для одного сайта, а универсальную, которую установят на десятки и тысячи сайтов? Почему все эти люди должны страдать из-за одного или нескольких разработчиков?

    И дело не заканчивается CMS. HTML код чистится и сжимается PHP функцией в десять строк. Хоть на сервере и включен GZIP, но почему нет? Может хоть браузеру будет чуть легче. JavaScript только там, где он реально нужен. Сама верстка — только руками в текстовом редакторе (вру, в PhpStorm). CSS, JS минимизирован. Все загружаемые изображения автоматически оптимизируются и сжимаются. Картинки для дизайна сайта идут в двух спрайтах, а не в двух сотнях файлов. Как то так…

    Так что с этой ситуацией как обычно. Проблема есть. Что с ней делать? Не знаю. Наверное, единственное, что тут можно сделать — начать с себя.


    1. michael_vostrikov
      21.09.2018 21:07
      +1

      Но я один справляюсь.

      Во-во. Потому и справляетесь.


    1. janvarev
      22.09.2018 20:39

      О, очень знакомо. Тоже начинал разработку с движка для сайта в далеком 2004 — тогда многое приходилось делать ручками и оптимизировать.

      В результате движок живет и здравствует во вполне актуальных проектах. А оптимизация осталась… просто не подключалось ничего лишнего. До сих пор не используется PHP autoload (все библиотеки — ручками, благо их немного), доступ к БД давно вылизан в собственной структурной библиотеке в 70 Кб (вместо какого-нибудь Doctrine на 2Мб). Для нужд хватает.

      Результат — стабильная генерация страниц в пределах 0.1 с, обычно — в пределах 0.05 (не кеш). Исключение — навороченная статистическая админка (до 3-4 с)… ну лениво её вылизывать, когда ей пользуются два человека и не так часто.


      1. sumanai
        22.09.2018 21:01

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


        1. janvarev
          22.09.2018 22:04

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

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

          Конечно, понятно, что если только начинать, то фреймворки лучше всего — там и практики использования, и компоненты, и лучшая документация; просто рассказываю, так сказать, историю о том, чего можно достичь, если потихоньку пилить свой двиг в течении 14 лет ))

          PS: Если это был не риторический вопрос, а реальное желание ознакомиться, то ссылки есть на моем сайте, который в профиле.


          1. sumanai
            22.09.2018 22:28

            то ссылки есть на моем сайте, который в профиле.

            К сожалению, ссылок в профиле не вижу.


            1. janvarev
              22.09.2018 22:54

              Тут ссылок разве нет? habr.com/users/janvarev
              На всякий случай прямую даю: janvarev.ru


              1. sumanai
                23.09.2018 01:40

                У меня нету ссылок в вашем профиле. Сейчас поискал в исходном коде страницы, и тоже не нашёл.
                Спасибо за ссылку.


                1. janvarev
                  23.09.2018 08:00

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

                  PS: стало интересно, чем вы занимаетесь, погуглил по заголовку в названии про phpBBex. Мое почтение; я-то phpBB, как старожил, помню и понимаю, что такое поддерживать его развитие вплоть до современного интернета.


                  1. sumanai
                    23.09.2018 12:56

                    Мое почтение

                    С нуля я мало что написал, да и они сами сейчас переезжают на Symphony и прочее. Но за почтение спасибо.


  1. gearbox
    21.09.2018 13:13

    Нифига тут наобсуждали. Осмелюсь подвести черту (хотя нет конечно).
    Управление сложностью. Человечество столкнулось с этой проблемой в таких масштабах впервые. Это не только программирование, это и космос и фармацевтика и ядреная физика думаю много еще других областей. Собственно поэтому и проблемы — нужны новые инструменты управления сложностью. Дешевые и простые. Конкретно в программировании я думаю это будет формальная верификация и сопутствующая эволюция языков. Чего паниковать то? Утрясется.


    1. marenkov
      21.09.2018 13:40

      А как не паниковать, если идет к тому, что для запуска блокнота скоро понадобится 64 терабайта оперативки и 128-ядерный процессор с частотой 2 терагерца? Благо, что хоть потребляемая мощность ограничивается возможностями отведения тепла и вряд ли в ближайшее время выйдет за 1 киловатт (хотя, если посмотреть на историю развитие систем охлаждения — от шести алюминиевых ребер до тепловых трубок с водяным охлаждением, уверенности поубавится).


      1. gearbox
        21.09.2018 14:00

        >если идет к тому, что для запуска блокнота скоро понадобится 64 терабайта оперативки и 128-ядерный процессор с частотой 2 терагерца?

        Конечно идет, и это хорошо. Решение проблемы начинается с ее признания. Проблему начали признавать, об этом говорят все чаще. Программирование поворачивается в сторону математики, подъем функциональщины, metamаth, coq, haskell/idris, ocaml, да даже frama, вот это все — это котел, в котором сейчас варится возможное решение проблемы. Накапливается опыт, оттачиваются инструменты. Есть чекнутые компиляторы, есть как минимум одна чекнутая ось (точнее ядро). Как только это станет доступно (в плане дешевого использования) бизнес возьмет это на вооружение. Возможно сам закажет развитие если увидит выгоду. Это не решится за один день но это решается, в том числе и вот прямо сейчас.


        1. BD9
          22.09.2018 06:17

          Контрактное программирование развивается с 1986 года. Насколько массово оно используется?


          1. gearbox
            22.09.2018 13:12

            Не особо. А к чему вопрос?


          1. 0xd34df00d
            22.09.2018 16:39

            Контрактное программирование имеет к proof-carrying code примерно такое же отношение, как темплейты C++ к GADT.


          1. gonzazoid
            23.09.2018 00:59

            контрактное программирование имхо подняло вопрос который потом отработали в first class types / dependent types / refinement types что вполне себе используется в упомянутых gearbox инструментах.


        1. 0xd34df00d
          22.09.2018 16:43

          При этом проблем много.

          Я пару месяцев назад ради интереса доказывал на идрисе, что функция слияния в merge sort выдаёт сортированный список — задолбался, это какой-то ассемблер для математиков. Доказать, что merge выдаёт перестановку объединения входных списков, я уже не смог, ибо наткнулся на баг в тоталити чекере.

          На днях я доказывал, что small-step evaluation semantics для простейшего языка с if и булевыми константами тотально. Это тоже, гм, ну, весело.

          Как доказывать на идрисе, что small-step evaluation semantics для STLC тотально, я понятия не имею.

          Так что, ИМХО, реалистично — от сегодняшних инструментов до решения проблемы как от ассемблера и в лучшем случае алгола-60 до сегодняшних инструментов.


      1. PsyHaSTe
        21.09.2018 15:52

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


        1. marenkov
          21.09.2018 16:07

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

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


          1. san-smith
            21.09.2018 19:43

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

            Не могли бы. И дело не в вычислительных мощностях.

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

            В качестве примера: пусть некоторый процесс в действительности описывается функцией f1(x) = (2^0.5)^x, но так как мы не умеем считать корни, было выбрано приближение f2(x) = 1.4^x.
            Графики получатся следующие
            image


            1. marenkov
              21.09.2018 23:23

              Во-первых, я утрирую.
              Во-вторых, я не писал об абсолютной точности, а о допустимой ошибке в одну минуту.


              1. khim
                22.09.2018 03:57

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

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

                Как вы собираетесь это контролировать?


                1. marenkov
                  22.09.2018 13:59

                  Смотрите пункт первый.


                  1. khim
                    23.09.2018 18:39

                    Ну если первый… Ибо с дождём сложнее всего даже не предсказать когда он случится, а то, куда он при этом прольётся. Со всеми вытекающими ощущениями для субъективных оценок качества прогноза…


              1. san-smith
                22.09.2018 08:55

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

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


  1. w1ld
    21.09.2018 13:39
    -1

    Да, такое имеет место быть. В Андроиде, под Виндой, в Вебе приложения раздуты, тормозят и пр. Видимо, нужна другая модель монетизации, роста для софта. Какая-нибудь зависимость поощрения разработчика от его вклада в программу. Если его код используеться много раз, то и поощрение больше. Привязать как-то блокчейн, всем сделать аккаунты и списывать с них за использование кода. Добавить возможность поощрения, встроенную. Плату сделать очень маленькой. Аналогия с реальными физическими местами или воздухом. Вход в метро — плата, в кино — плата и пр. Ну и у всех сделать автоматически пополняемый баланс, чтобы реализовалось право на свободу и пр. Чтобы не было бедных, но и чтобы разработчики поощрялись.


    1. marenkov
      21.09.2018 13:47
      +1

      А ничего, что, по существующим оценкам, блокчейны уже потребляют около 1% вырабатываемой в мире электрической энергии? Я уже молчу о занимаемых объемах памяти.


      1. w1ld
        21.09.2018 14:01

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


        1. marenkov
          21.09.2018 15:08

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

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


          1. DrPass
            21.09.2018 15:15

            Вот только покупатели хотят новый модный «айфон», а не новое более надежное и быстрое приложение работающее на старом.

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


            1. PsyHaSTe
              21.09.2018 15:54

              Ну да. «Покупатель, ты не знаешь, чего хочешь, это Я знаю. Так что держи Х. Что значит ты не хотел? А ну бери, пока дают».


              1. marenkov
                21.09.2018 16:17

                Очередь за новым iPhone.
                image
                Маркетологи с автоматами прячутся за столбами.


                1. 0xd34df00d
                  22.09.2018 16:46

                  Это какой-то социальный конструкт уже. Можно же, блин, сделать предзаказ.


              1. picul
                21.09.2018 18:48

                Вот Вы язвите, а зря, ведь пользователь и правда не знает чего хочет. Откуда людям знать, что мобильный клиент для соц-сети/месседжера может работать быстро, если они сидят в Facebook'е/Viber'е? И требования новых фич/редизайна интерфеса/другие поводы убить производительность Вы ведь не напрямую от пользователей получаете, они исходят от руководства, которое думает как раз так, как Вы написали.


            1. VolCh
              23.09.2018 15:37

              Выбор нового девайса, который имеет больше возможностей вы считаете не сознательным? А обновление софта ради более функциональной версии тоже?


          1. w1ld
            21.09.2018 15:33

            А ничего, что, по существующим оценкам, блокчейны уже потребляют около 1% вырабатываемой в мире электрической энергии?

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


            Эта концепция совершенно другой оплаты за софт. Есть например такая сеть как steemit.com, где за чтение можно заплатить. Что-то такое было бы здорово, на мой взгляд, сделать для софта вообще. Если я открыл броузер, то я бы платил за использование всего софта который бы запускался у меня, но очень мало. Как я плачу за дороги в моем городе, но здесь это была бы встроенная функциональность.


        1. Druu
          23.09.2018 16:26

          чем сейчас, чтобы пользователи платили за это

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


    1. VolCh
      23.09.2018 16:19

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


  1. stanislavskijvlad
    21.09.2018 15:15

    KolibriOS в массы


  1. ua30
    21.09.2018 15:29

    Через сутки после прочтения статьи комп стал тормозить еще больше. Заметно больше. Даже там, где раньше не было проблем.


    1. Aingis
      21.09.2018 16:15

      А как стала тормозить эта страница… Даже на простую прокрутку уходят секунды. И появление символов на экране имеет задержку после нажатия на клавиши. Навскидку вижу на странице несколько обработчиков на нажатие клавиш.


      1. mayorovp
        21.09.2018 17:09

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


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


        1. EvilFox
          21.09.2018 19:02
          +2

          Хотите секрет? Это всё CSS (СТИЛИ) виноваты. Грохните их dr.habracdn.net/habrcom/styles/1537449801/main.bundle.css и всё станет в сто раз шустрее. Можно через F12 во вкладке Source открыть и потереть содержимое этого файла или перейти через Elements на него в стилях элемента какого-нибудь.
          Это не новая проблема. Частенько всякие там кривые нормализаторы (сброс стилей) сильно так тормозов добавляют (но в данном случае проблема глубже). Уже не в первый раз вижу такое на сайтах.


      1. user343
        21.09.2018 17:42

        Хаброрыба тухнет с головы (врачу — исцелися сам).
        А на некоторых форумах гостям или проштрафившимся пользователям включали майнинг криптовалют в браузере. Хабр ещё не настолько опустился.
        https://habr.com/post/374131/


        1. InterceptorTSK
          22.09.2018 17:34

          Если рыба тухнет, то тухнет со всех сторон полностью.



  1. zzvkaa
    21.09.2018 17:12
    +1

    Спасибо, хорошо сформулировано, даже сподвигло на хабре зарегистрироваться). Тема эта меня тоже давно мучает. Как так получается? Понять можно, если смотреть на всю картину мира, в которой программистов — от силы четверть процента всех людей. Т.е., разочарование в том, что даже создание технических ценностей — это социальный процесс, идущий по социально-человеческим законам (м.б. идеальным, но пока не достаточно известным), а не по идеальным физ-мат моделям. Неидеальный код — продукт неидеального социума, а не фейл отдельных специалистов. Как-то так.
    Например (шаблон сценария «быстрый IT-стартап»):
    1. Старт проекта: денег нет, времени нет. Решение — сделать прототип, запустить, раскрутить, на профит его доделать до идеальности.
    2. Сделали на коленках, запустили, раскрутили — ура, профит, KPI=100500
    3. Вложить в «ref*cktoring»?) при KPI <= 0.001005 ?) неее… лучше перейти к п.1 с новой идеей)


  1. Al-Capona
    21.09.2018 17:12
    +1

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


    1. 0xd34df00d
      22.09.2018 16:48
      -1

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


  1. scoffer-by
    21.09.2018 17:12
    -2

    Проглядев комментарии здешней фауны, гордо именующей себя IT-специалистами, нисколько не удивляюсь написанному в статье.


  1. user_z
    21.09.2018 17:12

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

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

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

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

    Со временем, государства-территории подмяли под себя города-государства, обложив рабочих жителей городов непомерным налогом. Промышленная революция внесла свой вклад, создавалось всё больше фабрик, на которых труд был хоть и оплачиваемый, но всё-таки принудительный, альтернатив не было, свободных ремесленников оставалось всё меньше. Фабричное же производство хоть и отличалось стремлением к экономии затраченных средств, но ручной труд становился дороже машинного, капиталу было выгодней произвести 200 деталей без особой огранки машинным способом, чем 5 деталей ручной, ювелирной работы. Тяп-ляп и в продакшн.

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

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


    1. scoffer-by
      21.09.2018 17:21

      Истинно так. Экономика ориентирована либо на результат, либо на прибыль. Одновременно не получается.


    1. PsyHaSTe
      21.09.2018 18:37
      +1

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


  1. sevenguest
    21.09.2018 17:12
    +3

    Глубочайшая признательность автору! Иногда боюсь, что только меня такие мысли посещают.


  1. polnd
    21.09.2018 18:34
    -1

    Согласен с автором. Одним из мотивов создавать свои программные решения для меня является ровно эта мысль — делать софт оптимальным и простым вопреки современным тенденциям.

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


  1. Kwisatz
    21.09.2018 23:44

    Коллега, наступили на больную мозоль а.
    Я ничерта не пойму почему crm расходует от 400 до 1.2 гб на вкладку, почему сайты насилуют процы офисных компов, какого черта каждый 3ий сайт позволяет себе загрузку по 20+ секунд.
    Почему мне разработчики сайта говорят что запросы с длительностью больше секунды это абсолютно нормально (ну там же целых 100 тысяч строк!!!).
    Какого черта Photoshop CS 2018 позволяет себе страшные лаги при отрисовки действий кисти в примитивнейшем макете на машине последнего поколения.

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


    1. khim
      22.09.2018 04:10
      +1

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

      А потом… случилось страшное: память по-прежнему дешевеет, а процессоры… больше не ускоряются. И замедление, которое раньше было незаметно — теперь приводит к тормозам. Но индустрию-то так просто не перестоить!

      Потому, в качестве паллиаатива, начали убеждать пользователей «не верить глазам своим» и делать вид, что всё вокруг не тормозит. Опять-таки переход с HDD на SSD дал ешё несколько лет передышки… однако, похоже, резервы уже исчерпаны — и разработчикам скоро придётся думать об эффективности… но за столько лет этот орган у них атрофировался за ненадобностью!


      1. BD9
        22.09.2018 06:31

        память по-прежнему дешевеет, а процессоры… больше не ускоряются

        Всё намного хуже: цены — растут, скорость — даже иногда снижается
        Дефицит 14-нм процессоров Intel растёт вместе с розничными ценами
        Intel вернулась к 22-нм нормам при производстве новых чипсетов
        Samsung сократит производство памяти, чтобы не снижать цены


      1. Kwisatz
        22.09.2018 13:31

        Вот сейчас набирал сообщение вхроме, сдался перешел в FF. Я обгонял отрисовку символов на полстроки, ну да у меня машина загружена, но не настолько же.

        Мне кажеться еще очень сильно роляет особенность веб разработки. По сути всем же плевать какой у них сайт. На нормальный денег жмут, идут заказывают за 3к, понимают что он не работает, идут заказывают за 20к, 50,100,500. Но ничего же не меняется. SEOшники давно всех убедили что они полезны, посему уникальный контент никто не создает, сайты деградируют до бесполезных лендингов, за нормальный дизайн для которых тоже никто не хочет платить (хотя уж где где а на лендингах UI должен быть на уровне «бог»), как итог на производительность всем плевать ибо все равно посещаемость полтора человека в час.

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

        Разработчики деградируют вслед за всеми этими тенденциями, 10 слоев абстракции, умные слова, реактивное программирование, а без лага отрисовать табличку на 20 строк мы не можем, ага. ORM, архитектура, тщательное внимание даже к файловым системам и вдруг, тадааа, 100 тысяч строк это уже много вдруг стало. И SQL запросы дольше 1 сек вдруг стали нормой. Да, я буду хранить данные прямо в DOM, потому что не вижу смысла их дублировать и наворачивать дополнительные виртуальные структуры. Нет я не буду использовать ORM, потому что ускоряя разработку, она создает проблем больше, чем решает. А что такое фреймворки я вообще не знаю и знать не хочу (нет правда, так и не понял смысл этого слова за много лет)

        Доступные VPS делает эту ситуацию еще хуже. Месяц назад вот разработчики сайта-каталога, заполняющегося парсерами, не моргнув глазом запросили VPS за 50 баксов/мес для размещения оного. Я сначала полчаса офигевал от цены предложенной, поскольку я за более мощную VPS плачу 9 евро, потом офигевал от требуемых ресурсов, затем офигевал от запроса гигабитного подключения (чтоб картинки быстрей загружать, ага (когда спросил про modified-since, меня не поняли)).

        Теперь у меня мерзкое послевкусие от осознания того насколько все запущено. У меня сейчас VPS непрерывно загружает/обновляет/выгружает данные из целого ряда crm/erp систем и при этом практически покуривает от нефиг делать, ибо доступных в наше время более чем достаточно для решения весьма широкого спектра задач. Да право слово, когда я занимался вам-сайтами у меня на IMB x346 с 16 гб оперативной памяти и без SSD спокойно и быстро работал сайт на серьезной нагрузке, в базе которого количество строк на таблицу доходило до 750 млн.

        ЗЫ вот глаз вопиющего в пустыне
        ЗЫЗЫ простите, накипело)


  1. arielf
    22.09.2018 04:10

    Это не инженерная работа. Это просто ленивое программирование.
    Ах чувак, как же ты прав!


  1. ankh1989
    22.09.2018 06:48
    +1

    Хорошая тема. Да, и насчёт Хабра. Как написать администрации? Упомянуть alizar? Почему комментарии так безбожно тормозят? Неужели отрендерить 1000 комментов это такая сложная задача? Почему когда я их прокручиваю (хром, винда), оно тормозит так будто биткоины майнит и почему когда я прокручиваю огромный RFC всё летает? Возьмите своего лучшего JS кодера и дайте ему месяц попрофилировать этот тормозной кусок говнокода. Выкините весь этот хитрозакрученный CSS и напишите тупо в лоб с глобальными стилями, но так чтобы не тормозило. Забодало.


    1. Am0ralist
      22.09.2018 10:49

      Как написать администрации? Упомянуть alizar?
      Эм… а через «помощь» -> "обратная связь" не пробовали?
      Ну или в одну из прошлых тем администрации заглянуть? Там даже указаны кто есть кто на хабре…
      На крайний случай, вызвать Boomburum'а? Зачем обычного автора статей то звать?


    1. Kwisatz
      22.09.2018 13:41

      Я просто оставлю это тут
      image


      1. arielf
        22.09.2018 21:47

        О Боже мой! Какой ужас! Прав был Денис Драгунский — миром правят страх и ужас!

        – Миром правят, – говорил учитель, – две вещи, две силы, две главные пружины. Это страх, – он вдруг на секунду запнулся, словно бы позабыл слово, – это страх, и… и…
        – И любовь? И отвага? И честь? – наперебой заговорили ученики.
        – Нет, дети. Страх и ужас.


      1. altrus
        23.09.2018 06:13

        Биг бразер следит за каждым твоим кей апом
        И делает это риал тайм и за твой счет.


    1. EvilFox
      22.09.2018 15:18

      Почему комментарии так безбожно тормозят? Неужели отрендерить 1000 комментов это такая сложная задача? Почему когда я их прокручиваю (хром, винда), оно тормозит так будто биткоины майнит и почему когда я прокручиваю огромный RFC всё летает?
      Я ответил тут почему.
      Вкратце: на хабре очень много не оптимальных стилей.


      1. EvilFox
        22.09.2018 16:20

        Главные источники тормозов при прокрутке элементы с position: fixed
        По большей части чтобы устранить тормоза прокрутки наберите в консоле (через F12):

        $("#xpanel").css("transform", "translateZ(0)");
        $(".layout__elevator").css("transform", "translateZ(0)");
        // можно ещё:
        $(".js-ad_sticky_comments").css("transform", "translateZ(0)");
        

        C полем ввода сложнее, я пока не понял какие стили гробят.


        1. Kwisatz
          22.09.2018 16:46

          Можно еще при прокрутке всей странице задавать mouse-events:none;

          Кстати я отписал таки в тп хабра, цитирую ответ: «Вы можете привести пример ресурса на котором статьи с 1300 комментариев загружаются на ваш компьютер без задержек?»

          Я конечно могу быть не прав, извините, но меня чуть не вывернуло от такого ответа от тп именно хабра.


          1. EvilFox
            22.09.2018 17:06
            +1

            Можно еще при прокрутке всей странице задавать mouse-events:none;
            Да, это тоже можно, но в данном случае не обязательно, достаточно обойтись стилями выше и тормоза при прокрутке сразу уходят.

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

            Кстати я отписал таки в тп хабра, цитирую ответ: «Вы можете привести пример ресурса на котором статьи с 1300 комментариев загружаются на ваш компьютер без задержек?»

            Я конечно могу быть не прав, извините, но меня чуть не вывернуло от такого ответа от тп именно хабра.
            «Круто», что тут ещё сказать.
            deniskin, это норм?


            1. Kwisatz
              22.09.2018 18:01

              А на вопрос о тормозах в textarea вот так: «Здравствуйте! У нас такая картина не
              наблюдается. Вы уверены, что она не имеет локальный характер? Больше похоже на некорректную работу какого-то расширения.»

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


              1. EvilFox
                22.09.2018 18:35
                +1

                Они наверное в лисе сидят (в ней не тормозит ни прокрутка ни поле ввода) и посмотреть в хроме (подвержены все на blink) им судя по всему лень (не в их компетенции).
                Да стандартная ситуация когда некомпетентные люди отфутболивают.


                1. sumanai
                  22.09.2018 19:32
                  +1

                  Они наверное в лисе сидят

                  О, спасибо, а то в упор не понимал, о каких вы тут тормозах пишите.


                1. Kwisatz
                  22.09.2018 21:08

                  Наверняка, а еще на i7 последнего поколения. А комменты тут пролистать лениво видимо, тут уже раз 20 это упоминалось. Я сразу написал что в лисе проблем нет)
                  Хотя отрисовка при резком скролле на статью кошмарно долгая.

                  Но лень таки видимо, да:

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

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


  1. androidovshchik
    22.09.2018 08:38

    Занимаюсь разработкой приложений для андроид
    Бывает выступаю волшебником в глазах заказчиков, присылая apk размером менее 1 мб
    А иногда просят специально увеличить размер apk, считая не солидным менее 2-3 мб


  1. Am0ralist
    22.09.2018 12:04

    Сегодня я долго смеялся.
    Ибо сегодня вышел новые DosBox для которого 1,5 мб — инсталятор, а распакованный он весит 4,3 мб.

    А причина, почему я смеялся:
    На WinPрone есть приложение MS-DOS Mobile, которое установленым занимает 16,57 мб и которая умеет несколько комманд
    Не, я всё понимаю, 1 апреля, все дела, но…


    1. lieff
      22.09.2018 13:10

      1.6mb — и можно добавить запись игры в mp4 и стримминг на твич:
      github.com/lieff/minih264
      github.com/lieff/minirtmp

      Когда обычно просто подключают ffmpeg или gstreamer. Причем это будет или зависимость, если это софт из репы линукса (это еще может быть оправдано ради качества/скорости кодирования), или просто скомпиленная дефолтная версия для винды\андройда\мака, чтобы неиспользуемые кодеки порезали и сократили размер до ~мегабайта — не видел такого.


      1. iDm1
        22.09.2018 22:08

        Так и ffmpeg тоже можно собрать минималистично конкретно под ваши нужды. Приходилось впихивать его во FLASH память роутера для стриминга звука в Opus, занимал в памяти около 900 килобайт.


        1. lieff
          22.09.2018 22:33

          Так я про это и говорю, порезать кодеки в ffmpeg довольно легко
          Оптимизация за 5 минут, но почему-то даже для мобильных приложений, постоянно встречаю в apk в jniLibs/armeabi-v7a/ полностью собранные _все_ библиотеки от ffmpeg (когда используется только h264). Хотя казалось бы трафик пользователя надо экономить.


  1. darksshvein
    22.09.2018 12:24

    рейтинг инструментов программирования увидеть хочешь ты!


  1. tBlackCat
    22.09.2018 13:05

    > Для примера, современные автомобили работают, скажем, на 98% от того, что физически позволяет нынешняя конструкция двигателя.

    Вот именно — нынешняя. Но почему она считается пределом совершенства? На самом деле она далека от идеала. Возьмём предельный случай — иной метод извлечения энергии из топлива, например аннигиляцию и неважно, что это дело отдалённого будущего. В этом случае окажется, что автомобильный двигатель работает сейчас на уровне программного обеспечения:
    > Только в программном обеспечении считается нормальным, если программа работает на уровне 1% или даже 0,01% от возможной производительности.

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


  1. xFFFF
    22.09.2018 13:15

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


  1. 5oclock
    22.09.2018 21:14
    +3

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

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


    1. IRainman
      23.09.2018 14:06

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


      1. Kwisatz
        23.09.2018 16:14

        Вот поэтому лично я рендерю страницу сервером, без новомодных приколов. А то нынче круто пошло, загрузить данные, преобразовать в объекты, построить копию дом дерева, воткнуть на страницу, навешать хендлеров и вуаля, табличка на 20 строк работает медленней чем моя на 1000+


  1. ilitaexperta
    23.09.2018 00:41
    +2

    Вы тут часто обвиняете капитализм, но это не корень проблем. Корень проблем нынешнего IT-сообщества — повально низкая квалификация разработчиков.

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

    Разделение на Junior, Middle, Senior больше ничего не значит. Сейчас можно совершенно не уметь проектировать, придумывать собственные решения и подходы, решать нестандартные практические задачи, выбирать инструменты и технолгии под задачу или писать свои, да и просто думать головой а не догмами и не паттернами, но при этом зваться Senior Android Developer или Senior Full Stack Developer. Вариться в тусовке таких же фейковых сеньеров, а тысячи еще более фейковых мидлов и джунов будут вам подражать и ориентироваться на вас, затягивая сообщество еще дальше в воронку деградации.

    То что такой Senior Android Developer посыпется при попытке написаить приложение хотябы для iOS, ведь это не его же профиль, Swift он не знает, а Objective-C вообще почти Си, а это для него уже оверскилл, никого не смущает. Ни коллег, потому что они сами такого же уровня, ни менеджмент, ведь менеджмент ориентируется на мнение ведущих разрабов в своей конторе. А кто эти ведущие разрабы? Такие же фейковые синьеры. Это значит что стало намного меньше разрабов, умеющих хотя бы правильно эту квалификацию оценить.

    Умение решать практические задачи подменилось умением набрать побольше фреймворов с модными названиями себе в проект. Умение проектировать архитектуру подменилось заучиванием паттернов и аббривеатур вроде MVP и спорами про количество ангелов на кончике иглыто про что должна знать Model, про что View, а про что Interactor. Умение выбрать язык и технологию под задачу стало такой редкостью, что HR искренне удивляются узнав что такое вообще возможно. А самое главное в работе программиста умение — думать головой давно подменилось банальным следованием догмам от лидеров мнений и выбором из двух неуместных крайностей.


    1. ilitaexperta
      23.09.2018 01:16
      +2

      Если же задаться целью понять почему так получилось, то нужно обратиться к истории.

      Причина деградации ровно одна — грубые ошибки в проектировании популяных технологий. Не очевидно, но я объясню.

      Например, возьмем хороший пример — Delphi.

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

      А теперь возьмем плохой пример — клиентский веб-стек. С него все и началось.

      Тут все похоже. Низкий порог входа — куча джунов. Сайты — это новый огромный рынок — востребованность разрабов, еще больше джунов. Но, клиентский веб-стек это набор грубых ошибок и костылей, описывать их по двухсотому кругу смысла нет. Что получилось в результате — прорва разрабов, которые не умеют нормально программировать, и при этом даже этого не понимают и считают себя Senior Full Stack Developerами. Которые впитали костыли и кривые принципы разработки и думают что так и надо. Которые думают что пресловутый margin: 0 auto это такой прием разработки, а не ужасающий костыль. Но хуже всего то, что востребованность таких разрабов привела к тому, что они еще и не хотят учиться другим стекам и технологиями.

      Пока фронтенд-js-комьюнити варилось в собственном соку, все было более менее хорошо. Все уже привыкли что браузеры тормозят, а сайты глючят. Но в какойто момент js-комьюнити начало переливаться в другие сферы. Сначала на бекенд — node.js, затем на мобилки — всякие fonegap, а теперь и на декстоп — Electron.

      Кстати, кто тут утверждают про что плохого в Electron? Это же просто абстракции!
      Советую сравнить старый Skype на Delphi и новый на электроне. Спойлер: старый относительно приятный и быстрый софт, новый — кусок говна, от которого плюются все. Дело не в абстракции, а в их количестве и качестве. Delphi добавляет один грамотный слой абстракции, а Electron добавляет несколько выпиюще неадекватных. Вот и вся разница


      1. Kwisatz
        23.09.2018 16:48

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

        Раньше когда мне надо было на яве написать простенькую утилитку, то все гуглилось довольно легко и просто и можно было почитать обсуждения интересных моментов. Сейчас если окунуться в непопулярные вещи типо поиска нечетких дубликатов с попутным определением кодировки, то искать нюансы можно бесконечно: поисковик забит «мини-гайдами» о том как надо взять спринг, обязательно в полной его ипостаси, наклепать быстро пару классов, воткнуть @магическиеШтуки и все сразу будет работать. Причем по статьям, с помощью прямых вопросов, а иногда даже и с помощью документации, не всегда можно выяснить что делают эти инжекторы.

        Вообще довольно показателен тот факт, что бОльшая часть php-фреймворков просто не умеет адекватно работать с prepared запросами. Я уже раз 10 сталкивался с тем, что людям prepared сэкономит до трети расходов на запросов, но фреймворк надо дописывать, потому что он не в курсе что у pg можно и нужно получить список подготовленных запросов для соединения.


      1. sentyaev
        23.09.2018 18:11

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

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

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


  1. Lucky_Student
    23.09.2018 01:09

    Не логинился на Хабре/Гиктаймсе около двух лет. Просто читал и не комментил последнее время. Ради того, чтобы поставить «плюсик» — залогинился. Полностью согласен с автором, правильный пост.


  1. PsyHaSTe
    23.09.2018 04:32

    Тем временем статья про падение нравов разработки и написание тормозного и плохого софта лагает и грузится полминуты


    1. Crandel
      23.09.2018 12:58

      В огнелисе загрузилась за 2,5 секунды


      Заголовок спойлера


  1. Ilya81
    23.09.2018 07:28

    Местами есть преувеличения, например, на счёт загрузки телефона за 1 секунду. Я вообще не знаю ни одной GUI ОСи, загружающейся за 1 секунду, а CLI и псевдографика по мне слишком большая жертва ради быстродйствия. Да и GUI бывает разным — OpenBox загружается менее 5 секунд, KDE — всё ж подольше, и я без крайней необходимости обычно выбираю более совершенный GUI в KDE. С играми вообще особая история, специализированные процессоры, в т. ч. GPU, всегда эффективнее, но для прочих целей специализированные процессоры на пользовательских компах вряд ли приживутся. В Windows, впрочем, есть проблема стандартизации — скажем, WPF криво работает с видеобфером, а особой альтернативы использования GPU вне игр не прижилось, не будет ж каждй писать свою прослойку, а GDI для графики использует CPU. Про Windows 95 вообще в 30 Мб отдельная история, Windows так и тянет тяжёлое наследие оптимизации с разделяемыми DLL и т. п., в итоге для их обновления теперь пришлось использовать транзакции, а в этом случае 30 минутам на обновление удивляться не стоит. Автор знает, сколько занимает закрытие банковского дня? А знает почему? Вот они транзакции. Хотя, если перейти к теме приложений, кривое использование ORM порой и впрямь создаёт транзакции почём зря. А всякие Docker'ы и прочие Kubernetes — это решения для создания массового создания крупных систем, что раньше не применялись.


    1. khim
      24.09.2018 05:11

      Я вообще не знаю ни одной GUI ОСи, загружающейся за 1 секунду
      RISCOS на Raspberry PI примерно столько грузится с момента когда ещё загрузили в память. Считать нужно именно это время, так как изначально RISCOS (как и большинство OS, разработанных в 80е) была рассчитана на то, что её будут зашивать в ROM. Соответственно загрузка занимала секунды три — а с тех пор компьютеры стали в 1000 раз быстрее. Наверное и сейчас её можно было бы прошить в ROM на Raspberry PI — но с этим никто не хочет заморачиваться.

      Автор знает, сколько занимает закрытие банковского дня?
      Да, знает, я думаю.

      А знает почему?
      Потому что для того, чтобы исправить хоть что-то нужно собрать 100500 бумажек и никто не будет менять архитектуру, даже если она безбожно транжирит ресурсы? Так об этом и статья.

      Вот они транзакции.
      О каких, блин, транзакциях мы говорим? Зачем вам транзакции внутри процесса обновления? Делаем снапшот, делаем обновление, если не получилось — возвращаемся назад. Нафига вам в этом процессе ещё внутри какие-то транзакции?

      А всякие Docker'ы и прочие Kubernetes — это решения для создания массового создания крупных систем, что раньше не применялись.
      Да применялось это. Начиная с 70х годов OS/360 могла вкладываться внутрь OS/360. А туда — можно было ещё одну OS/360 вложить. И там — хоть 100 раз, пока памяти хватит. System/370 тем и отличалась от System/360.

      Но для этого нужен правильный дизайн, да. Тот факт, что, когда проблема была диагностирована, Intel и AMD не исправили архитектуру (как сделала IBM в System/370), а наворотили ещё один уровень костылей вызывает, если честно, «чувство глубокого недоумения» — но очень хорошо ложится в канву обсуждаемой статьи.


  1. ladutsko
    23.09.2018 14:22

    ППКС


  1. sboronin
    23.09.2018 15:35

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


  1. sboronin
    23.09.2018 15:38

    Автор статьи пишет «Linux намеренно убивает случайные процессы.»
    Можно ли привести примеры, когда Linux так делает.
    Работаю с Linux-ом с 2000-го года, но не сталкивался с данным явлением.


    1. khim
      24.09.2018 05:16

      Можно ли привести примеры, когда Linux так делает.
      OOM-Killer. Мерзкая вещь — но суть следствие неправильного дизайна. Где posix_spawn появился сильно позже сладкой/парочки fork/exec, часто реализован поверх них и, соотвественно, требуется в подпорках, каковыми являются COW-fork и overcommit. А дальше — уже и OOM-killer, как следствие…


  1. Londoner
    23.09.2018 16:27

    На самом деле, во фронтенде проблему исправить довольно легко. Достаточно создателям Хрома перестать загружать страницы длинной, скажем, больше мегабайта или джаваскрипт, требующий память больше десятка мегабайт. Сначала показывать предупреждение, а потом просто крешить эти страницы, оставив глубоко в настройках опцию «allow bloatware from the following domains»


    1. Druu
      23.09.2018 16:28

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

      А зачем им это делать, если пользователи хотят такие страницы загружать?


      1. Londoner
        23.09.2018 17:00

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


        1. PsyHaSTe
          23.09.2018 17:02
          +1

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


        1. Druu
          24.09.2018 04:03
          +1

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

          А безнаказанным он остается потому что, еще раз, пользователей все устраивает.
          Нету у пользователя такой проблемы. Она есть у разработчиков, у вас, у автора статьи там. А у пользователей — нет.


  1. InterceptorTSK
    23.09.2018 16:33
    +1

    Когда я начал прозревать, ну это давно уже было — мне попался забавный клиент. Он компьютер вообще в глаза не видел. Оно ему не нужно было полностью. Впрочем 99% и без компьютера прожить могут прекрасно, но суть не в этом. Значит это был директор достаточно крутой канторы, но вообще без компьютера. Так вот, обсуждали мы что делать будем, а рядом сидел главный инженер этой канторы. Т.е. директор сидел рядом исключительно справочно, собственно он этого и не скрывал, и заранее так и сказал.
    Обсуждение свелось к банальностям. Нахрен все это надо? Если этот ваш кампутер нихрена не может? На том и разошлись. А ведь етот директор абсолютно прав.
    И чем дальше оно двигается в каких-то непонятных направлениях — тем хуже оно становится.

    И да, бухгалтер у него считал на счетах. Давно дело было. Кантора приличная, человек 200.
    Рассчитывала все одна женщина. Ошибок ровно ноль. Я специально спросил. НОЛЬ. Проблем тоже НОЛЬ.


  1. lxsmkv
    23.09.2018 18:30

    Одной из причин разрастания (а может и основной) является, по моему наблюдению, поддержка обратной совместимость и нескольких платформ.


  1. Infra_HDC
    23.09.2018 21:10

    Моё разочарование в софте

    Вы были очарованы софтом? И если да, то можно поподробней об этом?