Pull to refresh

Comments 2474

UFO landed and left these words here
Всё хорошо в меру. Только что попробовали открыть XML файл в пару сотен метров (не спрашивайте зачем) в 17 VisualStudio под десяткой. На относительно свежем компе с 4 пнём (хз какой именно) и 16ГБ оперативки. Через 15 минут грохнули не дождавшись его выхода из медитации.
А в FARе за сколько откроет?
Мгновенно, он умеет обрабатывать кусочками из произвольного места. Только colorer плагин будет в фоне с начала расцветку считать.

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

К словам придираетесь
Я не придираюсь — даю детали для потенциально заинтересовавшихся реализацией.
Мне кажется, memory mapped files тут мало при чём. Речь о том, что некоторые редакторы способны отображать файл, лишь распарсив его целиком, а некоторым достаточно распарсивания некоторых определённых частей (в т.ч. той, которая должна быть отображена в данный момент, т.к. находится в видимой на экране части документа). Memory mapped files тут в принципе можно применить, но, по-моему, не обязательно, обычных lseek/read вполне достаточно, разница скорее в алгоритмах, а не в lseek+read vs. mmap.
Memory mapped files тут не просто можно, а обязательно ибо иначе будет больше вероятность лагов ;)
Мне кажется, или в случае, если весь файл влезает в RAM (точнее даже не так, если все данные, необходимые парсеру/просмотрщику влезают в RAM), то это совершенно лишнее? Исходя из определения
Не лишнее, memory mapped files позволяют убрать лишнюю прослойку и сразу использовать данные из файлового кэша системы. При использовании обычного подхода получится, что система в любом случае откроет файл и он в любом случае будет в кеше, но в память приложения данные придётся копировать. и для sasha1024 тоже.
Я так понимаю, в кэше будет не обязательно весь файл, а может быть часть файла (если он большой).
А что значит «но в память приложения данные придётся копировать»?
Upd.: А, всё, я кажется, понял. При read происходит перенос данных в уже выделенную пользователем память. При этом эта память уже контроллируется приложением, т.е. оптимизировать это каким-то ре'map'ингом страниц (или как там ОС это делать может) не выйдет.
Агу, именно так. Кроме того остаётся пусть и небольшой но оверхед на работу самих API файловой системой, а тут для приложения сразу доступен уже очищенный от всего связанного с ФС кусок памяти содержащий данные файла.
Ну, оверхед на работу с файловой системой будет в любом случае — разве нет?
Этот оверхед конечно останется, но вся эта работа и так производится. Просто тут очень удобно получается, что данные уже лежат в памяти и воспринимать их как файл нет никакой необходимости.
Ну, на скорости это практически не сказывается.
О чём вы спорите?
Far давно в Open Source — уже можно было пять раз посмотреть
Не совсем понял, как реализация Far'а что-то докажет.
По сути, благодаря mmap мы избегаем лишнего копирования данных из одного участка оперативной памяти в другой. Что достаточно быстрая операция. А основной затык тут не в mmap vs. lseek+read, а именно в алгоритмах, которые либо довольствуются малыми кусочками файла, либо заставляют вычитать с диска (нагрузка на диск) и распарсить (нагрузка на процессор и опять же таки оперативную память) значительный кусок файла или вообще весь файл.
Обосновать как-то сможете?
редактор/ide отображает (при подсветке синтаксиса и прочих плюшках) не plain text (где да, memory mapping помог бы) а по сути AST дерево, которое надо где то хранить. И вот это AST во первых весит больше исходника, во вторых его еще создать надо — то есть распарсить весь исходник. vim худо бедно справляется потому что у него подсветка на регулярках, и она регулярно ломается.
И вот это AST во первых весит больше исходника…
Кстати, необязательно. Это AST может:
  • во-первых, не содержать в себе сами строки, а лишь ссылаться на позиции в исходном файле;
  • во-вторых, быть не полностью детализированным (т.е. условно говоря, мы распарсим первую функцию в файле-исходнике полностью на всю глубину, но если она выше екрана, то тут же забудем результат парсинга за исключением её собственно начала и конца (т.е. удалим все узлы глубже узла самой функции), а если она снова попадёт в экран — распарсим заново (т.е. детализируем этот кусочек дерева)).
Но, да, на практике там делают немногие, та и в любом случае всё, что выше экрана, придётся распарсить, а это время, даже если результат детально не хранить.
Похожий функционал был еще в некоторых DOS-приложениях (для просмотра БОЛЬШИХ изображений вроде растровых карт) а в DOS memory-mapped files не бывает. Руками можно все сделать. Сложно но можно.

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

Не знаю, как фар, а блокнот++ открывает за <1сек.
Вообще по опыту там дико тормозит подсветка кода, и такая беда не только там.
Ну конечно, ведь в этом случае надо разбить текст на токены, и хорошо если разработчик предусмотрел токенизацию ± экран, но ведь в сложных больших структурах где, к примеру, есть один корень и много ветвей (тот же xml), это может быть нереально, соответственно нельзя определить где находится начало, откуда можно стартовать синтаксический разбор, и соответственно корректную подсветку создать просто не выйдет.
Как раз в xml это проще простого. Токенов там мало и они все достаточно легко распознаются. Там не требуется делать разметку с корня, достаточно чуть отойти назад и найти начало любого токена. Проблема будет только с CDATA, но на него пофиг.
Возможно, но опять же имхо зависит от структуры xml, на моём текущем проекте xml, смёрженный из 5-10 xml может быть от 100-150 MiB и выше, как повезёт. В этом случае открытие файла в np++ становится мучением, как и работа с ним.
Раньше использовал EditPlus2 (не помню, почему отказался частично), до 50Мб он переваривал не морщась, больше не пробовал.
При открытии большой пачки файлов, пусть даже мелких, на сотню байт-пару килобайт, зависает на иногда до 5-10 секунд, на так и не посчитал каком по счёту файле, что-то после 120, но не всегда на одинаковом количестве. (вот сейчас проверил — завис, правда только на пару секунд, на 127-ом)

Я тоже отказался от него в больше части предыдущих операций и перешёл на AkelPad. Он оказался лучше Notepad++.
Если не секрет, зачем нужно открывать 100+ файлов одновременно? А если какое-то однотипное массовое редактирование, то уж проще скриптами. Ну и пару сек — это не катастрофа. Многие редакторы один файл открывают дольше.
Пара секунд только сейчас, при открытии же «обычной пачки» из ~200-300 файлов — зависает на заметное время.

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

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

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

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

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

Вы второй раз не потрудились прочитать, видимо лозунг — «комментарий не читай, ответ строчи», вам весьма близок?

Ezhyg 24.09.18 в 00:41
После покупки автором оригинала — огрызкобука, часть файлов он стал сохранять в формате Unix

khim 24.09.18 в 04:30
А откуда у вас возьмутся файлы в Unix-кодировке если у вас нету Unix'а — для меня загадка.

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

Я рад за него, чесслово! Мало того, изредка, даже использую его помощь.

На любой современной Unix-системе он есть.

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

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

Да уж… тащить огромный пакетище для мелких разовых вещей — очень по красноглазиковски!
Здесь я согласен с Druu

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

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

Ну а айконв, наверное, посоветовали, поскольку вы писали свой велосипед.

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

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

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

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

Автор оригинала (файлов), переводимого мной (слово перевод вам надеюсь понятно?)

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

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

поскольку вы писали свой велосипед.

Так я и написал. Хотя это не скрипт и уж точно не велосипед! Нормальная команда запуска редактора без гуя (консольно), с параметрами конвертирования из одной кодировки в другую. И я сразу же объяснил, что конвертировать надо «два раза», но нет… начинается снова предложение вначале одного, на перле, потом второго на пхп, да и вообще не под ту ось. Это же клиника!

Что до сотен файлов открытых в редакторе — то, очень интересное наблюдение.

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

И я описал почему я так же отказался, как и автор комментария, прокомментированного мной.
Раньше использовал EditPlus2 (не помню, почему отказался частично)


0xd34df00d в репах есть:
безазотистые вещества (6,5 %), азотистые вещества (1,1 %), жиры (0,2 %), минеральные соли (в нём очень большое содержание кальция), витамины (А — 0,04 мг, С — 8—20 мг, B1 — 0,08—0,11 мг), значительное количество сахаров и витамина PP. Богата янтарной кислотой.

Никаких dos2unix там нет! Это ген такой или вещество?
UFO landed and left these words here
Notepad++ не очень, т. к. не предназначен даже для самого базового редактирования кода (не поддерживает Tab indent space align). Зато зачем-то поддерживает подсветку кода. Бред.
Подсветка кода сильно нужнее. Хотя выравнивание не помешало бы, есть такое.
Но и подсветку значительно сложнее сделать. На несколько порядков.
Это чем сложнее?)
Какая разница какой фон под символом?
Красный, белый или зилёный?
Почему белый фон под символом рендерится за 10мс, а красный фон за 100мс?))) Цыфры условные.
Вы вообще понимаете, что разницы в принципе нет никакой? И не должно быть.
Разница получается в таких вот поделиях исключительно потому, что поделие сделано из говна и палок. Подсветку прикручивают не на том уровне абстракций. Всего навсего…
Для подсветки нужен хоть какой-то синтаксический анализатор конкретного языка. На регулярках или строящий AST, обрабатывающий весь файл целиком или потоковый, в основном потоке или в фоновом процессе, но анализатор. Для каждого языка.
Ага ага…
Вы еще скажите, что отрисовка процессором символа с фоном медленней, чем определение того какой под символом фон нужен.
Как это причем?
У вас решение какое-то дичайшее.
Вы говорите что парсить строчьку дороже, чем символ с красным фоном рисовать.
ВЫ ОБЪЯСНИТЕСЬ ХОТЯ БЫ КАК-ТО??? Как такое может быть вообще?
Или вы что не понимаете, что вы люто бредите??
UFO landed and left these words here
Вообще то тут сильно зависит от того, что парсить и как рисовать. И на каком железе. Парсинг строки кода на C++ может быть сильно медленнее, чем отрисовка символа 16х16 пикселей с заданным фоном.
А вообще мне кажется, Вы с VolCh о разных вещах говорите. Вы — о времени выполнения, а он — о времени разработки.
UFO landed and left these words here
Конечно парсить строчку, иной раз в несколько мегабайт длиной, дороже, чем рисовать сиволы с разным цветом фона. Как минимум в случае когда символы мы по любому рисуем и нам нужно лишь определять каким цветом и с каким фоном их рисовать.
В реальность вернитесь уже.
У вас строка бывает длиной в несколько мегабайт? И зачем подсвечивать эту строчку длиной в мегабайт?
Вы про какой парсинг сейчас говорите?
Давайте разбираться. Парсинг всего документа целиком — это одно. И да, совершенно прав человек, когда пишет, что если начало комментария 900 строчками выше, то надо парсить весь документ. Так символ комментария может быть не только на 900 строк выше, а выше еще и на 1800-ой строке. Комментарий кто-то попытался сделать вложенным например. И не надо говорить что где-то это запрещено, а где-то разрешено, и где-то документ будет валидным, а где-то нет. Суть не в этом. Парсить ДОКУМЕНТ в любом случае нужно. Но я не про парсинг документа) Я про парсинг строки. Т.е. где в строке подсветить символы. Я про графику. И только. Т.е. есть строка, уже распарсенная. Так вот вам в этой строке нужно подсветить исходя из распарсенного — символы 10,11,12, 34,35,36 и т.д. Вот это и тормозит. А тормозить не должно никак. Имея именно распарсенный документ любой, т.е. абсолютно любой — тормозит именно подсветка символов. Это же увидеть абсолютно легко. Берете документ на 10кб и на 10мб — подсветка тормозит в обоих случаях. И тормозит именно определение того, где какой символ подкрасить, т.е. фон поменять. А фон меняют через лютые костыли зачем-то. Вот это и тормозит больше всего.
Выходит так, что тормозит не парсинг документа, а графика. Это как с курсором выжирающим ядро. Типа того.
Документ состоит из строк. Распарсить документ = распарсить все строки. И это вам нужно вернуться в реальность, где строки никто не парсит снова, чтобы подсветить её части. Определение цветов символов в строке — это не парсинг.
Да что вы говорите) Т.е. если вы получили некую структуру данных о документе, то в ней что-то сказано о том где и как красить фон символов? Наложение раскраски тоже никто не отменял. Закомментированное что-то может быть тоже внутри раскрашено, но бледно. Перенос строки разве кто-то отменял? И как вы в такой строке красить собираетесь? А если идут 20 табов и строка уходит за экран? Тоже подкрашивать то что ушло за экран? Вам графическую часть парсить придется и еще как. И да, тут нужно будет тоже парсить. И это парсинг тоже.
Наложение — это наложение, проецирование если угодно, может разметка, но никак не парсинг. И до графической части там ещё далеко.
А до какого уровня парсить, насколько подробную подсветку мы хотим?
Рисовать буквы одним цветом, цифры другим, прочие символы третьим — элементарно и почти ничего не стоит. Подсветка ключевых слов, строк, комментариев — уже зависит от синтаксиса языка. Выделить имена классов, элементы перечислений, парные скобки — нужен полноценный парсер. Неиспользуемые параметры? Неинициализированные переменные? Теперь рисование разноцветных символов требует транслятора с анализом dataflow…
Я имею ввиду реализовать подсветку синтаксиса в редакторе программного кода на порядки сложнее, чем реализовать в редакторе tab indent space align.

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

Так вот, Notepad++ решил пойти по странному пути. Потратить годы работы на подсветку синтаксиса — это ок, а потратить 5 минут времени на Tab indent space align — не ок, хотя эти две фичи одинаково важны.
Ну, на счет одинаково важны — это все таки субъективно. Я вот вообще почти не слыхивал про tab indent space align, а подсветка синтаксиса очень помогает.

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

Блокнот++ открывает быстрее секунды с подсветкой. На самом деле там 2 проблемы
1. подсветка. У многих она тормозит. У некоторых — безбожно.
2. Весь файл в одну строку. Такая подстава многие редакторы ставит на колени. Как пример: PSPad с подсветкой справляется, а вот с однострочниками нет. Более того, там даже прокрутка будет безбожно тормозить (если вкл автоматический перенос)
Помнится перестал использовать PSPad после того как надоели постоянные падение при попытке открыть хотя бы метровый файл
Та же самая ситуация, сам по себе PSPad был отличным продуктом, но если бы не эти мелочи. Но зато я открыл для себя существование Notepad++ и Sublime Text
Если бы ещё в Notepad++ можно было бы редактировать программный код. Туда зачем-то впихнули подсветку синтаксиса, а какой в этом толк, если всё-равно не поддерживает tab indent space alignment.
UFO landed and left these words here
Подсветка синтаксиса в Notepad++ полезна тем чтобы глаза не вытекали и чтобы можно было, например, скрипт для cmd отредактировать. А для редактирования кода и разработки есть IDE, её и необходимо использовать.
Имеющаяся IDE неповоротлива и бедна на подсветку синтаксиса, поэтому используется Notepad++
А что мешает самим написать плагин?
  1. Написал бы, но я работаю с другими языками программирования.
  2. Это странно, для такой базовой функциональности писать плагин. Давайте ещё напишем плагин нажатия клавиши Enter, чтобы перенести курсор на следующую строку, предваритально создав её, потом напишем плагин для стрелок — а чё, хочешь перемещаться по коду, ставь плагин! и т. д.
  3. У notepad++ есть какие-то баги с плагинами — не сохраняются настройки.
  4. Но конечно же всегда можно сделать Pull Request! Но даже если бы я писал на этом языке, то не знаю, стал ли бы я делать. Потому что когда языки совпадали, я пулл реквестил аж в 5 проектов. В двух из них авторы до сих пор рассматривают их уже 2 года (хотя перед pull request'ом я с ними общался, они были не против изменений). Казалось бы, всё готово, им нужно только одну кнопку нажать и смержить изменения, но нет. В одном проекте исправил ошибку, но pull request тупо отклонили, сказав, что не хотим мы ваших исправлений. И только в двух проектах pull request'ы без проблем приняли.

    Выяснять отношения и годами просить принять pull request поднадоедает. Хочется просто взять, реализовать фичу, и всё, а не заниматься не пойми чем. Хочется заниматься именно программированием.
хм
  • вы перемещаетесь по коду стрелочками
  • «Выучить новый язык программирования» на уровне написания плагина непосильная задача

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

И самое главное — ради чего? Ради того, чтобы следующий человек пришёл и сказал «А где tab indent space alignment?»? Ну да, наверное, найдёт плагин в гугле. По факту плагин уже есть давно. Но работает плохо. +В Notepad++ не сохраняются настройки плагинов.
Не замечал такой проблемы. Может, это из-за того что программа с плагинами поставлена в папку Program Files запись в которую под правами пользователя по умолчанию системой пресекается.
UFO landed and left these words here
Должны, но приложение можно поставить и по старинке, оно будет всё хранить в своей папке получая каждый раз облом. А в новой винде есть ещё и прозрачный механизм переноса этих файлов в профиль для старых приложений, они не заметят подвоха. Может, механизм как-то неправильно работает — насройки исправно сохраняются, но плагины пытаются читать их по старому месту?
UFO landed and left these words here
Странно. Сам активно им пользовался и падений особо не припомню. Отказался как раз из-за невозможности работы с большими однострочными файлами (дичайше тормозил). Но если файл порубить предварительно на строки — вполне норм. Для нарезки использовал EditPlus2, он без проблем пережевывал 50+метров (больше просто не пробовал)
Я в читерскую бытность частенько открывал непотребные файлы текстовыми редакторами. Переживали такое немногие. Это было году в 2004 в расцвет WinXP и тогда много чего под винды отваливалось по разным причинам.

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

Интересно, за что Вас заминусовали…
Ну у джетбрейнс парсинг отдельным потоком или процессом

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

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

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

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

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

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

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

С одной стороны, да. С другой стороны, я помню, как четверть века назад притормаживала подсветка синтаксиса в Turbo Pascal 7 на компьютере «Поиск 1.04». Было примерно как сейчас у меня в браузере при комментировании этой ветки. Лагало, неприятно было, но работать было можно.
Checkit показывал, что быстродействие того «Поиска» было на уровне 0,5 от IBM PC XT (там был 16-битный проц на 5МГц, 608К ОЗУ, и программная эмуляция видеоадаптера IBM CGA). И там подтормаживала подсветка синтаксиса. Блин, но я никак не могу понять, почему она в некоторых IDE подтормаживает сейчас, на восьми 64-битных суперскаляных ядрах по 4ГГц каждое.
да. vim почти всегда шустро.
любопытно за счет чего
XML хороший пример, но в другом смысле. Среди читающих это есть некоторая доля программистов, некоторым из них приходилось парсить XML. Сколько из них пользовались XML DOM парсером, который по определению жрет память, а сколько гораздо более экономным XML SAX парсером? Вот то-то же, DOM настолько удобен для программиста, что в 99% процентов случаев ему прощали его цену. А из десятков таких нюансов и складывается общий оверхед.
На самом деле sax\dom — это фигня (хотя да, скорость там очень отличается). Недавно столкнулся с кодом, который на больших объёмах почему-то (только у клиента) дико тормозил. Практически экспоненциально! Т.е. для файлов в 100 кб вывод занимает секунд 10, а метр — уже к часу дело идёт. Начал разбираться. Оказалось файл формируется по шаблону, а шаблон тупо нарезается на блоки, из которых собирается файл. String.replace-ом. В итоге у разраба на машине с 16Гб оперативки всё работает, а вот у клиента с 2..4Гб моментально выжирается вся оперативка и дальше становится всё очень печально…

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

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

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


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

Абсолютно точно.
То ли в 2014, то ли в 2015 у нас налоговая приняла законы, по которым XML-ины электронной отчётности по размеру стали допустимы до 10гб (вроде бы с изначального «копеечного» лимита 10-100мб), так все решения на DOM'ах очень красиво посыпались, когда пошли клиенты с громадными «контролируемыми сделками» и «книгами для ндс». Потому что DOM одной только памяти жрёт х10 от размера файла, и если раньше (100мб-1гб) на это закрывались глаза, то на 100гб глаза уже не закроешь, не говоря уже о платформе х86.
Делал в те времена в системе электронной отчётности проект по уходу с DOM (легаси было крепко на него завязано, XPath и прочие плюшки активно использовались) на SAX в один пробег, с «эмуляцией» плюшек или обоснованным отказом от них — веселья было много. Теперь в резюме указываю тег XML, а на собеседованиях периодически посмеиваются, мол, что там знать-то, древовидная структура, теги/атрибуты и всё. Так-то оно да, но, как и в физическом мире, когда масса объекта пересекает определённые границы, проявляется много интересных эффектов, о которых даже не думаешь, щупая маленькие объекты.
Мы с этой проблемой лет на 10 раньше столкнулись. Объёмы тогда были не такие, но 50..100 метров на тех машинах тоже было не подарком.
UFO landed and left these words here
UFO landed and left these words here
Это сильно зависит от структуры документа. Бывают форматы, где есть ссылки из начала в конец, т.е. для обработки самого начала уже надо иметь доступ ко всему файлу. И загружать его всё равно придётся полностью. Так что никакое О(1) не отменит того, что грузиться оно будет медленнее и памяти занимать сильно больше. Причём второе — бессмысленно, т.к. программы обычно всё-таки не работают с самим деревом, а просто загружают его в свою структуру просто дублируя данные.
UFO landed and left these words here
В смысле? Чтобы сохранить ссылку нужно сначала распарсить весь файл и найти, куда ссылаться, т.е. нужна доп логика над парсером. Проще sax-ом обработать в один проход. А ещё ссылки бывают не только вперёд, но и назад. DOM для того и нужен, чтобы работать с рандомным доступом, без этого смысла в нём нет.
UFO landed and left these words here
Вот только вы, похоже, не учли один нюанс. В этом случае парсер(!) должен знать структуру конкретного файла, чтобы понимать, что является ссылкой, а что якорем. Что слегка убивает идею универсального псевдо-dom. Imho на этом этапе проще перейти к нормальному sax, это будет проще, чем морочиться со всей лишней логикой чтобы вкорячить сюда то, что тут не требуется. (троллейбус.jpg)
UFO landed and left these words here
Парсер просто выдаёт ленивое дерево нод

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


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

UFO landed and left these words here
Ок. Пусть fb2.
Есть док, у которого в самом начале ссылка на картинку с обложкой, которая лежит в конце. Когда клиент захочет сразу же отобразить обложку (ну он же работает с dom и уверен, что она уже загружена) вы предлагаете:
1. загрузить весь документ до обложки и работать как с обычным dom?
2. дропнуть всё до обложки а потом начать парсить сначала, когда клиент продолжит читать документ с начала первой главы?
3. ???
Когда клиент захочет сразу же отобразить обложку (ну он же работает с dom и уверен, что она уже загружена)
Даже если она уже загружена — поиск в нём долог и дорог. И да, сложить две строки — это тоже дорого и сложно. Как и выделить подстроку. И как изменить регистр. И как многое другое. Лучше всего про эту банальность (как и почти любую другую банальности) описал Джоел

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

У меня есть ощущение, что вина всему — то, что начинающие программисты больше не начинают с Бейсика на C64. Когда вы писали на языке, который был в 100-500 раз медленнее (не в 100500, а в 100-500 — это довольно точная оценка), чем тот же алгоритм в машинных кодах и при этом процессор у вас был частотой 1 (один) мегагерц… то увидеть, что операции со строками — таки медленные можно было почти что невооружённым глазом. А сейчас — сеньор-программисты об этом не подозревают… а абстракции… абстракции могут быть любыми — важно только не забывать, что все они — дырявые
Собственно на вопрос вы так и не ответили. Те, кто понимает, что dom — это медленно и дорого — его по возможности не используют, так что речь не о них. И при повторном чтении там будет совсем не чуть медленнее (тем более что построение dom уже само по себе весьма затратно). Да и речь вообще была о том, что просто так заменить dom на ленивый нельзя. А не просто так — почему сразу не использовать sax?
UFO landed and left these words here
Для ленивых — может быть. Для остальных — наоборот, меньше смысла, т.к. логика обработки меняется.
UFO landed and left these words here
Вы меня упорно отказываетесь понимать. Какие 2 прохода? Вы работаете с dom! В sax всё прекрасно делается за 1 проход. Речь не о нехватке памяти, а о дублировании в памяти всего документа в dom.

А если вы работаете проходами, то на кой чёрт вам dom, если всё равно алгоритм работы полностью меняется. IMHO ленивый dom имеет смысл только при простой последовательной обработке, когда очень лень эту обработку писать. Да и то по факту сильно проще там не станет.
UFO landed and left these words here
А в чём проблема? Мы же знаем, что картинка будет позже в добавим, когда дойдёт до неё дело. А вот работающие с dom такими вопросами обычно не заморачиваются, т.к. по идее всё дерево доступно полностью сразу.

Это всё хорошо, когда вы пишите редактор xml или сериализацию один-в-один. Но когда данные в памяти не соответствуют структуре файла (а обычно так и бывает) — их всё равно придётся преобразовывать. И когда это делать разницы нет. Хоть при обработке потока xml, хоть выгребая из дерева. Но первое быстрее и требует меньше памяти.
А вот работающие с dom такими вопросами обычно не заморачиваются, т.к. по идее всё дерево доступно полностью сразу.
Никогда оно не бывает «доступно всё сразу». если всем известные числа вспомнить, то легко понять, что переход к следующему элементу — это что-то типа 0.5 нс (обращение к кешу L1), у куда-то «вдаль» — что-то типа 100 нс. Разница — два порядка. И да, это в полностью распарсенном и загруженном дереве.
Всё-таки речь не о том, что они не бесплатны, а о том, что об этом никто не задумывается. Особенно с учётом того, что на загрузку там тратится на много порядков больше времени, чем на доступ. Собственно на фоне загрузки доступ уже можно считать условно бесплатным. Ну не считая случаев, когда загрузка засрёт всю память и мы будем работать со свопом. Это к обработке уже не относится.
Особенно с учётом того, что на загрузку там тратится на много порядков больше времени, чем на доступ.
Ой ли? А если прикинуть? Если доступ к памяти занимает 100 наносекунд, то на 10Гбит/с канале вы за это время загрузите 120 байт. То есть «много порядков» у вас будет только если ссылки из одного места в другое случаются пару раз в файле на мегабайт. Иначе — эти величины очень даже могут быть сравнимы.

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

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

Это к обработке уже не относится.
А у чему это, я извиняюсь, относится? Если вам дадут XL-файл гиг на 10 — что вы ним будете делать?
100 наносекунд, то на 10Гбит/с канале вы за это время загрузите 120 байт.

Да нифига вы за это время не загрузите. На один TCP-handshake куда больше времени уйдет.
Иначе — эти величины очень даже могут быть сравнимы.
В сферических условиях в вакууме всё может быть. В общем случае на больших файлах разница будет и приличная
А почему, собственно? Если у вас система на SSD, то обращение к своп-файлу вполне может происходить на скоростях в несколько гигабайт в секунду… а вот если нужен произвольный доступ — то там числа совсем-совсем другие, конечно…
В основном потому, что изначально задача была в частности «не засрать всю память». А если это неизбежно — то не полагаться, что программа всегда будет работать на машине с топовым ссд неограниченного размера или как минимум с 128Гб оперативки.

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

А у чему это, я извиняюсь, относится? Если вам дадут XL-файл гиг на 10 — что вы ним будете делать?
Для начала я выясню, что, собственно с этим файлом требуется сделать. И если нет задачи написать клон excel — обычно требуется лишь загрузка из него значений, для чего пихать весь файл в память нет совершенно никакой необходимости.

Если вдруг имелся всё-таки XML файл, то тем более. SAX-парсеру размеры файла совершенно не важны.
UFO landed and left these words here
Если доступ к памяти занимает 100 наносекунд, то на 10Гбит/с канале вы за это время загрузите 120 байт.
Это сравнение апельсинов с бегемотами. Сравнивать задержку доступа с устоявшейся скоростью передачи несколько странно.
Время есть время. Тот п#зд$ц, который мы тут наблюдаем в Хроме вот на этой самой странице с вероятностью 99% связан с тем, что кто-то исходил из логики: на загрузку там тратится на много порядков больше времени, чем на доступ… но применение этой логики достаточное число раз привело к тому, что… имеем то, что имеем то, что имеем: Chrome 54 — работает быстро, а «ускоренный» Chrome 69-70… вот так, как он работает…

А если произвольный доступ не нужен, то можно снова лениво стримить всё дерево в DFS-порядке, и мы вернулись в начало.
Не совсем. На SSD «ленивое» построение дерева приведёт, скорее всего, к ускорению. В оперативке — вряд ли. Но в случае, если человек считает, что произвольный доступ не стоит ничего и не учитывает того, что он, в общем-то, не так далёк от скорости работы сети… не поможет ничего!
UFO landed and left these words here
Я пытался объяснить, что вы используете сложный компонент с неизвестной внутренней логикой вместо быстрого и простого как полено, и при этом всё равно вынуждены использовать его как простой потому, как иначе не получится. Ну не смог и ладно…
А зачем парсеру знать структуру? Парсер — это синтаксис, структура — это семантика конкретных элементов.

Парсер же возвращает АСТ (ну, условно, в общем АСТ может быть произвольным графом, а не деревом)? АСТ — это и есть структура документа, разве нет?

UFO landed and left these words here
С трудом представляюю как на основе исходного кода можно построить синтаксический граф не в виде дерева. Внутренние ссылки, перекрёстные, циклические, рекурсивные и т. п. уже не относятся, как по мне, к синтаксическому разбору, это уже дальше этап разбора дерева.
Внутренние ссылки, перекрёстные, циклические, рекурсивные и т. п. уже не относятся, как по мне, к синтаксическому разбору, это уже дальше этап разбора дерева.

В лиспе АСТ является произвольным графом.

UFO landed and left these words here

Штука в том, что ридер-макросы не являются токенами, и в них вы можете производить произвольного вида вычисления. Например — взять кусок АСТ и замкнуть его самого на себя:
для
#1=(yoba . #1#)
получится бесконечный АСТ '(yoba yoba yoba yoba yoba ....)
можно сделать такой цикличный АСТ, отдать на евал и он повиснет, например, ну или построить граф любого вида.

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

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

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

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

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

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

Можно же просто написать свою. Я в начале этого года пытался писать свой браузер. Разбивку на токены и построение DOM реализовывал сам. И оно работает вполне шустро (правда, на очень больших файлах пока не тестил)
UFO landed and left these words here
Хм, библиотеку не помните, но уверены, что она обеспечивала O(1) по памяти? Звучит правдоподобно.
UFO landed and left these words here
Нелюблю аппл, но помню как хлопал в ладоши при подключении к клиенту пирса (файлообменник в Новосибе) с маковского Леонардо (или как-там) клиента, который сначала подключался, показывал чатик и позволял уже формировать запросы на поиск файлов, а в фоне отрисовывал всю чепуху с 30к пользователей онлайн… На старом компе под виндовым DC++ это занимало минуту, на новом — секунд 15… Даже оптимизировать ничего не надо, просто ненужную задачу выбросили в фон и нехай там хоть по 5 минут думает.

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

А в vscode как на этом же файле? Это ведь vscode сейчас как раз модно и молодежно.
Лучше чем Sublime (возможно от версии зависит). У меня саблим долго грузил и падал на файле 131МБ, а vscode свободно открыл (предупредил о возможных тормозах и предложил отключить подсветку, я не стал этого делать и так норм работает, только памяти выжирает не мало) и в отличие от n++ сворачивал и разворачивал огромные ветки/узды без особых тормозов (в n++ они были минутами).
Невероятно, но факт. МС 20 лет (!), начиная с Windows 98 заявляет, что-де «переписали большую часть кода с нуля на ассемблере» и т.д. и т.п. Но с каждым разом «переписанная» система становится всё больше, а детские глюки как были, так и остаются.
UFO landed and left these words here
Точно помню, что в те времена читал такое в журналах.
никогда они такого не говорили.
9x до самого своего упора, до ME, была допиленной 95 виндой на которую в 98 накатили IE4… да и закопали её потому что «переписывать» было себе дороже
Ну, я и сам так считаю и спорить не буду. Но точно помню слова про переписанный код, ассемблер, рост производительности и всё такое.
UFO landed and left these words here

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

Редкие посты получают 1000+ комментариев.
1000 комментов, каждый в среднем по 300 символов. Сколько это? 300 килобайт?
Килобайты особо непричём, скорее дело в количестве Dom нод и т. п.
Способ повесить ваш Chrome на минуту-полторы, если у вас x86:

1. Нажмите на этой странице Ctrl+U
2. Нажмите Ctrl+A на открывшейся вкладке
3. Кликните по выделенному тексту правой кнопкой мыши в любом месте
4. <>
5. <>
6. <>
7. Снимайте процесс, если надоело ждать.
У меня Firefox и он не подвесился, хотя реагировал не сразу (сотни миллисекунд).
Надо проверить, интересно. У меня в Chrome 45 всё встало «колом» :)

Прошло полгода — спустя минуту исходный код страницы так и не открылся...

UFO landed and left these words here
Мозилла той же версии — нормально, и даже подлагивает почти незаметно. Исходник открывал полминуты, после чего появились первые 240 строк, после чего остаток открывался еще полминуты.
Вивальди 2.5.1525.43 (64-bit)
Примерно так же. Единственно, исходник открывал почти минуту, зато открыл сразу полный текст.
Palemoon 28.5 x64
Конкретные лаги и фризы, до десяти секунд, на протяжении всех пяти минут проверки. Исходный код открыл очень быстро, секунд за десять, но догружал до полного все ту же минуту.
IE11 приятно поразил почти полным отсутствием лагов при прокрутке после загрузки страницы. Но дальше…
Дальше начались сначала фризы при вызове контекстного меню, потом попытку открыть исходный код после пятиминутного ожидания пришлось прерывать снятием задачи в таскменеджере, потом и окно браузера со страницей пришлось убивать через таскменеджер, поскольку никакой вменяемой реакции добиться уже не получалось.

Вердикт: за Palemoon обидно.
chrome 94.0.4606.61 — загружалась секунд 20. Но проблема не в этом. А в том, что после открытия исходного кода у меня зашумел и залагал весь ноут. Сейчас этот комментарий набирается со скорость примерно 2 символа в секунду. Тормозит жестко
Firefox ESR (78/15).
Страница грузилась секунд десять, комментарий набирается без проблем. Посмотрю, как будет отправляться, заодно поточнее хронометрирую скорость обновления.

UPD. Отправился коммент мгновенно, а вот полное обновление заняло таки двадцать две секунды.
UPD2 — но лагов не было никаких. Десктоп, седьмая винда, 8 гигов оперативки и i5-2320.
Почему 600? 1 символ UTF-8 занимает от 1 до 4 байт, а не ровно 2.

Речь про комментарии здесь, а они на русском. Русские буквы 2 байта занимают.

У хабра вроде есть приложение, где (наверное) можно хорошо оптимизировать отображение только нужной информации, для плавности.
А кто сказал, что сделать хорошее, быстрое и надежное приложение обязательно очень долго и очень дорого?
Вот тот же Web. Да, если каждый раз с нуля переписывать все эти библиотеки и фреймворки, то конечно. Только нужны ли они на 99% сайтов? Веб — это информация, текст, таблицы, картинки. Для этого всего вообще не нужен ни js, ни всякие библиотеки/фреймворки. уберите бессмысленное и бесполезное украшательство — и веб начнет летать на самых убогих компьютерах.
А там, где они нужны, как правило, хватило бы ресурсов и для написания «с нуля». Но незачем, ибо пипл и так хавает.
обычно люди которые так говорят, не занимались веб разработкой. Такие иллюзии достаточно быстро ломаются об реальность на больших проектах.
Реальность состоит в том, что никто не хочет и не будет переделывать всё с нуля на больших проектах даже если это спасёт планету от метеорита. Ещё реальность состоит в том, что с первого раза может получиться только случайно, а в большом проекте — никогда.
UFO landed and left these words here
Причем тут «хочет, не хочет».
Кто за это платит? По своему желанию переделываются только пет-проекты.
В случае больших проектов, переделать все это далеко не копейки.
Я никогда не работал в больших корпорациях, поэтому хотелось бы узнать, почему, например, когда я открываю Facebook.com как неавторизованный пользователь, страница занимает 6.16 MB и браузер отправляет 65 запросов? Наверное, дело в том, что форма регистрации использует AJAX-запросы и там всё «очень сложно»?! Ну, достаточно открыть страницу авторизации с «обычной» формой и полюбоваться «оптимизацией» — 3.75 MB и 37 запросов. Также, например, «оптимизирована» и главная страница Twitter.com — никаких форм с AJAX-запросами, однако размеры страницы составляет 2.41 MB, и браузер отправляет 18 запросов.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Действительно, сверхпопулярные компании могут позволить себе очень многое. И если они изначально работают над привлечением новых пользователей, то став популярными, чаще всего в первую очередь они думают, как извлечь максимальную прибыль. Как монополисты они уверены, что пользователи никуда не убегут, а значит, они могут творить любую дичь. Правда, некоторые из них (например, IE, ICQ, MySpace, Yahoo) поплатились за это.
А что в своё время натворил MySpace? Я туда заходил 2-3 года назад и был в полном восторге — и от дизайна, и от того, насколько сайт был шустрым и минималистичным.
Это сейчас он «шустрый и реалистичный». Потому что у разработчиков нет ресурсов, чтобы рюшечек навешать. А когда Facebook «взлетел» примерно 10 лет назад — всё было наоборот.

Дорога ложка к обеду. Очень хороший пример тут — OS/2 и Windows. Когда в 1992м вышла OS/2, которая требовала 8MB, а на 4MB еле «шевелилась», то народ выбрал вышедшую тогда же Windows 3.1, которая сносно работала на 1MB, а на 2MB «летала». IBM вложила кучу ресурсов и в 1994м выпустил OS/2 Warp, которая более-менее работала на 2MB, а на 4MB — так вообще хорошо. Про неё начали потихоньку говорить, но через полгода — вышла Windows 95, которая требовала уже 4MB, а для приличной работы — 8MB… казалось бы должен был быть провал? Но нет: за 3 года ситуация с памятью изменилась и те 8MB, которые в 1992м казались чем-то запредельным в 1995м уже перешли в категорию «дорого, но терпимо»… а зато у Windows95 была куча программ, которых у OS/2 не было…
Я напомню, что Фейсбук непосредственно заинтересован, чтобы им пользовалось как можно больше людей и не будет специально делать так, чтобы ухудшить динамику регистраций или логинов.
Еще напомню, что эта компания стоит сотни миллиардов и каждый день ее сервисом пользуется больше миллиарда человек и этого бы не было, если бы они разгильдяйски относились к таким важным элементам, как главная страница сайта.

Я не встречал ни одного человека, который бы сказал что ему нравится дизайн и функциональность фейсбука. Ни в России, ни в Европе. Пользуются им все просто потому что им уже пользуются все и чтобы с него уйти нужно, во-первых, найти куда, а так как все пользуются ФБ, то адекватно развитого ничего и нет, во-вторых, переманить туда всех нужных знакомых, что тоже титанический труд, человеку проще ничего не менять и плеваться чем напрягать мозг и совершать какие-то действия, а в-третьих, нужно придумать что делать с новыми знакомыми и всякими группами которые тоже будут по умолчанию в ФБ. Так что пока этим поделием в принципе можно будет пользоваться — им будут пользоваться все. Это никак не говорит о том что они знают что делают. Более того я знаю больше одного человека, которые из-за всего этого бреда в ФБ отказались от него несмотря на все перечисленные пункты.
На самом деле вы оба правы. Facebook, конечно, знает что делает, но… не сегодняшний Facebook. Хочу напомнить, что Facebook — далеко не первая социальная сеть, до него были MySpace, Orkut и другие. А знаете что с ними произошло? Их обошёл маленький и шустрый (в те времена) Facebook. А потом… потом менеджеры в Facebook выяснили что «рюшечки» привлекают пользователей! Процесс идёт по накатанной схеме. В результате в какой-то момент вы имеете кучу пользователей, которых привлекли на начальном этапе (и ненавидящих современный Facebook), пользователей которых «зачинатели» привели и тех, кто фанатеет от рюшечек и кому пофигу что они тормозят. Тут вы имеете максимальную капитализацию, аудиторию и прочее. Но эта ситуация неустойчива: в какой-то момент, после очередного раунда «добавления рюшечек» всё начинает тормозить настолько, что люди начинают уходить. И если этого не осознать и добавить «рюшечек» ещё — то всё начнёт рассыпаться: вначале уйдут первые (ценившие скорость), потом вторые (так как ушли первые), а потом и ценившие «рюшечки» не захотят в «пустом доме» жить. Но Facebook'у пока удаётся балансировать «на грани»: периодически он всё-таки занимается оптимизацией своих страниц, в результате такого коллапса, как, скажем, у Orkut'а не происходит.
Позвольте сообщить, что супер-профессионалы из супер-прибыльной компании не оправдывали Ваши слова: habr.com/ru/post/444766
Крупные корпорации это всегда бюрократия. Не исключено, что какие-нибудь маркетологи решили, что именно страница логина должна принять на себя удар по перфомансу и сразу подгрузить всё, что нужно юзеру, чтобы после логина он на доли секунды быстрее увидел свою вожделенную ленту новостей.
Можно ещё вспомнить «модемные» времена и Мейл.ру, чья страничка весила килобайт 50. И при этом работала, письма писались, отправлялись. Понятно, что сейчас там и форматирование и всякая живая загрузка. Но, страница выросла мегабайт до 5, если не больше, то раз в 100. Но удобство (как ни измеряй;) и скорость в 100 раз не выросли.
Че-то вы загнули… 1.1МБ на странице авторизации ФБ
Заголовок спойлера
image
Chrome показывает размер сжатых данных. Активируйте «Use large request rows», чтобы увидеть реальный размер.

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

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


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

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

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

Это нет так. Реальную память занимает *результат* исполнения кода, а не исходный текст. Короткий код может легко занять много памяти, достаточно насоздавать много объектов в цикле.
Если это делает ДАЖЕ короткий код, сложно представить на что способно большое количество кода.
На самом деле, как ни странно, сложно. В частности в одной из программ, в которой я переделал один модуль, сложную систему объектов была заменена на заранее просчитанную таблицу. Модуль на 200K стал модулем на 1M, но зато таблица на пару мегабайт перестала строиться при запуске — что улучшило время запуска (сильно), скорость работы (заметно), и потребляемую память (вдвое). Уменьшился даже запакованный образ дистрибутива, пострадало только место на диске (но это для нас был самый некритичный параметр).
> сложно представить на что способно большое количество кода

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

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

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

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

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

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

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

Он крашится если вкладка загружает больше 13 мегабайт? Чего? Диска или памяти?
Одни фотки сейчас весят по 2-3, если не больше. Может вам надо обновить телефон?
А не поздно писать обличающие статьи, если потребители уже считают происходящее нормой?..
Зря вас заминусовали. Да, телефон надо обновить, вы правы. Эта модель вышла летом 2011-ого. Но парадокс в том, что вплоть до весны-лета 2013-ого года всё работало более-менее сносно (в 2012-ом так вообще летало). Вы полагаете, тогда фотки весили сильно меньше? За счёт чего?

Оффтопик
Первый сайт, на котором я испытал вылет — сайт сети кинотеатров «Формула Кино»… Оказалось, что проблема была в том, что они встроили на сайт видео трейлеров к фильмам. И они, даже не запускаясь, крашили браузер на середине загрузки страницы, если не нажать «стоп». Это было ещё году в 13-ом. Сейчас вылетает вообще на 90 процентах сайтов (исключая мобильную версию вк, форумы типа 4pda и ещё несколько хорошо оптимизированных под мобильные телефоны порталов).

Краш скорее всего был по оперативной памяти. Наверное, не на 15 мегабайтах, а на 40-50 (это вроде предел для одного приложения в Андроид 2.3), при доступных 150 мегебайтах всего на все приложения в сумме. Это число я написал по ошибке, перепутал с размером кэша после вылета.
FB скорее всего так делает, чтобы заранее прогрузить в кэш или даже запустить выполнение тех скриптов, которые потребуются после авторизации.

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

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

Embrace, Extend, Extinguish нового поколения.
Это либо вина либо менеджмента гугла в плохой поддержке браузеров с 10% рынка суммарно, либо разрабов которые пишут код на плохо полифилящихся технологиях, которые только один браузер поддерживает, либо и тех, и других.
А разгадка проста — из-за сильной интеграции с другими сервисами гугла, в первую очередь с андроидом, гмейлом пользуются все и писать они могут практически любой говнокод. Сравните даже хотя бы с яндексовой почтой.
UFO landed and left these words here
UFO landed and left these words here
Да не стояло там ничего на месте. Во-первых, была прекрасная и весьма шустрая Опера (2004-2008 если берём). Во-вторых, Firefox был не так уж плох (хотя и медленней, но не медленней, чем IE, а ещё намного безопаснее и функциональнее). Так что конкуренты не просто были, они развивались. И IE тоже развивался. Вспомните 5.5 в Win2k, и сравните с 7.0 и 8.0. Совсем разные вещи
UFO landed and left these words here
Почему это был не его изобретатель

Изобретатель чего, 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 оно всё ещё работало).

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

А что именно было с реализациями криво? Про CSS тех лет я почти ничего не знаю. Ну то есть знаю поведение IE7-8, немного — IE6 (тестил на нём один свой проект ради спортивного интереса). Остальное мимо меня прошло.
Больше всего запомнилось, что размеры блока разные браузеры по разному понимали. Современным языком говоря было разное значение box-sizing и управлять им нельзя было. А pixel perfect тогда было обычным требованием, буквально принимали вёрстку диффом скриншота и макета
UFO landed and left these words here

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

UFO landed and left these words here
UFO landed and left these words here
значит они вовремя поняли, что интерфейс должен быть не настраиваемым, пошли так сказать по пути Эппла
UFO landed and left these words here
эээ… дефолтный интерфейс должен быть удобным… а все эти " в новой версии мы вам дадим мильон новых тем" вызывают тяжелый вздох…
Так его уже объявили deprecated
Вопрос — а нафига он вообще нужен? Без него интерфейс просмотра писем не сделать?
Конечно не сделать. А SquirrelMail вообще никогда не существовало.
Для того, чтобы судить о вкусе блюд, необязательно быть поваром.
И не надо про эти ваши «большие проекты». Реальность в том, что именно «большие проекты» в большинстве случаев нафиг не нужны, их лепят вместо простых сайтов с текстом и картинками потому что это «стильно, модно, молодежно», а не потому что необходимо.
а не потому что необходимо.

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


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


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

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

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

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


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

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

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

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

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

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


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

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

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

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

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

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

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

UFO landed and left these words here
попытка ошибкой выжившего оправдать неверную логику?

При чем тут ошибка выжившего? И логика вполне верная.

UFO landed and left these words here

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

UFO landed and left these words here
Доказывайте.

Зачем? Это очевидное для любого пользователя интернетов в 2018 наблюдение. С-но, именно это наблюдение стало причиной появления обсуждаемой статьи. И 2к комментов к ней. Вы сейчас будете придуриваться и делать вид, что всего этого нет? Ну если нет — то и обсуждать нечего, сайты быстрые, весят мало.


А не те, которым не казалось, а когда достигли успеха — стало казаться.

А какая разница, стало или было? Это совершенно несущественный фактор.

UFO landed and left these words here
Итак, если бизнес достиг не думая, сейчас сидя на достигнутом стал думать, то успех и думанье за — никак не связаны.

Так никто и не говорит, что успех связан. Речь не о том.


Речь о том, что либо те, кто занимается успешным бизнесом — умные люди, и, с-но, если они считают правильным вешать на сайты свистоперделки, а Am0ralist не считает, то это потому, что они знают что-то такое, чего не знает Am0ralist.
Есть второй вариант — на самом деле отбор отрицательный, с-но условный Ларри Пейдж — тупой. Именно потому что он тупой, он и стал миллиардером (и остальные тоже). Из-за своей тупости он любит свистоперделки. А вот Am0ralist — он умный. По-этому он свистоперделки не любит, он знает, что все это просто каргокульт. И по той же причине миллионов Am0ralist не заработал — для этого надо быть тупым. Как Ларри.
Ну и третий вариант — все это просто такое большое совпадение.


Вариант по душе выбирайте уже сами.

UFO landed and left these words here
Зачем бизнес в это деньги вкладывает, если это ничего не дает?
За 4 года Webmoney сделали редизайн, по-моему, 6 раз, или даже 7. Зачем — непонятно.
За 4 года Webmoney сделали редизайн, по-моему, 6 раз, или даже 7. Зачем — непонятно.
Не только Webmoney, но и много крупных банков и магазинов часто меняют дизайн. ИМХО это сильно раздражает постоянных клиентов, которые привыкли к прежнему. ИМХО многие начальники, принимающие решения, просто не знают основ психологии, а исполнителям нужно показывать свою необходимость делая ненужную работу.
ИМХО многие начальники, принимающие решения, просто не знают основ психологии
Они как раз либо знают, либо догадываются.

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

Я в курсе, что есть новые тренды. Но тут получается массовый «вирус» — 25-30 процентов сайтов делают редизайн (не обязательно самые крупные), они становятся «модными и современными», и остальным уже как-то неловко оставаться со старым — в частности, они боятся, что новые клиенты начнут не так охотно прибывать :)
Но новые появились бы и без смены дизайна, разве нет?
Статьи на Хабре и в других издания, шумиха в разных соцсетях и прочем. Ну а дальше — работает правило «не важно что о тебе говорят, лишь бы фамилию правильно называли».

Конечно тут важет факт редизайна, а не его тормоза, но… тут уж как получается…

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

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

Причём как раз некоторый парадокс в том, что айтишникам это очень тяжело понять, так как очень многие их них скорее готовы прослыть «немодными», тем мучиться с неудобной одеждой… но ведь людей, «следящих за модой» — куда больше.
Мода тоже часто заставляет носить одежду, которая откровенно неудобна, а иногда и опасна для здоровья.
ИМХО с модой сложнее см. Википедию:
Сегментами рынка модной индустрии являются категории, на которые подразделены различные марки и бренды, в зависимости от своих параметров — качества изделий, способа выпуска коллекций и ценовой политики производителя
Есть «Высокая мода», «Средний ценовой сегмент», «Массовые марки». В свою очередь в них есть под-сегменты.
Просто у них нет задачи понравится всем и каждому.
Не всем и каждому, а удержать постоянных клиентов. Нпр., если клиенты массово забирают вклады из банка — он может рухнуть.
И если старые пользователи ворчат, но не уходят,
Обычно уходят. В развитой экономике есть большой выбор. И внутри одной структуры часто бывает выбор. Нпр., операции по банковскому счету можно делать он-лайн, а можно в отделении. Если клиентам неудобно он-лайн, они будут использовать отделения банка загружая работников, а эффективность сайта упадет. Многие магазины торгуют не только по сети. Будет больше покупок вживую, больше заказов по телефону, а прибыль через сайт упадет.
Недавно АкБарс Банк замутил редизайн интернет-банка. Был довольно простой и кондовый как топор. Стал весь такой плоско-модный, с ненужными анимациями, блеклыми надписями, странными мелкими размерами шрифта (и как ни странно, чем важнее информация, тем мельче) и как следствие огромными пространствами между строками. Тихий ужас. К счастью, сделали кнопочку «Старый дизайн», но наверно скоро уберут.
UFO landed and left these words here
В развитой экономике при достаточной конкуренции малая и средняя фирмы не выживут при плохих решениях. К сожалению, большие компании, которые почти монополисты, могут позволить себе значительные убытки от неоптимальных решений.
UFO landed and left these words here
Встречал в литературе мнения, что ОС Dr DOS была в свое время лучше, чем MS DOS, что C++ не стал бы столь популярным, если бы MS Pascal не сильно уступал турбо паскалю и VBA бы не было. IE был не лучший браузер. MacOS 7.x сильно превосходила W-95 и W-98, но тут в случившемся кризисе виновата прежде всего Apple Computer, Inc… Нпр., ценовой политикой: мышь для мака стоила целых $60US, в то время как мышь для РС только 8.
PS Слышал мнения, что большой успех Явы был обусловлен мощным PR, а не только достоинствами. Однако, все подобные утверждения непроверяемы: история не имеет сослагательного наклонения.
Попробую ответить на ваш вопрос. Причин тут несколько:
1) решение «добавить вот эту рюшечку» обычно принимается не программистом, а каким-нибудь продажником или маркетологом (по крайней мере, в случае малого и среднего бизнеса, а не контор уровня Facebook), большинство из которых — это гуманитарии из тех, что называет процессором системный блок. Соответствено, о том, что это повлияет на скорость, они просто не думают.
2) у программиста, реализующего это решение, обычно не хватает либо квалификации (просто не знает, как сделать ту же асинхронную загрузку или догадаться повесить подгрузку скрипта на подходящее событие), либо времени (когда задача ставится в духе «это надо было сделать вчера, а ты тут собираешься еще два дня с оптимизацией возиться»), либо мотивации («зачем тратить усилия и оптимизировать, если все равно никто этого не оценит толком»).
3) выросло поколение пользователей, которое толком не знает, что такое по-настоящему быстрые сайты, и сложившуюся ситуацию воспринимает как норму (поэтому и не уходит к конкурентам, даже если они есть).
4) отношение к пользователю как к слепому и умственно отсталому существу, которое неспособно самостоятельно найти кнопку «подписаться» или «задать вопрос» и его необходимо потыкать мордой в баннер на полэкрана.
5) всеобщее убеждение, что программа или сайт должны постоянно обновляться вместо «хорошо сделанное и выполняющее свои задачи ПО в обновлениях не нуждается» (кроме разве что исправления уязвимостей в безопасности, если таковые будут найдены).
Имхо, никто не мешает публиковать хороший контент и быстрым сайтам без рюшечек (такие есть, и это не только старенькие форумы в классическом дизайне)… Другое же дело, что таких сайтов очень мало.
UFO landed and left these words here
Так не поиском единым. В том-то и дело, что даже очень хороших и красивых сайтов с рюшечками — больше чем на одну страницу выдачи, и на первую страницу все попасть не смогут. Кто-то всё равно проиграет в этой борьбе.

А те, кто без рюшечек — должны искать посетителей иначе. Своё ядро преданных пользователей, сарафанное радио. Я вот вспоминаю, многие паблики в вк вроде «Подслушано» в начале своего пути так развивались. А вовсе не через поиск, рекламу или оплаченные посты в других сообществах.
Солидные научные сайты (нпр arxiv.org ) и Википедия без рюшечек. ИМХО наука должна делать погоду в IT. К сожалению, не все берут пример с научных сайтов.
Согласен с вами целиком и полностью! Жаль, плюсануть кармы не хватает. Впрочем, это частный случай более глобальной проблемы «жаль, что наука и научный подход лишь в малой степени определяют жизнь людей».
UFO landed and left these words here
Гмейл выиграл не потому, что он свистит на компьютере пользователя.
Как раз за счёт этого. В 2004м, когда он появился большая чем почты в браузере была на обычных формах и потому работала гораздо медленнее, чем AJAX-подобный GMail…

Конечно в современных реалиях быстрого интернета и многомегабайтных страниц GMail'а разница невелика — но тогда GMail был меньше, а «обычная почта» — тормознее.
UFO landed and left these words here
И оно не свистело. Оно было удобно и по делу.
Так всегда бывает. Вначале добавляются фичи, которые реально удобны (AJAX позволил резко снизить задержки), а потом, через несколько лет — получаем монстра.

Во многом и Chrome был рождён из-за того, чтобы GMail-подобные сайты можно было писать не опасаясь добавить пару строк JavaScript'а… ну а потом, как и везде — оптмизаторы V8 упёрлись в возможности железа, а астронавты продолжили решать несуществующие проблемы…
Так оптимизаторы упёрлись в попытках оптимизации. Вопрос, зачем было пихать столько фич и свистелок, чтобы это в итоге начало тормозить? Причём это вопрос не только к Хрому. А также к авторам всё новых и новых стандартов (которые часто сначала добавляли, потом выпиливали, потом снова добавляли спустя год уже в другой версии).

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

Тогда почему я так мало где его вижу?

CSS Grid был бы полезным

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

Flex позволяет наконец нормально верстать

Вот здесь поподробнее, плиз. Чем до этого было не нормально?

И кстати с корректностью отображения у этой технологии всё плохо. Я молчу про Оперы на Presto, которые не умеют Flex, потому что его ещё не было, и Хромы версий до какой-то там. Но ирония в том, что даже в Firefox дизайн, сделанный на Flex-ах, безбожно корёжится аж до версии 51 включительно (она вышла, на минутку, не так уж и давно). Если кто не верит — можно открыть Twitch с помощью сервиса-эмулятора, позволяющего просматривать сайты в разных версиях браузеров под разными ОС.

Как по мне, при такой вёрстке как минимум меньше контроля над происходящим (хотя всё ещё можно корректировать огрехи расположения с помощью position: relative, но получается, что эти корректировки ещё и должны быть browser specific).
> По крайней мере для тех, кто пос старинке верстал на блоках.

Дожились, я думал по старинке это на таблицах…
UFO landed and left these words here
WebRTC, например, единственная возможность получать realtime аудио с сервера сейчас, когда Flash по умолчанию выключен в браузераx. HLS даёт задержки 20-30 секунд что бывает неприемлемо.
Фейсбук выиграл не потому, что у него пердящая форма авторизации. Гмейл выиграл не потому, что он свистит на компьютере пользователя. Ну и так далее.

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


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

UFO landed and left these words here

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

UFO landed and left these words here
Переключил GMail почту на упрощённое HTML отображение. Грузится мгновенно. В отличии от стандартного интерфейса, для которого даже прогресс-бар загрузки в виде логотипа сделали.
Это всегда так было. Даже в 2004м. Но раньше основной интерфейс, после загрузки, «летал». А теперь… увы…
Не скажите. Тот же ВК, например, если брать клиентскую часть — практически оригинальный продукт (до редизайна точно, да и после процентов на 70-80).
Веб — это информация, текст, таблицы, картинки.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Что до компактности, то из-за неё сложность исполнения кода браузером увеличивается если не на порядок, то в разы, также растёт и количество потребляемой памяти: например, известный факт что движки обычно работают с синтетическими объектами событий (заворачивая внутрь них обычные как одно из полей), оборачивают HTML элементы в специальные объекты, возвращая результаты из функций-селекторов, и так далее).
UFO landed and left these words here
Насчёт совместимости: браузеры постоянно обновляются, языки тоже. Написав свою библиотеку один раз вы всё время должны будете её поддерживать.
Иногда глупо не добавлять jQuery для подобных вещей, только потому, что jQuery порой более стабилен большинства известных браузеров.
Вот из-за подобных мыслей сайты и тормозят. Опытные разработчики возьмут и просто напишут нужный transition на css и добавят will-change для фонового пререндера и выноса этой анимации в отдельный слой, чтобы не перерисоывавать всё, когда что-то будет меняться. Это всё будет работать на GPU и не тратить процессорного времени и работать будет моментально, и не будет жрать лишнего, т.к. браузер знает что будет анимироваться, а что нет.

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

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

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

В любом случае визуализация должна быть на стороне css — это точно, а на JS уже бизнес-логика. Если ваш calc только для позиционирования элементов, то не вижу ничего страшного в этом, сам с недавнего времени начал активно его использовать и не понимаю теперь как жил без него.
"… препроцессоры с миксинами, функциями, инклудами и прочими штуками" превращают понятный CSS в нечитаемай без дополнительных телодвижений код.
Ну да. Их назначение — брать код, нечитаемый даже с телодвижениями и сделать его кодом, читаемым с дополнительными телодвижениями.
Не забывайте jQuery — это в первую очередь более-менее удобные селекторы, ну а во вторых, если следовать вашей логике, то сперва надо написать свою ОС, потом свой браузер, а уже потом если все таки жизни хватит, писать нормальную анимацию)
А что по этому поводу говорит автор в статье? Тоже предлагает ОС свою написать?

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

Конечно, есть и другие критерии. Например, дополнительные абстракции ради снижения сложности поддержки ПО. Как раз тот из вариантов, когда JQ можно использовать для селекторов. Хотя, лично я в этом вижу не слишком много смысла, благо 2018год на дворе и давно есть querySelector, но мнение имеет право на существование.
Я бекенд программист, по этому лично для меня, написание нативных решений js, в любом случае подразумевает дополнительные затраты по времени. Автор предлагает улучшать все, где мы имеем счастье(и/или несчастье) работать, так почему бы (следуя этой логике) не начать с главного (ос), а потом уже про jquery поговорим отдельно…
Тут есть такая тонкая грань, где использование JQ обосновано, а где нет. Часто пишут велосипеды, вместо того, что бы использовать готовое, часто наоборот. Решать где нужно что-то писать с нуля, а где нет — опыт и зачастую чисто субъективное.
Тут есть такая тонкая грань
Даже 2 грани. Можно взять готовый код, описание алгоритма и сильно переработать под свою задачу (это будет не с нуля), но иногда вставляют как есть.
по этому лично для меня, написание нативных решений js, в любом случае подразумевает дополнительные затраты по времени

Вы полагаете, изучить и научиться применять на практике такую большую библиотеку, как jQuery (пусть и не самую сложную из тех что есть), будет быстрее? Тут смотреть надо
UFO landed and left these words here
Но ведь удобные селекторы теперь есть из коробки с приходом querySelector и querySelectorAll в HTML5… Или jQuery умеет что-то ещё в этом плане?

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

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

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

UFO landed and left these words here
на мобилках уже есть 100 Мбит?
UFO landed and left these words here
С 10-50 соседями на каждом канале.
Или, едва добиваещемуся 5 ГГц в соседнюю комнату.
UFO landed and left these words here
В Москве и Петербурге до 139Мб/с выжимал на 4G+ с Йотой. В среднем 50-70 где-то в центре города.
Ну у меня 400 КБ/c. Попробовал открыть страницу с этой статьей в приватном режиме, в первый раз 16 секунд, во второй 10. В этих условиях мне удобнее предпросмотр на js.

Если на каждой странице будет по iframe со своей разметкой на каждое действие, то мне кажется ресурсов это будет занимать еще больше. Вместо 20 вкладок в памяти браузера будет 60-100. А если и нет, все равно это менее удобно, почему и стали делать на js.
А может не надо пихать на каждую страницу комменты и т.п.? Не?
Тот же Хабр в данном случае исключение, здесь комменты могут быть даже интереснее статей. Но в подавляющем большинстве случаев комменты прямо на странице нафиг не нужны, а вот малый вес и быстрая работа еще никому не вредили. Хотите пообсуждать — вот вам ссылка на форум. Легко и просто, но не модно, это да.
А причем здесь именно комменты? Создание информации не только из комментов состоит. Валидация форм, подгрузка элементов списка по фильтру при вводе, скрытие/показ элементов по условию. А еще есть бэкенд, который все это обрабатывает. И это все надо написать и потом поддерживать.

Критикуешь — предлагай. Если это легко и просто, покажите, что сделали лично вы и сколько времени на это потратили, без js и библиотек/фреймворков. Причина идет из создания кода, а не из моды. Я этим занимаюсь, и утверждаю, что не легко и не просто.
Я говорю о конкретной и при этом самой распространенной категории сайтов. Таких сайтов, которые были практически единственными на заре веба. Сайтов информационных, на которых контент генерирует только автор сайта. Где пользователь только просматривает его. Поэтому там не нужно ни форм с валидацией, ни прочего. Но где все это навешивается, потому что у 100500 других сайтов такое есть.
В конце концов есть простое и абсолютно элементарное решение — кнопка или ссылка, по которой пользователь переходит на страницу, где вы можете хоть гигабайт жабаскрипта навешать. Хочет какой-то пользователь пострадать — пусть страдает. Не надо делать тормозные страницы, только из-за того, что кто-то захочет что-то прокомментировать.
И даже на более интерактивных сайтах можно что-то такое придумать, чтобы страницы, где 99,99% пользователей только читают, не загружали весь мусор, необходимый для интерактивного взаимодействия.
UFO landed and left these words here
Перестаньте уже сравнивать все подряд с фейсбуком и хабром (а также ютубом, гмейлом, твиттером и т.п.).
Сайты на которых интерактивное взаимодействие — основная, критическая часть функционала — это одно. Где совершенно необязательная — совсем другое. Но вторые почему-то маниакально изображают из себя гибрид фейсбука с твиттером.
Я говорю о конкретной и при этом самой распространенной категории сайтов. Сайтов информационных, на которых контент генерирует только автор сайта.

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


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

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


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

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

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

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

Примеры?


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

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


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

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


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

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

Примеры?

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

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

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

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


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

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


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

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

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

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

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

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

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

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

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

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


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


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

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


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

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


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

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


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

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


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

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


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

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

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

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

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

Так речь же о том что на фреймворке у конечного пользователя тормоза начнутся.
Речь была о том, что убрать фреймворки легко и просто, потому что они низачем не нужны, кроме моды. Я объяснил, что это не так. Есть выбор — уменьшить стоимость разработки (время и деньги), добавив тормозов конечному пользователю, или наоборот. Обычно выбирают первое.
UFO landed and left these words here

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

В обёртку — это как? come_block — Это и есть собственный класс в примере выше)
<button class="display_inline_block come_block"></button>

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

А, не понял вас. Да, поехать теоретически может. Добавление/удаление каждой кнопки по-хорошему надо будет тестировать на обеих версиях. Я просто имел в виду, что класс самой кнопки останется без изменений, и правила для неё тоже.
UFO landed and left these words here
На сайтах может и не нужны, но сейчас веб это не только, а может и не столько сайты, сколько распределённые приложения, а браузеры — среда исполнения толстых клиентов.
Но автор же предлагает не переписать абсолютно все с нуля или начинать писать не используя чужие библиотеки и фреймворки, а хотя бы не городить по верх и так уже раздутого кода еще и свою халабуду из такой же «эпоксидной смолы» и палок. А на счет расширения штата разработчиков — тут вообще не понятная ситуация, когда команды/компании набирают сначала овер дохера менеджеров, чтоб продать продукт на который код еще и писать то не начали, а потом еще и выясняется, что на разработчиков ничего уже не осталось из заложенного бюджета.
Недавно как раз одна компания отчиталась о превышении некоего лимита впервые в истории.
Думаете не хватает на разработчиков?
А причём тут ядро, система может быть одна, просто вместо интерпретируемых языков для прикладных приложений будут снова использовать компилируемые. И делать сайты без тонны JS и с серверным рендером тоже можно. Всего-то должна пройти мода на одностраничники.
У серверного рендера есть свои недостатки на перспективу. Если проект имеет в будущем шансы на интеграцию со сторонними приложениями, нужно будет проектировать и писать API. На старте проекта можно сделать единый механизм для веб-фронтенда и приложений, а рендерить на клиенте, и таким образом не делать двойную работу.
Только вот большинство сайтиков никогда ни с кем не интегриуются…
Но страдать пользователей от тормозов теоретической будущей интеграции заставляют уже сейчас.
Ну так совсем не обязательно реализовывать на клиентской стороне функции, не нужные браузерному приложению.
Так дело же не в том, что для получения хорошего софта надо платить в сто раз больше. Надо платить, условно говоря, на 20% больше, чтобы решить 80% проблем. Этого достаточно.
Мы пользовались софтом, который работал на компьютерах в сто раз медленнее нынешних смартфонов, при этом он был значительно более функциональный, отнюдь не стоил космических денег для пользователя, а разработавшие его программисты были ничуть не менее богатыми, чем современные. Так что проблема отнюдь не в том, что для разработки более качественного ПО нужно намного больше денег.
UFO landed and left these words here
Да что угодно возьмите. Сравните функционал почтового клиента конца 1990-х годов и того, что в вашем телефоне. Сравните ваш просмотрщик электронных таблиц и Excel, который весил меньше, чем калькулятор у вас на телефоне.
Кстати да, Слак никогда не будет уметь того, что умеет kvirc, например.

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

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

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

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

При желании, этот список можно продолжать еще долго.
UFO landed and left these words here
Так речь в том числе и о мобильных приложениях, некоторым из которых с десяток лет, но развиваются они странно с точки зрения пользователя и программиста — фичи выпиливаются, а добавляются рюшечки.
Вот пример одинакового: функционально Ексель97 и Ескель2016 если и отличаются, то как раз не существенно для 80% пользователей. Но скорость и качество работы… Про размер дистрибутива я вообще скромно умолчу.
Есть нюанс — скорость работы на современном железе как раз в 16 выше. Да, интерфейс тупит, но когда надо 100500 формул считать (а эксель это в первую очередь мегакалькулятор, а не блокнот с ячейками) — 2016 будет сильно впереди. Ситуаця ровно как с фотошопом — в операциях, важных для профессионалов, новые версии сильно быстрее. Просто не всем это нужно, и в отличие от экселя, быстрые маленькие замены для фотошопа есть.
Функционально он мало отличается при использовании в качестве калькулятора. А так в каждой новой версии появляется несколько полезных конкретно мне фич. Тоже автосохранение, интеграция с облаком и совместная работа появившиеся в версиях 2016+ резко повысили комфорт работы, особенно с нескольких компьютеров и более чем одним пользователем.

Скорость работы именно программы выросла — Эксель научился нормально использовать многопоточность для расчетов (сравнивал 2016 на десятке с 2013 на семерке).
Либреофис отстаёт очень сильно, и может служить нормальной заменой только для относительно простых задач.
Скорость работы именно программы выросла — Эксель научился нормально использовать многопоточность для расчетов (сравнивал 2016 на десятке с 2013 на семерке).
Вот это, пожалуй, первое реально полезное добавление после MS Office 2000. Хоть кто-то что-то может назвать.

совместная работа появившиеся в версиях 2016+
Тоже интересно.

Но, заметьте, обе этих вещи отсутствовали в MS Office 2000 в силу полнейшей бессмысленности в тогдашних реалиях, а не потому что разработчики не могли их реализовать… и совершенно неясно почему эти вещи нельзя было добавить сохранив быстрый и отзывчивый интерфейс…

Либреофис отстаёт очень сильно, и может служить нормальной заменой только для относительно простых задач.
Возможно. Я не нагружаю его так сильно, чтобы меня нервировало отсуствие многопоточности — а вот то, что MS Office изображает на экране «патоку» даже на 24-ядерной машинке… меня раздражает…
> в силу полнейшей бессмысленности в тогдашних реалиях

Ну в начале 2000-х как минимум одноранговые локальные сети были нормой, а многие даже небольшие компании и домен на в2к поднимали. И терминальные серверы тогда же или чуть позже (в в2к3) в массы пошли.
Ну в начале 2000-х как минимум одноранговые локальные сети были нормой
В одноранговой сети совместное редактирование документов не нужно. Если уж так хочется вот прям одновременно вдвоём редактировать — проще взять стульчик и сесть вдвоём у одного компьютера. Правда-правда, попробуйте.

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

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

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

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

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

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

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

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

И тем не менее, это можно было желать «хоть каждый день». Картриджи арендовались за небольшую сумму и киосков с ними было… достаточно.
По сути каждый день происходил апгрейд аппаратной части.
Возможность играть в новую игру каждый день мы получили благодаря современным средствам доставки софта от производителя до клиента, когда любой может сделать игру и продать её вам без участия издателя. Средства быстрой разработки не слишком продвинулись с того времени, когда в конце 1990-х появились независимые игровые движки. А в сфере прикладного софта и того хуже, переход приложений в веб отбросил инструменты разработки (и продуктивность программистов) лет на десять-пятнадцать назад, потеряв почти все преимущества, которые приобрели десктопные IDE.
А AppStore и GoogleStore это не «издательство», это «средство доставки софта, которые имею приличную долю в финальноё стоимости софта» <_<
В том-то и дело, что это всего лишь удобные магазины. Они не имеют вообще никакой доли в финальной стоимости софта и не претендуют на неё. Отличия от издательств тут колоссальные.
1. Вам не нужно убеждать магазин в том, чтобы он начал распространять ваш продукт. Зарегистрировались, выложили. А дальше уже покупатель голосует рублём/долларом/юанем.
2. Магазин не имеет никаких прав на ваш продукт, ни даже эксклюзивного права на распространение. Как вам больше нравится — так и распространяйте. Издательство же вас сожрёт с потрохами.
3. Магазин у вас не требует никакой финансовой доли в бизнесе. Он продал ваш софт — он взял свою комиссию, не продал, он ничего не потребовал. Насчет того, что комиссия большая, вопрос спорный. Сколько вам не жалко отдать денег посреднику за продажу вашего товара, которой без него вообще бы не было? Особенно если учесть, что тиражирование этого товара не стоит вообще ничего.
UFO landed and left these words here
И они даже не берут некоторый процент с продаж?

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

Зато пользователи Андроида тоже с удовольствием поиграют в те же Растения против Зомби, что и на аппсторе. А вот издатели иногда трясут ананайкой перед студиями, дескать, «хочу, чтобы в ЛастОфАс играли только на нашей любимой плейстейшен, и нигде более».
UFO landed and left these words here
Скорее приносили бы больше прибыли. Процент не такой большой, чтобы снизив цену на него получить аналогичный процент роста продаж. Стоит сейчас приложение 0.99 или 9.99 — снижать цену на 10% смысла очень мало.
UFO landed and left these words here
При отсутствии этого процента разработчику надо было бы самому тратиться на дистрибьюцию игр. Поэтому вряд ли. Чудес и аттракционов невиданной щедрости не бывает. До появления маркетов игры обычно продавались непосредственно правообладателями и стоили намного дороже.
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
Не напомните, какой размер указателя в байтах был на windows 98, и каков он в «современных приблудах на телефоне», раз уж взялись мерить?
Припомню, да. 4 байта размер указателя в Windows 98 (сегмент 16 бит, смещение 16 бит), 4 байта сегодня (да, большинство приложения 32-битные до сих пор). И?

При этом с помощью этого браузера я могу решить в тысячи раз больше задач, чем с помощью вашего 97го офиса, 98 винды, и каждого по отдельности приложения для нее.
Замётано. Не расскажите — как именно с помощью вашего браузера создать табличку с формулами и посчитать что-нибудь в ней. Сделать каталог с книгами и найти там чего-нибудь? Ну или, на худой конец, подготовить и распечатать книжку с картинками? Это всё Офис делал в 97й версии без каких-либо дополнительных аддонов или чего-либо ещё…
UFO landed and left these words here
Если это «наглая ложь», то вы, я думаю, сможете привести десяток популярных приложений без поддержки armeabi-v7a.

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

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

P.S. Да, я знаю, что в мире iOS всё не так — ну так это, опять-таки, чисто и исключительно хотелки чьи-то. То ли Тима Кука, то ли духа Стива Джобса, я не знаю. Никакой объективной необходимости в таком «форсированном» переходе на 64-бита нет и не было.
UFO landed and left these words here
Я такую точно знаю (из-за неё пришлось приобретать «до 64Гб» мать и обвес к ней) — это Cities Skyline
Из коробки, junior-level
image

После напильника, Skyline 'Skyline здорового человека', senior-level
image
Интересно, как ей бы было с 32-битными указателями.

Иногда удивляюсь, почему "compressed pointers" так мало распространены. Выравнивание по 8 байт — и можно адресовать 32ГБ, используя 32-битные указатели. Немного памяти сбережёт.

Потому что позволяет решить очень узкую задачу (расшилить с 4GB до 64GB) путём усложнения кода буквально на всех уровнях. В языках без указателей (Java, к примеру), этот приём используют иногда, кстати.
Конкретно для винды — вполне правда, это под линукс всё собирается, как правило, под битность дистрибутива, а так 64-bit only это, в основном, новые игры.
Речь шла про «современные приблуды на телефоне». Процент винды на телефонах — где-то под микроскопом нужно рассматривать.
Не расскажите — как именно с помощью вашего браузера создать табличку с формулами и посчитать что-нибудь в ней. Сделать каталог с книгами и найти там чего-нибудь? ...

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

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

Попробуйте собрать себе старый комп с 98ой виндой и поработать под ним. Очень быстро захочется обратно в «тормозное будушее»
А причем здесь «гуглодокс и прочие веб приложухи»? Это совершенно отдельные вещи, живущие на далеких гугловских серверах.
А бразуер, грубо говоря, парсит и генерирует http, и может открыть некоторые файлы для чтения.
UFO landed and left these words here
Полная глупость. Ну да, API много, систем много, но всё то, что умел офис старых версий, вы не просто не сделаете с той же лёгкостью, вы вообще этого не сделаете. Через веб-приложение — да, но при чём тут браузер?

Как верно заметили выше, браузер только парсит HTML, применяет CSS и исполняет скрипты; в довесок он умеет определять геопозицию юзера, показывать картинки и сохранять их на диск, проигрывать аудио и видео (уже лет 7-8 как), выводить и подсвечивать в консоли JS код, а также исполнять пользовательский код прямо там же. Но это обстоятельство не позволит вам сделать электронную таблицу, сверстать книгу или статью, или сделать слайд-шоу. Для всего этого нужно облачное приложение — браузер же может его только исполнить. Некорректно говорить, что функционал, предоставленный этим приложением, предоставлен непосредственно браузером. С таким же успехом можно сказать, что мы обязаны всему JVM или компилятору (браузер по сути такой же JIT-компилятор/интерпретатор).
Еще большая глупость заключается в том, что то что может быть исполнено на юзерской тачьке в 100 раз быстрее — зачем-то сваливают на сервак. Это вообще верх идиотии.
А может и в 1000-100000 раз быстрее. Смотря что…
Вот ни разу. Откуда вы мощность машинки пользователя знаете? Может там i7, а может целерон. Или вообще какой нибудь андроид тысяч за 7-8.
Через веб-приложение — да, но при чём тут браузер?

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

P.S. Это если забыть про то, что начиная с MS Office 2000 в офис и «настоящий» браузер входит. Кокретно в MS Office 2000 — MS IE 5.0
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
Видимо, речь шла о лёгкости реализации каждой такой задачи. Человек уверен, что в Экселе это делается проще и быстрее (наверное, и правда быстрее, но здесь многое уже индивидуально).

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

P.S. Не знал про темплейты, спасибо, теперь где-нибудь применю при случае :)
querySelectorAll всегда возвращает NodeList, но в новых версиях у NodeList тоже есть метод forEach
UFO landed and left these words here
Коллега, поверьте, вы практически носитель сакрального знания. Функции для манипулирования DOM сейчас практически забыты. А чтобы создать подобную страничку современному разработчику нужно подключить jquery, react, less, настроить сброку итд итп

ЗЫ foreach работает не везде
UFO landed and left these words here
UFO landed and left these words here
И не говорите мне что 97ой офис не тормозил нa компах того времени. Еще как тормозил.

На новом компе 1997-го (а это был бы Pentum 133+ с 16 Мб памяти и выше) года он работал адекватно, не тормозил. На компе 1999-го уже бы летал. Сложно сравнивать производительность тех лет с современной, т.к. тогда за год-полтора производительность вырастала в разы, а сейчас лет за пять процентов на сорок.
О, ну на «новом компе 1997-го» любой дурак может…
У меня на новом компе 2018-го последний офис тожe не тормозит.
У меня на новом компе 2018-го последний офис тожe не тормозит.
А вы в этом уверены? Или вам так кажется?

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

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

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

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

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

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

Вы знаете, я на последний офис в этом плане тоже не жалуюсь, видимо, там ещё достаточно кодовой базы с тех лет осталось. Зато у меня на новом компе 2018-го года заметно глазу подтормаживает последний вайбер и скайп, просто при наборе сообщений. Вдумайтесь, клиент чатика, который со всем шифрованием и эмодзи по функционалу представляет несопоставимые крохи в сравнении с офисом, притормаживает на восьмиядерном процессоре и NVMe диске.
Я как-то читал статью про разработку первых версий офиса (сейчас к сожалению не могу найти) — так там такие «ужастики», что скорее всего его переписали.
Ну и скайп никогда вроде как не был эталоном производительности и вообще хорошего софта.
Ну, крови Word 6 у меня в своё время попил, это факт. А вот на скайп вы зря наговариваете :) Я помню, как 15 лет назад говорил с заказчиком из США по скайпу, причем у меня интернет тогда был через диалапный модем, 49 килобит в хорошую погоду (сейчас про такие скорости никто уже и не помнит). Это было офигеть как круто.
вот качество голосовой связи у Скайпа это наверное единственное что удерживает от полного отказа от него
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
Т.е. Microsoft много лет занимается мошенничеством и получает миллиарды долларов за приложение, функции которого выполняет любой бесплатный браузер???
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
У нас и доказательства есть, но они секретные, мы их не покажем
А причем тут плата?))
Договоритесь со знакомым Васей, он вам сделает Ворд, а вы ему Эксель) Можете обсудить стоимость. Только она не важна) Вы можете сделать друг-другу куски офиса скажем за мильярд долларов. Хватит? Но взаимозачет же. Он вам. Вы ему.
Только фишка же получается не в деньгах вовсе) Ни он ни вы абсолютно ничего не сделаете.
Выводы.

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

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

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

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

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

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

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

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

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

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

Вы сильно утрируете. Хотя в целом такое и правда возможно, для создания веб-приложения не нужен сервер, можно работать и локально, и даже делать импорт/экспорт в файлы, и использовать прикольные штуки вроде Indexed DB, WebSQL и Local Storage.
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
и чем эта урезанная ОС, в которой есть только браузер отличается от концепции ос + браузер? сам браузер без ОС этого ничего не сможет
Надо сказать что специализированное приложение без ОС тоже ничего не сможет сделать, даже запустится.
Не помню у какого вендора, но уже встречал браузер без ОС, только БИОС.
Нет, имеется в виду обычные материнки какого-то вендора, с которыми можно серфить из биоса, без ОС на диске и вообще диска.
UEFI-биосы так называемые… но это враньё! Там только кажется что нет никакой ОС, а на деле начнёшь копать а там… обычный микроскопческий линукс, с полноценным(насколько это возможно) браузером. Всё это сделано на уровне абы было поэтому не оптимизировано под многоядерность, большое количество памяти и еле шевелится. И всё это работает с… диска виртуального, мини-SSD встроенный в материнку на 8...16Гб.
Все что было для windows mobile было гораздо функциональнее. SoftMaker Office — повторял функционал НАСТОЛЬНОЙ версии ms office на КПК. Почтовые клиенты тоже были такого уровня. Программы от Resco — тоже образцы невероятного функционала.
При этом все это очень быстро работало на мобильных процессорах того времени (200-500 МГц), 64-128 МБ памяти.
Но глючновато, винмобайл часто любил зависать наглухо.
Потребности людей с тех пор сильно уменьшились. Зачем на мобильном клиенте выбор кодировки письма? настройка mime-типов? способы кодирования вложений? Оно просто должно работать… причем без лишних заморочек — на мобильных девайсах возможность ввода и взаимодействия с приложением ограничена, а значит и многие функции становятся невостребованными.
Кстати, а почтовые клиенты прошлого умели передавать файлы больше 100мб? а 10Гб? Сейчас это на уровне средних потребностей.
Кстати, а почтовые клиенты прошлого умели передавать файлы больше 100мб? а 10Гб? Сейчас это на уровне средних потребностей.

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

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

Кстати, идея очень даже неплохая :)
Нет, обычный GMAIL, и даже маилрушечка так умеет. Про яндекс не знаю, но наверняка и его уже научили. Конечно, они не гоняют письма по почтовым серверам — они для этого используют промежуточное хранилище и делают это совершенно прозрачно обходя ограничения почтовых серверов. Будь там даже 1Мб ограничение.
Так это делается совсем не так. Просто файл заливается на их собственный сервер, а к письму прикрепляется ссылка. Технически, будь такие компании с такими объёмами для хранения в 90-ые — это технически было бы возможно и в 90-ые. Тут нет какого-то особенного «ноу-хау» :)
Так ведь фишка в том что это делается прозрачно для пользователя. У — удобство.
Вот только прозрачность эта — мнимая. Как вам уже ненавязчиво указали.

Да, если все вокруг пользуются GMail'ом и GDisk'ом — то это работает. Но шаг вправо, шаг влево… и нет больше прозрачности…
вот совсем недавно тоже отправлял сканы в обыкновенную корпоративную почту (банки — не «совсем безнадежные» должны быть по используемым технологиям)…
один робот мне ответил что их предел 25Мб,
второй — что 20,
один человек — «шлите все только в pdf, картинки не открою»
и двое — «приложенные ссылки гуглдиска не открываются, шлите только вложением»
и это при том что мобильный клиент гугла умеет напрямую с интернет-диска гугла же только ссылки шарить (хорошо что наоборот еще отключить не догадались — с приложения гуглдиска можно отправить письмо с вложением)
так что «вжжух и ушло» — это несмотря на 2018 ситуация до сих пор из серии «любой каприз за ваши деньги»
UFO landed and left these words here
Google Drive запрещён как файлообменник.

А для чего он тогда создавался, для личного архивирования? Там вроде в пользовательском соглашении ничего нет про запрет передачи ссылок.
UFO landed and left these words here
Какой смысл закрывать доступ к файлообменникам, если почта (и файлы в ней) разрешены? Странная логика. Точно так же могут что-то получить или отослать, из того что нельзя согласно правилам.

В целях безопасности у многих сотрудников там вообще интернета нет.

Чтобы не слили данные по операциям (соблюдение банковской тайны)? Разумно. Но у кого совсем нет интернета, там и почты не будет. А у кого интернет есть, те обычно к особо секретным базам и не допущены (отдел по работе с клиентами какой-нибудь).
UFO landed and left these words here
Почта с внутрикорпоративного сервера работает. Через почтовый клиент типа Outlook или Lotus.

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

Зачем отделу по работе с клиентами интернет?

Например, чтобы работать с CRM. Хотя скорее всего, она тоже локально развёрнута, в интрасети.
А ещё чтобы уточнить детали тарифа/услуги, хотя наверное для этого у сотрудников стоит специальный справочный софт, не нужно даже корпоративный сайт открывать.
UFO landed and left these words here
Почта проверяется централизованно антивирусом, если есть подозрение — файл/вложение не пропускается. Проверять же все обращения к файлообменникам это решение уже гораздо дороже.
Почему, кстати, досихпор не видно отдельных нативных почтовых программ способных автоматически передавать большие файлы вложений через файлообменники?

Thunderbird умеет. Outlook тоже умеет.

Что-то им это не помогло, верней не стало ключевой особенностью при выборе.
Ключевой особенностью при выборе стало то, что в веб-почте достаточно зарегистрироваться и приступить к работе. Не надо ничего устанавливать и настраивать. Но мы-то говорим не в контексте того, что больше нужно пользователям, а в контексте того, почему старые приложения с бОльшим функционалом работали качественнее, чем современные.
UFO landed and left these words here
Вот. Вы говорите именно о почтовом приложении, которое кроме POP3 и IMAP протоколов не знает ничего, но работает быстро. Собственно это ограничения не интернета а протокола и сети почтовых серверов.
Но если потребности людей уменьшились, то почему потребности приложений увеличились?
Потребности в стороннем, вспомогательном функционале. Нынешние пользователи пугаются даже слов сервер, порт и необходимость куда-то вводить эти данные в приложении вводят их в ступор. Как впрочем и большие перечни настраиваемых параметров приложения.
Вспомните, какой прорыв в голосовой связи через интернет произвёл скайп. Который не надо настраивать, не надо вручную прокидывать какие-то там порты в NAT(ещё одно страшное слово для пользователей) и куда-то вводить адрес прокси-сервера. Он просто работает. Запустил и работает. В этом плане потребности пользователей уменьшились, они хотят и получили заветную кнопку «сделать всё хорошо».
UFO landed and left these words here
Но разве так жить интересно? Это же деградация в чистом виде какая-то…

То есть пользователь, конечно, не обязан становиться разработчиком и даже админом. Но всё-таки… Хоть для себя-то какой-то кайф получить от того, что сделал, настроил, и оно заработало в итоге
Столько много всего можно настроить, что чем меньше, тем лучше, на наш век все равно хватит.
Это не деградация, это специфика мобильного девайса. У него ограниченые возможности по вводу, особо не разгонишься. И ведь это прекрасно когда программа просто работает и не нуждается в низкоуровневой настройке — все варианты опробованы, найдена оптимальная конфигурация и зафиксирована.
Не все от этого тащатся вообще, а некоторые раньше тащились, а теперь перестали. Я, например.
Хоть для себя-то какой-то кайф получить от того, что сделал, настроил, и оно заработало в итоге

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

Ну не может единоразовое тестирование системы никак закрыть все баги и уязвимости. Не с нынешними технологиями. В таких компаниях как google, facebook, microsoft тестирование включает в себя регулярно работающую bug bounty не потому, что они наняли идиотов разработчиков. Сколько лет прошло с момента запуска интелом уязвимой архитектуры и до момента обнаружения spectre/meltdown? Тоже скажете, что в интел дураки сидят?
вы слышали о stuxnet, heartbleed или meltdown до их появления?
Слышал после.
А вы слышали о дырах в System i, до или после?
скажете, что в интел дураки сидят?
Интел и остальные упомянутые делают ширпотреб. Они не делают идеальных продуктов, ну так за идеальность им никто и не платит. Выгоднее приделать новые фичи, чем вылизывать старые — такая ниша.
А вы слышали о дырах в System i, до или после?
А вы вообще много с System i общаетесь? Дыры там тоже есть: одна, две, три, четыре… и процессоры тамошние тоже уязвимы

Так что дыр в ваших любимых AS/400 — примерно столько же, сколько в процессорах Intel или AMD. Спасает их одно: на них кошечек из YouTube не смотрят… потому проще что-то сделать через одну из тысяч дыр в системе, через которую с System i общаются, чем взламывать собственно System i через одну дырку и нескольких десятков, что там есть…
Так что дыр в ваших любимых AS/400 — примерно столько же, сколько в процессорах Intel или AMD.
Ну да, что там больше нуля, что тут больше нуля. Столько же, чо.
Ну да, что там больше нуля, что тут больше нуля. Столько же, чо.
И там и там их [пока] накопали больше нуля, но меньше десятка. Что сравнимо (когда у вас есть одна-две уязвимости оценить дисперсию очень сложно).

А вот в «обычных» операционках — их тысячи!
Сколько лет прошло с момента запуска интелом уязвимой архитектуры и до момента обнаружения spectre/meltdown? Тоже скажете, что в интел дураки сидят?

Нет, чекисты :)
А разгадка проста: AS/400 делается для людей, которые умеют зарабатывать и считать большие деньги.

Разгадка, как мне сдаётся, в том, что к айфонам и сайтам доступ имеют миллиарды людей, из которых десятки тысяч ищут уязвимости. А к iSeries доступ имеют десятки тысяч людей, из которых уязвимости ищут единицы. Мне довелось лет десять назад работать с iSeries, я не искал там уязвимости, но по субъективным ощущениям количество индусов, пишущих под неё софт, ничуть не меньше, чем в других сферах.
Сократить количество обновлений просто нельзя — банальные ошибки в софте и уязвимости будут оставаться незакрытыми годами… Посмотрите на нынешние обновления. Что-то кардинально меняется в интерфейсе? Ну, может быть… раз в год. А в остальном обновления касаются исключительно внутренней скрытой части софта, что не видно глазами но сильно влияет на его функционирование в современном мире. Перестанешь обновлять софт — через год он окажется дырявым как сито и никому не нужным т.к. конкуренты залатали дырки и распространили с очередным недельным обновлением.
Так может нужно сразу выпускать РАБОТАЮЩИЕ приложения, прошедшие тестирование. А не обновлять (читайте исправлять) «внутренние».
Предлагаю попробовать прикинуть сколько надо ресурсов чтобы проверить простейшую программу которая складывает два 32-битных числа, а именно полный её тест. А потом приступить к надёжному тестированию более сложных программ. Без полного теста всех вариантов состояний программы и переходов между ними никакой гарантии отсутствия ошибок в программе быть не может.
А пока такие программы выходят в свет лишь в надежде что АЛУ процессора нас не подведёт, и как правило так и бывает. Но есть ньюанс…
UFO landed and left these words here
А как ещё можно доказать что программа действительно правильно складывает ЛЮБЫЕ числа? Целевые машины непричём — мы проверяем программу. Программа — черный ящик, она складывает числа. На входе два 32-битных числа, на выходе — результат. Нам надо убедится что программа работоспособна и правильно работает для любых чисел на входе. Сейчас мы просто предполагаем что такие простейшие операции не нуждаются в проверке и заранее считаем их валидными, но если такой уверенности нет? Механизм сложения, допустим, нетрадиционный и в нём проверяется множество условий. Каждая такая проверка увеличивает количество вариантов состояний которые надо проверить, и с ростом сложности программы оно растёт очень быстро. Даже для современного варианта «хелло-ворлда» количество состояний стремится к неприличной величине, и даже в такой программе может возникнуть сбой по вине операционки или скажем драйвера видеокарты.
UFO landed and left these words here
Масло масляное, в этом примере альтернативного сложения мы используем тот же АЛУ что и оригинальный вариант. Но вот допустим программа использует свою реализацию двоичного сложения чисел. Та что используетс в АЛУ проверена вдоль и поперёк и даёт гарантию что работает корректно(хотя вообще это утверждение нуждается в проверке, вдруг для какой-то пары чисел возникает сайд-эффект приводящий к неверному результату?) но мы должны проверить свой алгоритм. Эта задача в некоторой степени очевидна, но уже приводит к определённым трудностям и сложностям доказательства. Что будет с более сложными программами?
Ошибки в арифметике процессора в истории были, так что даже алгоритмы которые мы считаем надёжными на самом деле таковыми не являются и по большому счету даже такие элементарные вещи нуждаются в проверке и доказательствах.
Что касается доказательства корректности алгоритма, даже математически точное доказательство не даёт гарантии отсутствий ошибок в самом алгоритме. Ну да, алгоритм делает то что должен делать. Но то ли он делает что НАМ нужно?
UFO landed and left these words here
На википедии есть неплохая статья, советую ознакомиться: 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


Более подробно можно почитать в блоге парня, который это нашел.
UFO landed and left these words here
О, гомотопию приспособили таки к жизни :)
Ещё существует довольно давно Coq Proof Assistant, идут в похожем направлении. А построением практически применимого языка на HoTT уже несколько лет занимается R&D-подразделение JetBrains:

research.jetbrains.org/ru/groups/group-for-dependent-types-and-hott
github.com/JetBrains/Arend

gearbox, вам тоже интересно посмотреть, наверное )
UFO landed and left these words here
Coq, выходит, и был первопроходцем, потому что JB-группа тоже под вдохновением от него начала ковырять гомотопическую теорию. У них в Research есть ещё одна отдельная группа по верификации и анализу программ, там тоже интересные подходы к автоматическому поиску и устранению багов: research.jetbrains.org/ru/groups/pvalab

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

UFO landed and left these words here
А как доказать, что ваше доказательство теоремы ручкой на бумажке корректно?

Как? :)


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

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

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

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

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

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

UFO landed and left these words here
Почему все к разрабам цепляются? Я вот как разраб могу сказать, что это моя работа делать сайт соэзмиримый моему ганарару. Если мне интересно что-то делать или мне это тупо выгодно, то я сделаю хорошо. Если мне заплатили 5 рублей за функционал «как у фейсбука» и «ну к завтрашнему ведь готово будет», то и сделано это будет на таком говне, которое я сочту достаточно вонючим.
Если же это мой проект и мне реально дороги пользователи, то я сделаю нормально за минимальные затраты для пользователя. Но это вложение души. Почему я должен вкладывать душу в какое-то левое предприятие или дело. Почему я должен тратить свою душу на каждую вебвизитку?
Во первых, зачем тратить свое, чужое время и душу на то, к чему душа не лежит? Дайте возможность работать тем, кто хочет заниматься визитками хотя бы для образования. И вы не будете лишнее время тратить и клиент не будет недоволен. А вы это время можете потратить на то, что вам нравится, и результат, вполне возможно, принесет вам большую прибыль. Во вторых, правильно пишется соизмеримый и гонорар, реально сложно читать просто
Не путайте прибыль с зарплатой/гонараром. Прибыль не гарантирована, это риски. А кушать хочется.
Вот тут есть некоторая проблема. Я бы рад перейти на то, что мне больше нравится, и большую часть времени я этим и занимаюсь. Но критике последнее время подвергаются сайты-производители конктента, а это, к счастью или сожалению, не глобальные игроки, вроде вк или яндекс.новостей. Контент создают микробложики и микрофорумы. И именно они пытаются из рекламы выжать максимум, вложив при этом минимум денег. И тут появляюсь я и ещё 1000 фрилансеров, которые готовы взяться за работу под нормальные деньги и нормальное тз. Конечно сразу появляются правки в тз после его заявки и иногда даже сдвиг сроков в меньшую сторону, при этом денег за это не добавляют. И что мне и ещё 1000 фрилансеров делать? Конечно говнокодить настолько, на сколько нам позволяет совесть, чтобы уложиться в сроки и бюджет.
А потом заказчик хочет прикрутить ещё пару фич, через месяц, нанимает ещё людей на сдельную, они могут заметить говнокод и комментарий «не связывайтесь» и наговнокодить ещё больше, или вообще новые фичи навернуть поверх всей старой архитектуры (что очень часто и происходит).

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

Раз уж начали придираться к символам, то числительные пишутся через дефис.
Вы меня извините, но не это ли следствие капитализма, где основной принцип — потрать меньше, продай дороже, в том числе и усилия и время и рабочие руки, ведь руки ниже поясницы ценятся дешевле, чем руки из плеч? А что касается «других стран» так и там ситуация ровно такая же. А касаемо всё же не капитализма — там ведь принцип был иной, делалось многое для удобства «пользователя», а не «разработчика и производителя» а почему? А потому что пользовались все одним и тем же продуктом, и косо глядели на того кто халтурил, даже зарабатывая много, а сейчас — деньги есть (продал родину ли, другой товар не важно какого качества, или родители обеспечили) и смотреть то косо боятся, и уважения масса, — «Надо же, с деньгами», и это вплоть до судебной системы, которая вообще исходя из простейшей логики независима в суждениях должна быть… Ну результат налицо, как говорится…
Похоже, основы капитализма многие изучали по журналу «Крокодил». При этом распрекрасные не-капиталистические страны вначале строились на крови и костях, а потом вообще передохли. Видимо рептилоиды помогли.
Все страны на костях строились. У капиталистических этих костей на порядки больше за сотни лет истории было, считая хотя бы со времен огораживания в Англии.
UFO landed and left these words here
1. Вот из того, что находится на раз-два:

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

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

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

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

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

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


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

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

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

массовое уничтожение людей в других странах
То есть если в своей — то это ок?
С точки зрения жителей других стран? Да, разумеется.

Своих жителей гробят все страны: и капиталистические и социалистические и феодальные. А вот чужих… только давно забытый рабовладельческий строй и капитализм… забавно, кстати, что капитализм, как раз, возродил рабство (чтобы потом с пафосом с ним бороться, да)…
Хотите сказать, что, например СССР, не грабил ту же Германию?
Репарации — не грабёж. Объем репараций в лучшем случае составил 4-ю часть от общих потерь СССР от войны с Германией. Кроме того, часть из этих репараций СССР выделил Польше. Ну и в 54-м отказался от репараций со стороны Восточной Германии. Ну и про совместные предприятия не стоит забывать. Сейчас это называется иностранными инвестициями — новые рабочие места и всё такое.
ИМХО, весьма гуманно обошлись еще с немцами.
Были официальные репарации, а был откровенный грабёж на самых разных уровнях.
Да, был. Но даже в немецких книгах претендующих на какую-то объективность, приводят ключевую фразу: «Страна фашистов должна стать пустыней, как наша страна, которую они сделали пустыней. Фашисты должны быть уничтожены так же, как они убивали наших солдат.»

Если бы до этого Германи не напала на СССР — то не было бы ни грабежей, ни убийств, ни мародёрства. А если вы считаете, что уничтожение индейев и индусов, ирладцев и африканцев — это вещи того же, плана, то вам, вне всякого сомнения, не затруднит составить списочек:
1. Когда ирландские войска высадились в Великобритании.
2. Когда африканские войска высадились на территори Бельгии.
3. Когда вооружённые индусы прибыли в Европу.
4. Когда китайцы совершили высадку в Японии.
Для начала — хватит, я думаю.

Если же вы такого списка предоставить не можете — то и заткнитесь на тему «зверств русских в Германии».
Факты грабежа, случившегося до 22 июня 1941 года — в студию, пожалуйста.
Своих жителей гробят все страны: и капиталистические и социалистические и феодальные. А вот чужих… только давно забытый рабовладельческий строй и капитализм…

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

UFO landed and left these words here
Если же нет, то как в вашей истории пропали такие куски, в которых говорилось про феодальное общество и про монархии

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


а так же как минимум про капиталистические общества начала прошлого века?

Ну и кто кого гнобил-то, вы пальцем укажите?

UFO landed and left these words here
Альтернативная история в треде!

Никакой альтернативной истории.


Хотя где вы там хоть какую-то полноценную монархию увидели сейчас — ума не приложу.

Ну вы же понимаете, что у вас теперь ненастоящий шотландец?


Не, конечно не было ничего в истории монархии Англии с постоянным гноблением своего населения.

Ну подробнее можно?

UFO landed and left these words here
А с шотландцами я ваша попытку пошутить не понял совершенно.

Какая шутка? Я указал вам на то, что вы вместо аргументации используете вполне конкретный полемический прием.


История Европы с падения Рима и до начала 20 века. Примерно там.

Чего не история Земли с вымирания динозавров до наших дней? Конкретные примеры можно?

UFO landed and left these words here
Феодальные и монархические государтсва в европе были как раз в указанный период.

В указанный мной период они тоже были.
Я вас не спрашивал, в каком периоде были примеры. Я вас попросил указать эти примеры. Не период. Сами примеры. Вы понимаете разницу?


что имел ты ввиду про шотландцев

https://ru.wikipedia.org/wiki/%D0%9D%D0%B8_%D0%BE%D0%B4%D0%B8%D0%BD_%D0%B8%D1%81%D1%82%D0%B8%D0%BD%D0%BD%D1%8B%D0%B9_%D1%88%D0%BE%D1%82%D0%BB%D0%B0%D0%BD%D0%B4%D0%B5%D1%86


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

UFO landed and left these words here
ну вот и доказывайте, что при динозаврах она была.

Если что-то было в период Х то оно было в любой период, содержащий Х. Указанный мной период содержит ваш, ч. т. д.


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


Ага, аргумент к личности. За меня решили что я буду считать, а что нет

Я ничего не решал о том, что вы БУДЕТЕ делать, я констатировал факт того, что вы УЖЕ сделали — применили полемический прием "ненастоящий шотландец" вместо аргументации.
Еще раз — УЖЕ применили, по факту.
Что вы там дальше будете делать — мне искренне наплевать.

Ага, аргумент к личности.
Это не аргумент к личности. Аргумент к личности это «ты не прав потому, что лысый».
UFO landed and left these words here
UFO landed and left these words here
А касаемо всё же не капитализма — там ведь принцип был иной, делалось многое для удобства «пользователя»

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

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

Если вы под развитием подразумеваете шагание строем в ногу в сторону очередной «великой цели», то да, не развивается, и нафиг бы оно упало, такое «развитие».
Посмотрите советский сериал «Фитиль». Там был сюжет как раз по этой теме. Инженер предложил начать выпускать новую модель пылесоса(показывают типичный современный «капиталиститческий» пелесос), но чиновники начинают доказывать инженеру, что они умнее него и вносят кучу правок в проект. И в конце концов получается у них типичный советский пылесос больше похожий на трактор.
UFO landed and left these words here
Кстати, действительно самое вкусное. И колбаса была из мяса… (Это не сарказм).
Но не для всех.
А еще есть подозрение, что вкуса придавал факт стояния в многочасовой очереди, известно ведь, что чем труднее достается что-то, тем больше ценится. В «Контрольной Закупке» помню чуть ли не на МРТ проверили, как человек пьющий одно и то же вино но из дешевой бутылки и из дорогой по разному его описывал. И не потому, что он понтовался, а на МРТ было видно, что при испитии напитка про котороый была априорная информация, что он дороже, просто тупо больше отделов мозга активировалось.
Просто производство хламья очень просто, дешево и удобно
, вот при этом и капитализм: если это сделать просто, дешево и быстро, то значит и прибыль получишь быстрее.

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


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


Это как, «нормальные условия»? Или капитализм какой-то неправильный, цветов радужных?
UFO landed and left these words here
Какой-то чувак в ЖЖ


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

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

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


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

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


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

UFO landed and left these words here
<blockquoteПоразительное желание залезать в чужой карман.>

Поразительное желание по холуйски заботиться о тех, кто в Вашем кармане поселился и с него кормится, а потом еще и прилетает в Конгресс с воплями про too big to fail и добавкой из налогов.
UFO landed and left these words here
UFO landed and left these words here
И не очень понятно, почему второе безусловно хуже первого


Что тут непонятного? Вылечивание — это точка в истории болезни, а tretament — это деньги, вытягиваемые зачастую пожизненно. При таком раскладе тот, кто поставляет препараты, становится просто на сторону заболевания, а не пациента. Что неясно-то?
UFO landed and left these words here
А потом остальные фармацевты просто топят выскочку и всё возвращается на свои круги. Всё это хорошо когда реально работают рыночные отношения, но реальность она несколько иная — монополии, сговоры и т.д.
UFO landed and left these words here
В основном по коррупционным схемам.
UFO landed and left these words here
Не факт, могут и через мафиозные структуры.
Причем тут капитализм?
При том ИМХО, что у капитализма есть свои плюсы и минусы. Минус, о которм речь — это потребительская культура — покупать как можно больше и чаще. Я про это писал (вслед за другими):
Казалось бы, ко всем этим выводам можно придти, и не прибегая к примерам типа ранних версий Windows, а используя только здравый смысл. Однако так называемая культура общества потребления вносит заметный деструктивный вклад в сознание людей.
Капитализм тут очень даже причем. Постоянная гонка по времени за конкурентами, бешенные бюджеты на эту самую конкуренцию, и самое главное — высокая фрагментированность всего, включая платформы или сами конкурирующие продукты (кому нужны эти 16.000 андроид устройств и вообще 10 разных мобильных ОС?). Ни у кого нет времени остановиться. Создание программы качественно не происходит, потому что любой продукт изначально создается в условиях риска провала. Есть прекрасные исключения — когда нечто происходит вопреки этому, но это не является системой, это именно исключения. Не все становятся Торвальдсами или Джобсами, способными в чем-то изменить мир.

В большинстве мы не стремимся к «прекрасному завтра», мы стремимся не провалиться прямо сейчас.
Ну Джобс прекрасно конкурировал одним смартом и вылизаным софтом. Но это было давно, Джобс помер, и все свернуло в ту же самую колею, по которой несется вся куча. Может, дело не в капитализме, а в том, что большинство производителей не способны выкарабкаться из колеи, в которую их так и тянет.
Проблема куда как более фундаментальна. Если бы одновременно 20 Стивов начали делать бы одно и тоже, то либо большинство бы провалилось с финансами, либо провалились бы все. Потому что нельзя просто так взять, и сделать продукт в 10 раз дороже и в 2 раза качественнее, чтобы никто этого не заметил :)
Почему же в Союзе параллельно куча КБ занималась одним и тем же?

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

Конкуренкция — это хорошо
любой продукт изначально создается в условиях риска провала

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

То ли дело работать, когда знаешь, какое Г не произведи, его обязаны у тебя закупить.

Че-то при капитализме оно именно так и происходит. «Невидимая рука рынка» творит чудеса. Телефоны на полгода и еда из пенопласта в тренде.
Да, но с КБ это был управляемый процесс. Эта куча КБ не тратила деньги на борьбу друг с другом, и уж точно не стремились слепить Г поскорее конкурентов и сплавить.

А чем же они занимались?

Че-то при капитализме оно именно так и происходит. «Невидимая рука рынка» творит чудеса. Телефоны на полгода и еда из пенопласта в тренде.

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

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

Так конкуренция заключает в том, чтобы сделать продукт лучше! В чем же тогда разница?
Очень не хотелось бы переводить разговор в политическую плоскость, но если справедливо делить тот мир на 2 части, то в «ненашу» часть попадало куда больше стран, чем только страны западного мира. И средний уровень жизни тут и там будет выглядеть несколько иначе. И насколько жители какой-нибудь Либерии и прочих Гондурасов могли себе позволить эти заграничные вещи, вызывавшие зависть советского потребителя — большой вопрос.

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

А вы изучите вопрос получше, мемуары почитайте что ли. Да даже официальные отчёты о том как те же автоматы принимали на вооружение: реально конкурсы между КБ проводилис, из нескольких разработок выбирали одну. Официально лучшую по совокупности характеристик, по мемуарам и прочим свидетельствам что только в дело не шло, чтобы убедить членов госкомиссий. Особенно когда дело касалось выбора между изделями от КБ, которые «крышевали» разные властные кланы.
Глупо списывать на капитализм все проблемы общества. То, что вы перечислили — лишь отражение самого процесса эволюции. Желание человека стать более успешным (более конкурентным в сравнении с другими представителями своего вида) было задолго до капитализма (еще когда он был обезьяной), только раньше вам пришлось бы постоянно драться с альфой и бетами за ресурсы и возможность оставить потомство, а теперь можно ограничиться хорошо оплачиваемой работой.
UFO landed and left these words here
Вот только рисовать красивые пиксели можно без того, чтобы это всё безбожно тормозило и заставляло мой восемнадцатого года ноутбук изображать из себя вертолёт.
Можно — но тогда вы этих красивых пикселей нарисуете меньше и, соотвественно, заработаете меньше денег.

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

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

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

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


Начнём с того, что использовать Windows 10 пользователей просто вынуждают. Лично я на свой компьютер 7ку или более ранние версии просто физически не могу поставить. Начиная с того, что там не работает Docker, заканчивая тем, что то ли процессор (i7 7600k), то ли оперативка (DDR4) несовместима и из-за этого вылетает синий экран при установке. Интерфейс у 10ки неприятный и отталкивающий, а в более ранних версиях вообще отвратный. Глаза кровоточили, когда видел иконки не по гайдлаинам (в свой время занимался вёрсткой и получал люлей от дизайнера, если где-то какой-то пиксель вылезал).
Хм, а мне десятка нравится. Управление окнами удобное, иконки (да и вообще дизайн), по моим ощущениям поживее шевелится на удивление.
Управление окнами удобное

Чем оно хуже в семёрке?)
по моим ощущениям поживее шевелится на удивление

А по моим дико тормозит. По крайней мере в виртуальной машине. Версия 1609 ещё кое-как ворочалась, после апдейта до 1803 — это просто слайдшоу с загрузкой по 7-8 минут.
UFO landed and left these words here
Один из крупнейших плюсов — если приложение вдруг сдохло (такое бывает), игра например, затащив с собой весь UI, то в семерке была старая проблема, что даже если открыть диспетчер устройств, то игра рисуется поверх и её не прибить. Раньше приходилось через ctrl+alt+delete попадать на страницу прользователя и делать logout. Хоть не полная перезагрузка, так сказать. В десятке сдохшее приложение можно перенести на другой виртуальный рабоий стол, спокойно открыть диспетчер и прибивать надоедливую фигню. Очень удобно и не раз пригождалось.
Кажется, что это достаточно нечастая потребность
Ну раз в месяц где-то стабильно появляется.
Нечасто…
А в целом насколько удобнее чем Win7?
Не лично мне по мелочам кажется удобнее. Пуск тот же сильно удобнее, перед глазами спокойно может поместиться 10х10 иконок, то есть 100 программ в доступности одного клика. 100 же элементов выпадающего меню в семерке выглядят не очень.

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

Ну а в целом это та же семерка, только с небольшими бонусами вроде перечисленных + напирмер красивый слайд-шоу скринсейвера. То есть все ровно то же самое, глобально внешне ничего не поменяли.
UFO landed and left these words here
Под софтом я имею ввиду драйверы. Всякие принтеры/вайфаи/мышки/… определяются намного бодрее. WSL опять же.
UFO landed and left these words here
UFO landed and left these words here
Это естественное следствие стандартизации.

Например, у кулера в вашем офисе есть только режим «налей холодную» и «налей горячую». Чтобы налить воду комнатной температуры можно было бы просто сделать кран, чтобы подавать воду напрямую из бака, но вместо этого предлагается смешивать холодную и горячую, хотя это и не оптимально.
UFO landed and left these words here
Ну пользователи как раз этого хотят.
Когда в убунте мне нужно компилить из исходников драйвер на вай-фай, потому что разработчики сочли это «очередной платой расширения», это очень неудобно и раздражает.
UFO landed and left these words here
С программной точки зрения, ISA шина у вас всё ещё есть, и пофиг что она где-то там в чипе смотрит своими контактами «вникуда». В следущей ревизии внезапно решат что она нужна и выведут наружу.
Виндс — ОС общего назначения, которую могут запускать на произвольном оборудовании.
Внезавно если у вас есть узкий кейс, вы можете самостоятельно пропатчить установочный образ, вырезав лишнее. Поэтому принципу небезызвестные ZVER EDITION были построены.

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

Это аргумент, почему МС не должна этим заниматься.
Так она и не занимается — просто поставляет все доступные драйвера скопом.
Вот совсем недавно наткнулся на такой мост — USB3->PCI-E не было шины, и тут вдруг она появилась. Нежданчик для операционки.
UFO landed and left these words here
Для подключения видеокарты, например в устройствах где нет для этого даже разъёма.
Видел где-то использовали для организации фермы для майнинга.
Ограничения есть конечно, по скорости и отзывчивости но всё что можно подключить к PCI-E и не требовательное к производительности интерфейса можно использовать.
voron.ua/catalog/034118
UFO landed and left these words here
UFO landed and left these words here
А вы видели как на ходу винда вытягивает обновления для драйверов видеокарты и в процессе меняет два монитора местами? Один раз я выцарапывал уи с телевизора, вторая раз эта гадина вообще не смогла отрисовать уи изза частоты в 120гц (о как это весело было).

А как вам невозможность уменьшить громкость не дефолтного звукового устройства?

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

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

А как вам невозможность уменьшить громкость не дефолтного звукового устройства?

Хм, не знаю, я обычно уменьшаю громкость текущего. То есть включил наушники — регулирую наушники, зачем мне что-то другое? Через 2 устройства одновременно слушать как-то странно, мне кажется.

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

Видел много сешных роликов в интернете на эту тему, но у меня почему-то ни разу не было. Ставлю себе активные часы с 10 до 20 и всё, в это время точно ничего не перезагрузится.
Через 2 устройства одновременно слушать как-то странно, мне кажется.

У меня телек вторым.

в это время точно ничего не перезагрузится.

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

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

Понял ваш сценарий. Видимо, действительно неудобно.
Сериалы не смотрите, на Ютуб не заходите? Детей с мультиками дома нет? Байонетта, Лара Крофт, Мортал Комбат — все есть на ПК, консоли покупать необязательно.
Детей нет. Для сериалов у меня есть 27 4к монитор. Мортал комбат тоже на компе играю, джойстики он поддерживает.
Тут не полноценная вина винды
у меня была более веселая ситуация:
Включаю комп, биос, логотип винды, окно логина… бац монитор в standby
в безопасном режиме все работает… причем ничего не помогает, не снос дров (точнее удаление устройств из диспетчера) ничего
кое как обходными путями ставлю radmin… гружусь… после загрузки винды висит окно «Обнаружено новое устройство: Монитор SVGA, продолжить?» жму «да!»… монитор включается… пипец.
а косяк был в драйверах на видеокарту ATI которые обновились и они решили что если монитора нет в системе то и видеосигнал выдавать на VGA не стоит
UFO landed and left these words here

В таких случаях (если игра закрывает весь экран и диспетчер задач не виден) помогает его открытие не по комбинации Ctrl+Shift+Esc, а Ctrl+Alt+Delete -> «Запустить диспетчер задач». Это если у него в параметрах не стоит «Поверх всех окон». Если же стоит, проблем обычно не бывает.

Все равно игра рисуется поверх. После ctrl+alt+delete действительно появляется окно логина с выбором вариантов, но после тыка на «диспетчер задач» он открывается под игрой. Это если галка не стоит. Если стоит — то проблем нет, но она в 99 случаях из 100 просто бесит.
UFO landed and left these words here

А Alt-Табом после этого переключиться можно? Просто иногда он может открываться ниже игры, но он открывается и на него можно переключиться, в отличие от варианта с простым Ctrl+Shift+Esc, когда комбинация (судя по всему) даже до системы не доходит.

UFO landed and left these words here
UFO landed and left these words here
Справедливости ради — некоторое давление всё же присутствует. Например, отказ от поддержки старых версий windows, по сути, вынуждает переходить на ту же десятку. Понятно дело, нельзя во всём винить мелкомягких — у них свои резоны, но мне, как пользователю, такая политика не очень нравится.
UFO landed and left these words here
И вообще, давайте раскритикуем, что они 98 не поддерживают до сих пор?

Я специально уточнил, что нельзя во всём винить MS/Google/%company_name%. Естественно, нельзя требовать «столетней поддержки». Тем более, что, как я уже сказал, у них свои резоны — никто и не обещал этой поддержки, да и рынок требует.

И всё ж таки, как пользователь, я имею право возмущаться, что в новой версии windows/android/skype/etc всё не так хорошо, как в моей любимой.
Внезапный отказ? Или запланированный?

Сам по себе «отказ от поддержки» ничего плохого не несёт. Ну не поддерживают, и фиг с ним. Никто же не возмущается, что у чайника гарантия три года, а не сто лет?
Плохо здесь то, что во многих случаях новое программное обеспечение перестаёт быть совместимым со старыми версиями ОС, без технической необходимости в этом. Просто ради маркетинга. Т.е. не потому, что разработчики там какой-то новый API заюзали, а просто потому, что вставили строчку if (OSVersion < LowestSupported) { SayByeBye(); }
В основном это происходит не по этой причине, а по причине развития технологий и накопления отрицательного опыта. Сейчас смотришь на 98-ю винду… какой бы она хорошей тогда не была и слава богу что её похоронили. Слишком много практических недостатков, она ещё тогда достигла своего потолка и запуск нескольких приложений уже мог приводить к нехватке внутренних ресурсов(вспомните ресурсы USR и GDI), ограниченность которых жестко прошита в архитектуре операционки. Тут уже хочешь развиваться — надо ломать совместимость.
Win 98 — это слишком маржинальный пример. Там архитектурная пропасть между линейкой NT и 9х. Но какие, например, есть технические, а не маркетинговые причины не выпускать сейчас виндовый софт, совместимый вниз до WinXP, а не до Win7 (по крайней мере, для 99% такого софта?).
UFO landed and left these words here
А до этого, нужное событие в принципе можно было бы получить но написав уже собственную обертку которая активировалась бы при запуске приложения под соответствующей операционкой. Это лишь дополнительная работа, дополнительный довесок кода в приложение вместо использования готового API.
UFO landed and left these words here
Так именно в этом проблема. Отбросили какашку наплевав на совместимость.
Полагаю, что обширный перечень накопившихся костылей препятствует желанию поддерживать софт в старых операционках вроде XP. Во первых, это поддержка старых интерфейсов API, которые могут нести с собой нехилые уязвимости для системы — вспомните SMB v1, v2 и нынешнее v3… некоторые концепции были переосмыслены и некоторый функционал закрыт для прямого доступа в новых операционках, только через новый API другим способом и т.д. ради обеспечения безопасности операционной системы и т.п. вернуть прежний доступ будет означать открыть давно залатаную уязвимость системы. Конечно, часть подобного API эмулируется через различные ухищрения но не в полной мере и с дырами в абстракциях — всякие там режимы совместимости, прозрачное перенаправление доступа в системную папку на пользовательский профиль и т.д. всё это вроде бы работает, но не так хорошо как хотелось бы.
Банально как проверить эту совместимость, если легально приобрести XP мягко говоря не просто.
UFO landed and left these words here
if (OSVersion < LowestSupported) { SayByeBye(); }
Вряд ли кто так делает.
Ооо, нет. Именно так и делает Apple. Помню правил iso образ OS X чтобы поставить, кажется, Lion на старую модель ноута (беленький пластиковый), т.к инсталлятор утверждал, что железо устарело. Ось встала и заработала на ура. Единственное, что изменил — значение переменной а-ля LowestSupportedHwVersion в каком-то файлике.
UFO landed and left these words here
Точно так же делает Microsoft

support.microsoft.com/en-us/help/4012982/the-processor-is-not-supported-together-with-the-windows-version-that

8-ка на 7+ поколении процессоров Интел не получает поддержку из-за наличии буквально такой функции. Если пропатчить пару функций в памяти — все начинает опять работать.
Внезапный, не волнуйтесь. Вы знаете, например, что с определенного момента на 8-ке нельзя получить обновлений, если она стоит на машине с Intel 7-го поколения? Просто нельзя — и всё.

support.microsoft.com/en-us/help/4012982/the-processor-is-not-supported-together-with-the-windows-version-that

Ставьте 10ку — и не волнует.

Правда… Есть один маленький патчик. Он подменяет пару вызовов библиотечных функций. После чего пропадает голубое окошко и апдейты становятся без дальнейших танцев с бубнами!

И это называется «вменяемые границы поддержки»? По моему это просто — наипалово типичное.
Они таким образом просто не поддерживают старые ОС. Эти патчики в 99 случаев из 100 будут работать, а в одном будут ломаться. Если бы они официально поддерживали восьмерку, их саппорт бы завалили жалобами. А так, сам пропатчил — сам и разбирайся, юникс вей так сказать. Не скажу, хорошо это или плохо, но вполне логично.
UFO landed and left these words here
Если вы майкрософт, и у вас есть баг один на миллион, то у вас сотни недовольных клиентов, у которых всё сломалось. Ломаться им с того, что их никто не тестировал на этих ОСях, и никто не знает, достаточно ли разницы между 7 8 и 10 чтобы разломать этот патч.
UFO landed and left these words here

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

UFO landed and left these words here
Каким образом он что-то нарушает?
UFO landed and left these words here
Майкрософт не может нарушать свое лицензионное соглашение, потому что там наверняка написанно «можем делать что угодно, и вообще вы не купили, а арендовали на бессрочной основе».
UFO landed and left these words here
Это да, поэтому если у кого-то что-то ломается, майкрософт вместо «ой, чего у вас случилось, сию секунду исправим» говорит «а чей-та вы соглашение нарушаете?». И им не надо это чинить.

Ну все правильно, что не так-то? Костыль же не поддерживается.

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

Типа, в микрософте такие — «А нам лень писать патчи для новых ядер — идите нахрен! И пофиг.»

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

Впрочем, дизайн у десятки действительно не очень, и не с точки зрения оформления, а с точки зрения эргономики. Проводник это вообще какая-то свалка.
До этого недалеко. Уже есть процессор не совместимый со старыми ОС…
а требуют продуктов в стиле Windows 10 (или в «материальном дизайне»

Не требуют, а навязали. И даже многих обновляли принудительно. И XP заранее объявили end of life, хотя могли поддерживать ещё года 2-3 как минимум, не было там особых проблем. Новые протоколы шифрования бы завезли, aac и h264 кодеки, DirectWrite, и IE9 с ним вместе — и была бы сказка. Вы вот спросите пользователей честно, многие ли довольны новым интерфейсом десятки. Мне кажется, результаты вас удивят.

А современные тяп-ляп сайты создаются на дни, иногда за часы…

А куда спешить-то? Чем круче проект, тем больше времени можно потратить на разработку. Но даже сайт-визитку чтобы сделать прилично, нужно потратить 2-3 дня в идеале. И это не так уж и много. В веб-студии, кстати, если несколько человек будут работать параллельно, получится быстрее.
Навязали… я отлично помню разговоры в 01-04 годах что MS навязывает тормознутую и обвешенную рюшечками XP, в то время как под 98 реально все работало быстрее, и w2k без лишних рюшечек стабильнее… и только в SP2 и с подешевевшей памятью стало реально в ней жить
==
все идет все изменяется, а придирки старые
все идет все изменяется, а придирки старые
Потому что и проблемы, как бы, старые, да.
Навязывание установки Windows 10 — уже забыли?
Не требуют, а навязали.
В том-то и дело, что требуют! Я про это уже писал: человек на полном серьёзе отказывается смотреть как и что работает в gerrit'е, потому что у того, ай-ай-ай — интерфейс из 90х.

Сейчас, впрочем, запилили моднючий интерфейс c «материальным стилем», так что всё стало жутко тормозить… но может теперь этим начнут пользоваться?
И если люди отказываются пользоваться интерфейсом 90х, а требуют продуктов в стиле Windows 10 (или в «материальном дизайне»), то, стало быть, цель достигнута.
ИМХО десятка слишком молодая и про ее интерфейс мнение не успело сложиться, а вот некоторые более старые решения Микрософта вызывали бурю возмущения — вспомнить, нпр., пресловутую скрепку-помощника в офисных программах. Не все решения бывают хорошими даже у лидеров.
У игр из 90х был полный или почти полный доступ к ресурсам компа (той же видюхе) Браузеры же — это «песочницы», тут у вас банально не получится все так жe оптимизировать.

И че все так прицепились к «красивым» пикселям?
Гуглокарты со стритвью — это красивые пиксели? Запусите на свой любимой 98ой винде тогда в 3ем фаерфоксе.
UFO landed and left these words here
0*500=0, так что конечно готов))))
UFO landed and left these words here
Про это в статье и пишется, что автомобили это могут сделать хотя бы на уровне суперкаров. А программы как-то не особо. Покажите ворд для арабских шейхов, работающий в 100 раз быстрее майкрософтовского?))
Другой вопрос почему такого софта нет?
Другой вопрос почему такого софта нет?
Почему нет? Есть. Поставьте MS Office 2000 на современную систему и он будет запускаться за такое время, что вам покадрово видеосъёмку нужно будет изучать, чтобы заметить, что он делает это не мгновенно.

И да — он вполне работает:

Собственно это основная беда софта: суперкар выпускать выгодно, так как в нём может не быть хитрых подставок для кофе — но скорость окупит всё и его купят.

А быстрый софт выпускать невыгодно: разработка быстрого софта со всеми-всеми-всеми фичами, которые есть в той куче… добра, которое сейчас стоит на полках — невозможна (пока вы будете его разрабатывать выйдут ещё версии с ещё большим количеством фич), а с ограниченным — не нужно, так как старые-то версии не протухают!

Есть довольно большое количество софта, маленького и шустрого (тот же FAR) — но это всё некоммерческие проекты. Ибо заработать на этом нельзя!
И что вы в нём будете открывать, кроме вашего институтского диплома?
Вы не поверите, но, в общем, всё, что угодно. Поставьте Compatibility Pack — и вперёд.

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

Сайт, который теряет данные? Хаха. Сайт, который пойман на воровстве данных и передаче их левым людям, до сих пор наверное топ1 по популярности в мире, если не брать поисковые сайты.

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

а кроссовер за 2 тонны вместо городского компакта для покатушек на работу вполне. Разница не настолько впечатляет (всего лишь в 3 раза), смысл тот же
UFO landed and left these words here
Таки нет. Даже с учетом «не Москвы» (просто в ней нагляднее проявляется из-за избытка денег у части жителей).
И написал я именно
кроссовер за 2 тонны вместо городского компакта для покатушек на работу

поскольку в случае когда вместо дорог уже направления — нужен полноценный внедорожник а не кроссовер
UFO landed and left these words here
Смысл не совсем тот же. Кроме повышенной проходимости 2-тонный кроссовер еще и сильно безопаснее городского компакта. Учитывая количество идиотов на дорогах и мягкость наказания даже за смертельные ДТП — это совершенно нелишнее.
И полноценный внедорожник нужен в основном только для тех, кто по направлениям вместо дорог ездит постоянно. Для периодической езды по засыпанным снегом улицам — очень годный компромисс.
Пока куча дерьма в красивой обёртке пользуется большей популярностью, чем маленькая, быстрая, но «негламурная» программа

Возможно просто вы не видите каких-то фичей которые на самом деле привлекают пользователей, а «куча дерьма» на самом деле на другой стороне.
Я так понимаю, минусующих полностью устраивает наше время, в котором веб страницы весят по 50 мб, вся электроника требует замены раз в пятилетку просто ради поддержания функционала, когда автомобили разваливаются сразу после гарантии, а дома делают из прессованой бумаги? Увы, рынок хочет лишь мусора, поярче да подешевле, это научно доказаный факт. Оригинал публикации
nodejs имеет полное право быть добавлена к PHP/Python. Ничем принципиально от них не отличается.
платить вместо условной тысячи долларов за новый телефон — платить 50 000?

А придется.
Физика круче психологии.
В этом можно убедиться, убедив себя, что человек может летать и шагнув за балкон посмотрев на технологии литографии.
Предел кремния где-то 3нм и 5-6ГГц для десктопа.
Но раньше все упрется в тепло — навскидку, 200 Ватт для десктопа и ватт 5 для смартфона.
Больше — ожоги конечностей Боженька не велел.
Предел кремния где-то 3нм и 5-6ГГц для десктопа.
Но раньше все упрется в тепло — навскидку, 200 Ватт для десктопа и ватт 5 для смартфона

исключительно если делать чипы двумерными
технологии уже сейчас (на примере МЭМС) позволяют делать трехмерные микросхемы с принудительным распределением тепла жидким теплоносителем.
у смартфонов же ограничение не столько по теплу сколько по автономности
банально батарея не тянет более мощные процессоры. Рассеять же несколько десятков ватт не настолько большая проблема.
Да и частоты больше зависят от топологии чем от техпроцесса
UFO landed and left these words here
естественно активное охлаждение нужно
но его уже батарея не потянет как я писал
а рифление не поможет тем более большинство пользуется чехлами которые это рифление закроют целиком
UFO landed and left these words here
UFO landed and left these words here
Теплотрубки уже начали вставлять, в Sony Xperia Z2 2014 года, например.
UFO landed and left these words here
UFO landed and left these words here
А они уже выпускаются
image
Чушь.
Стоимость разработки в пересчёте на устройво копеечная.
Веб-сайты по моему личному опыту прекрасно пишутся вообще без фреймворков. И таки да написанные мной spa летают даже на древних нетбуках. Чего не скажешь о любом сайте на современных фреймворках
Такого рода высказывания хорошо бы подкреплять примерами проектов, чтобы можно было оценить сложность проекта.
проекты в основном закрытые
ну вот вам скриншот написанной с нуля админки
ibb.co/bVTANK
96кб не минифицированного javascripta
148кб общий вес с серверной частью
На вид конечно не дизайнерская работа, но оценить качество вашего кода по скриншоту — увольте.
зачем админке «дизайн»???
как нынче говорят юзабилити нужно,
функционал нужен
а любоваться дизайном это не к админке
примеры того как дизайн убивает удобство в админке большинства современных роутеров.
по качеству же размеры кода я написал, функционал по скриншоту прикинуть +- лапоть можно, а пускать вас в закрытую часть сайта чтобы вы убедились что это летает или открывать исходники естественно никто не будет
Ну у вас типичный случай разработчика одиночки.
Когда вы пишите код для своего проекта в 1-2 файлах и вы все помните — где что лежит, что как работает и т.д.
Но попробуйте разобраться в чужом таком 'pet' проекте — сразу поймете в чем проблема. К тому же качество кода из примера ниже явно хромает.

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

В реальных проектах под нагрузкой у вас банально не будет времени долго врубаться в чужой код и проверять что ваш ничего не сломал.
UFO landed and left these words here
Если это правда так, то тут гордится «96кб не минифицированного javascriptа» думаю особо не стоит :)
Вот этот момент порадовал:
// Пошла магия
...
этот скрипт написали до меня как и большую часть сайта к слову))
хотя пару незначительных правок в нем таки делал.
сейчас точно не скажешь
но человек семь до меня точно в коде отметились
То «сайты прекрасно пишутся», то «Да там до меня 7 человек было, вот эту грязь вообще не я писал». Вы уж определитесь :)
вроде понятно все писал
но всегда найдутся желающие придраться
на данном сайте на данный момент с нуля мной написана только админка ибо старая безбожно тормозила. Все остальное планируется к замене но еще не заменено. Есть и другие сайты написанные полностью мной но они «для внутреннего пользования» и посторонние дальше запроса пароля ничего не увидят

Если на пример "сайта без современных фреймворков" не взглянуть без слез, то это очко в пользу этих самых современных фреймворков, вы же понимаете?

бедняжко контуженный материальным дизайном
вот тебе пример современных фреймворков
вот где глаза кровоточить начинают и шаринган пробуждается
ibb.co/hSwOsK
Просто у человека нет знакомого дизайнера, который сделал бы красивый и аккуратный UI. Это можно простить. Из меня тоже дизайнер не очень (хотя мне тоже дизайн со скриншота выше кажется уж слишком аляповатым).

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

Не пользоваться фреймворкаи это как не пользоваться IDE, не пользоваться средствами ОС, не пользоваться драйверами, а пытаться всё-всё-всё запихнуть в одно приложение. Есть хорошие принцицы SRP и DRY, которые дико нарушаются таким подходом.

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

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

В 90-х что-то не приходилось платить 50к за Windows 95, хотя зоопарк устройств был тот ещё: и дискеты, и сидюки, и диски увеличенной ёмкости разных форматов, далее — пяток производителей «графических ускорителей», пара производителей звуковых карт (что это?) и тд

Однако, 95-я винда стоила таки заметно дороже «десятки»: 210 баксов за коробку, против примерно 100 (и ещё можно учесть инфляцию).
Но ведь Pro версия десятки как раз стоит около 200 долларов.
95-я не тянят на прошку ;) На хоум лишь.
В 1995-м очень даже тянула :) В офисах найти Windows NT было ещё нереально, у всех 95 или 3.11 FWG
Вообще-то, в 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.
Более того, википедия фактически говорит что вы не правы:
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 была экзотикой, которую никто не видел. Так что приходилось мириться, да…
ежегодные продажи персоналок уже в те годы достигли десятков миллионов… на этом фоне триста тысяч… не смешите мои тапочки

Если вы говорите таки не про персоналочки, а про офисы, то не забывайте, что до появления на рынке линейки Windows NT, этот рынок был на 90% «под пятой» Novell NetWare, к 95-му году уже пару лет как имевшей в активе NetWare 4 с NetWare Directory Services, аналог которого у Майкрософта (Active Directory) появился лишь через ещё пять лет. Так что если уж про офисы, причём крупные, то в 95-м можно было таки скорее увидеть эту самую нетварь, чем мастдай.

Вы просто молоды видимо, а я 95-й помню, потому что как раз школу заканчивал.
Если вы говорите таки не про персоналочки, а про офисы, то не забывайте, что до появления на рынке линейки Windows NT, этот рынок был на 90% «под пятой»

Это абсолютно верно, в офисах *крупных компаний* тех лет сетевой ОС была чаще всего как раз нетварь, реже всякие *никсы. И не только до появления линейки Windows NT, а ещё долгое время после её появления. Перелом был где-то в 1997-м году. Но есть момент, который вы упустили — хороший и очень популярный клиент нетвари как раз был встроен в Windows 95 ;)
Microsoft Client for NetWare предоставлял лишь доступ к файлам и к принтерам (без авторизации в NDS) в сети нетвари. Ничего другого, например авторизации в NDS и доступ к другим сервисам, он не предоставлял. Так что с «про» ролью мастдай не справлялся, как минимум до покупки пакета «плюс» (содержавшего интернет эксплорер 1.0 и планировщик задач) и новеловского Client 32. Таким образом, сравнение 95-й винды с 10-й хоум эдишн полностью оправданно.
Таким образом, сравнение 95-й винды с 10-й хоум эдишн полностью оправданно.
Это если сравнивать сетевые возможности. Но, как известно, киллер-фичей Windows в те годы была возможность запуска DOS, а вовсе не продвинутые сети. И тут у нас оказывается что по этому параметру любая, самая простецкая версия DOS попадает туда же куда и Windows Professional.

Сравнивать же Novell Netware и Windows 95 по меньшей мере глупо — это были операционки, которые вообще никак не пересекались. Вот Microsoft OS/2 (да-да, вы не поверите, но именно Microsoft OS/2), а позже и Windows NT были прямым конкурентом Novell Netware… но это совсем другая история.
А ещё придётся платить за каждый веб-сайт, потому что разрабатывать каждый раз всё с нуля, без использования библиотек и фреймворков — будет очень и очень дорого.

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

Можете даже смеха ради почитать вот этот увлекательнейший тред news.ycombinator.com/item?id=17915560 — половина отметившихся искренне недоумевает как это такой простейший сайт, да без фреймворков и прочего мусора запилили. Ведь должно быть все по гайдлайнам, а у них, чертей эдаких, все в одном JS файле лежит. Это все, что нужно знать про современный фронтенд.
UFO landed and left these words here
Это все, что нужно знать про современный фронтенд.

Вы взяли сайт где люди под статьями оставляют коменты. Там думаю действительно можно ограничится одним js файликом. (Причем в первом же комменте там приводится пример того почему это не масштабируется)

Напишите фронт к какому-нибудь гмэйлу в одном файле, еще и командой из 20ти человек, раз у вас так от фронтов бомбит.
Напишите фронт к какому-нибудь гмэйлу
Написать интерфейс к почте сильно сложнее, чем к сайту, где люди под статьями оставляют коменты?
По-моему очевидно что интерфейс гмэйла сложнее чем у хакерньюса.
Сложность интерфейса не представляет ценности.
Ценность представляет сервис — почта.
Почта — не сложный сервис.
Почта не требует сложного интерфейса.
Если у простого сервиса сложный интерфейс, то это недостаток, а не достоинство.
Ценность представляет эффективность решения реальных задач с помощью сервиса. Задача «доставить сообщение адресату(ам)» — это техническая задача, а не реальная. Для технической задачи достаточен telnet клиент (если говорить о SMTP/POP3 и ко). Но вы сами будете пользоваться почтовым сервисом, который из пользовательского интерфейса предоставляет только соотвествующие порты? Ну то есть вообще нет ничего больше.
Вы не сформулировали реальную пользовательскую задачу.
Обычно сам пользователь формулирует задачу как «чтобы почта работала». Ему знакома сущность «письмо», но не «TCP-порт». С помощью telnet-клиента редкий бухгалтер отправит письмо, а с помощью SquirrelMail — запросто.
Это вы её не сформировали перед тем как рассуждать о достинствах и недостатках, и часто под «чтобы почта работала» оказывается имеется в виду гораздо больше чем просто создание, отправка и чтение писем в простом интерфейсе.
То что вы описываете — это базовый простейший интерфейс для почты.
Но у всех пользователей разные запросы.
Например, я хочу иметь возможность галочками отметить нужные письма из списка и перетащить их мышкой в другую папку. Загружать аттачменты перетаскиванием файлов. Иметь нормальный wisywig и так далее.
Базовый интерфейс всего этого не покрывает. Поэтому гмэйл для меня удобен — а squirellmail это когда нету альтернатив.
галочками отметить
перетащить их мышкой
нормальный wisywig
Это может быть нужно и для писем, но и для комментариев. Всё ещё непонятно, чем почта сложнее сайта, где люди под статьями оставляют коменты.
Зачем вам комментарии таскать мышью? Или отображать один комментарий в нескольких «папках»?
Или отображать один комментарий в нескольких «папках»
Это называется «теги». Они удобные, хотя я их и не просил.
Зачем вам комментарии таскать мышью
Затем же, зачем вам перетаскивать письма.
Я могу придумать множество юзкейсов и для работы с комментариями, вы — с письмами, но показать принципиально бо́льшую сложность почты всё равно не получится.
В ваших условиях невозможно сравнить сложности вообщe чего-либо т.к. требования постоянно меняются.
Ну так я и не утверждал, что один класс интерфейсов сложнее, чем другой.
Наверное, если хочется порассуждать на эту тему, надо описать объекты, с которыми нужно работать. И прикинуть возможные действия.
Что в почте, что в «сайте с комментариями» объект — это набор текста, картинок, вложений, с отправителем и получателем в метаданных. На мой взгляд, объекты одного порядка сложности. А в мейлинг-листах они вообще срастаются в одно.
Зато вы берете уникальные сверхпопулярные и высоконагруженные проекты.
Только вот 99,999% остальных сайтов в аналогичном стеке не нуждаются, но используют, зачастую еще и очень криво. В результате все безбожно тормозит.
Пару примеров таких сайтов в студию.
Ну хабр то как раз скорее в «старом» стиле.
Тут, вроде как, никакие фрэймворки на фронте не используются (подключен jQuery 1.8.3) и большая часть рендерится на сервере.
У меня в этой теме 3 кадра в секунду. В Fallout 4 — 144.
Мы говорили о сайтах сделанных на современных фрэймворках. Фронт хабра написан на jQuery и каких-то кастомных скриптах и умудряется тормозить.
Может если бы они использовали современный фрэймворк и, например, сделали ли бы ленивую подгрузку/отображение комментариев — то так сильно не тормозило бы.
UFO landed and left these words here
Если это так, то я боюсь её уже включили.

А вообще виртуализация отображаемой области — король на рынке экономии производительности и убирания лагов со времен Дельфи.
UFO landed and left these words here
По идее этим должны заниматься сами браузеры.

Они не могут, это нарушит спецификацию.

Напишите фронт к какому-нибудь гмэйлу в одном файле

Это же невообразимо сложно подгрузить json'ку с заголовками с сервака и отобразить их построчно, припорошить кучей иконок, а по нажатию на заголовок уже подгрузить само письмо. Это элементарнейший веб-интерфейс, в котором ничего не может работать медленно. У Яндекса работает быстро, у Мыла, прости господи, работает быстро, навороченный и кастомизируемый интерфейс ProtonMail работает быстро. И вот ирония, у гугла есть HTML версия, которая, ну вы поняли — работает быстро. Так как же вот эта элементарщина в основной версии у них умудряется лагать сильнее, чем их же убогие карты? А все просто: огромная команда разработчиков гугла просто оправдывает свое существование. Сначала им, видите ли, не понравился простой и функциональный дизайн, поэтому напрягли команду дармоедов испортить интерфейс, потом напрягли пару сотен дармоедов испортить фронт, потратили на это год, а может два и теперь примерно столько же будут героически превозмогать. А потом новый фреймворк, над дармоедами дизайнерами снова нависнет угроза увольнения и цикл повторится.
Та же фигня у них с картами. Наступил коммунизм и мы теперь можем рендерить страницы на RTX2080 с рейтрейсингом, поэтому почему бы нам не воткнуть кучу 3D в КАРТЫ! А, нет, коммунизм не наступил и люди пытаются пользоваться этим на Intel HD4000 с 4 гигами оперативы и, о неожиданность, оно лагает.
Веб стал слишком переусложнен. Где достаточно открыть новую вкладку — мы начнем рендерить в той же. Динамическая подгрузка вместо пагинации, раздутый дизайн, куча анимаций, хотя они нафиг не упали — зачем все это? Это не имеет никакой полезной нагрузки, так зачем все это запихивать на страницу? А потому что иначе мы уже завтра увидим сокращение штата в каждой крупной конторе процентов эдак на 30. Но работа есть работа, свое существование надо оправдывать.
Это же невообразимо сложно подгрузить json'ку с заголовками с сервака и отобразить их построчно, припорошить кучей иконок, а по нажатию на заголовок уже подгрузить само письмо. Это элементарнейший веб-интерфейс,

Согласен, только это не интерфейс гмэйла.
Специально для таких как вы у них есть html-only версия, там именно так все и работает как вы написали.
А какие дополнительные достоинства есть у полной версии интерфейса?
я там выше отвечал:
… возможность галочками отметить нужные письма из списка и перетащить их мышкой в другую папку. Загружать аттачменты перетаскиванием файлов. Иметь нормальный wisywig и так далее..
Ею и пользуюсь. Весь остальной визуальный мусор только мешает.
//Если уж говорить о мусоре, то Хабр теперь в моем топе вплотную приблизился к лидерам: перейти из профиля к своему комментарию в этом треде занимает аж полминуты. Т.е. всего чуть менее чем 2к комментариев кладут Хабр на лопатки. Зато красивенько, да.
UFO landed and left these words here
Скорее как средство замены одной проблемы на другую и в целом с понижением формальной надежности, но повышением в некоторых случаях практической, когда падение маловажной или просто ненужной сейчас части системы приводит лишь к деградации, но не полному отказу.
UFO landed and left these words here
Почитайте труды доктора Демминга… Это такой американский учёный, который пытался всем вокруг схожие идеи толкать, что мол хватит лепить абы как, давайте всё посчитаем аккуратно и выйдет, что можно сделать лучше и даже ещё и сэкономить…
Я занимаюсь разработкой ПО уже много лет и вижу (на живых примерах, т.к. сменил с десяток компаний уже), что может оказаться дешевле писать качественные программы, чем некачественные… и конечно никто не хочет делать себе плохо (ну может эмо, но мы не про них), просто люди где-то поленились (+1 контринтуитивный интерфейс), где-то поторопились (+1 порядок тормознутости программы, где человек не разобрался как в том кривом интерфейсе обновить данные и просто переполучил заново всю пачку), недальновидность (следующий разраб не стал пытаться улучшить что есть, а просто разделил это на воркеров в микросервисах и развесил на кластер, чтобы выдержать возросшую нагрузку)… Но страшно даже не это, страшно то, что работая с хорошей программой хороший программист сразу понимает что и почему тут там сделано и куда именно ему нужно внести правки, чтобы добавить нужный функционал. А с плохой так не прокатывает и ты либо тратишь гору времени на изучение всех хитросплетений костылей, либо просто втыкаешь ещё парочку (первый — чтобы сделать функционал, второй — чтобы подпереть то, что отвалилось из-за первого, который не на месте)… В итоге ты тратишь на задачу много времени, начальство недовольно и ты решаешь, что можно и без тестов нормальных, абы как, вроде работает… А в следующий раз тебе уже и страшно выдёргивать какие-то костыли, даже если время есть, потому что тестов то нету и вдруг ты не все хитрости понял и что-то сломаешь?
Ну а у Демминга ещё ПО не было, он обсуждал, что дешевле заказать более дорогую доставку, но чтобы товар доставили ровно в 9:05 к воротам цеха, чтобы рабочие занесли материал и сразу пошли его обрабатывать, без склада, кладовщика и перетаскиваний между помещениями. А дальше он писал и вовсе чудестные вещи, что произвести качественный товар даже дешевле — если покупатель видит, что у вас товар лучше, то он и брать будет у вас, т.е. в долгосрочной перспективе реклама почти не нужна; если рабочий будет видеть, что его товары лучше всех — он будет испытывать гордость за свою работу, а не стыд — это мотивация не увольняться; если будет меньше брака — будет меньше затрат на доделку на выходном контроле и меньше возвратов от клиента и т.д.
А с плохой так не прокатывает и ты либо тратишь гору времени на изучение всех хитросплетений костылей, либо просто втыкаешь ещё парочку (первый — чтобы сделать функционал, второй — чтобы подпереть то, что отвалилось из-за первого, который не на месте)… В итоге ты тратишь на задачу много времени, начальство недовольно и ты решаешь, что можно и без тестов нормальных, абы как, вроде работает… А в следующий раз тебе уже и страшно выдёргивать какие-то костыли, даже если время есть, потому что тестов то нету и вдруг ты не все хитрости понял и что-то сломаешь?

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


Мой любимый случай был когда мне упала задача на дыры в API, я нашел больше сотни дыр, которые позволяли одним пользователям управлять аккаунтами/данными/… других. Подумал немного, сделал один аутентифицирующий фильтр, который закрывал разом все возможные дыры, и отправил на ревью. Ревью оно не прошло — "слишком много изменений, ты же всю платформу затронул, кто это тстировать будет?!?!". Итоге — решение не принято, все эти дыры так и висят до сих пор, насколько я могу судить.

«Кто это тестировать будет» ещё нормально по сравнению с «я не знаю как это тестировать»
Что, в общем, правильно. Т.к. с автора изменений и надо в первую очередь спрашивать план тестирования.

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

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

Это сильно напомнило Генри Форда.

Задавался тем же вопросом, что и автор, но мне кажется, что производительность технологий значительно обгоняет скорость разработки софта.
Мне проще работать на unity, которая даст доступ к необходимым инструментам и позволит реализовать идеи заказчика, чем конструировать инструмент или подбирать что-то, что будет реализовывать аппаратный потенциал.
Дело не в том, чтобы писать для каждого куска железа чистый код с нуля.
Тем более что это невозможно.
Дело в том, чтобы не добавлять немного своего дерьма на каждом шаге разработки (компилятор-среда-ядро-система-окружение-фреймворк-ПО) к общей куче дерьма, которое выльется на пользователя.
Почему-то вы вместо решения проблемы пытаетесь ее раздуть. Не нужно писать 100500 фреймворков, делающих одно и то же, нужно один раз сделать один нормальный. Так везде. Но люди настолько заплодили все сущностями, что и не хватает времени как следует с ними разобраться. Первый текстовый редактор был написан десятки лет назад, наверняка, он не был быстр. Но проблема осталась — я все еще жду свой компьютер, пока он что-то там сделает, хотя я просто набираю текст.
Нельзя сделать один нормальный фреймворк, а если можно было бы, то его сделать частью языка надо было бы. А ещё сделать один нормальный язык и никто не уйдёт обиженным.
Очевидно же, что проблема не в том, что нельзя, а в том, что люди не умеют договариваться. А на обиженных воду возят. Я имею ввиду, что нельзя просто так взять и обидеться на хороший язык программирования.
Именно что нельзя. Для разных задач оптимальными будут разные фреймворки/языки

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

Не люблю С++ за ручное управление памятью
Не люблю C# за автоматическое управление памятью

Вы уж извините, но тут третьего пока не придумали :)

Бтв, множественное наследование реализации — известное зло, а множественное наследование интерфейсов в C# есть.
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
Ручное управление памятью в C++ это не совсем правда — вы вполне можете, если это вам нужно, пользоваться собственными аллокаторами, включая автоматическую сборку мусора и сжатие свободного места (правда, подозреваю, код будет довольно громоздким в написании)

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

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

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


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


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

Ну, смотрите. У вас есть множественная реализация интерфейсов. Интерфейсы идут с методами-расширениями или дефолтной реализацией. То есть поведение (некоторое) наследуется. Есть наследование реализации от одного базового класса — тоже всё ок.


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

UFO landed and left these words here
UFO landed and left these words here
Есть подходы, которое вообще любое наследование запрещают под соусом «используйте делегирование». Они, надо понимать, вообще ничего в жизни не понимают?
UFO landed and left these words here
Смотрите, сначала вы говорили, что множественное наследование — зло.
Теперь вы приводите пример, что кто-то говорит, что наследование — зло.

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

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

в ФП тоже строят сложные схемы, но наследования там нет.

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

Это вопрос из разряда «зачем делать модификаторы доступа public, зачем самому себе искусственно ограничивать возможности» :)
UFO landed and left these words here
UFO landed and left these words here
Вот причем тут ооп-езыки и реализация интерфейса? Реализация интерфейса к ооп вообще не имеет никакого отношения. И да, дефолтная реализация — это скорее всего совершенно не нужный синтаксический сахар. Ну реализован дефолтно как-то там метод интерфейса. Ну в классе-наследнике если нет реализации — скопируется реализация и все. А оно надо вообще? Это опять костыль какой-то…

У вас есть базовый класс А, к нему пристегнут интерфейс iA, у этого интерфейса метод defm(). Есть производный класс Б, т.е. Б.А, и соответственно Б.А:iА, и т.к. деф.метод скопируется полностью, то будет Б.defm(). У другого производного В от А будет такая же история, т.е. В.defm(). Вызовы всех трех методов как раз таки нарушают ооп. Потому что метод на самом деле один, и он А.defm(), а все остальное — его копии. И зачем это копирование метода? Что бы его вызывать из Б и В уже щяс достаточно Б.defm() и В.defm(). Могу предположить для «инлайна» реализации defm() в классы-наследники — но зачем? Тут уж наверное проще было бы завести какое-нить ключевое слово хоть то же «inline», т.е. если метод имеет инлайн, то он и заинлайнится в наследников, а не будет висеть только у родителя. Оно было бы понятно как и что. Но ооп-то тут причем? Если нынешняя реализация деф.метода — это костыль для может быть увеличения производительности, но это разрушает ооп. Ключевое слово было бы понятнее, и не разрушало бы ооп.
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
Эффекты насколько я понимаю просто позволяют декларировать некоторое множество «грязных» действий функции, разве нет? Если да, но немного не понимаю, причем тут это.
А еще не вижу, как МН ломается в этом случае. У нас всегда есть статически известная функция, которая вызывается, либо виртуальная функция, которая тоже однозначно задается.
UFO landed and left these words here
Ну тип тут явно не выводится сам по себе. С тайпклассами было бы то же самое вроде.
UFO landed and left these words here
Я про то, что нет однозначного типа для C1 | C2, а возвращать тип-сумму неявно языки не позволяют, что хорошо.
UFO landed and left these words here
Так нет же, с тайпклассами мы можем объявить свой трейт для типов C1 и C2 и теперь он тоже должен в него резолвится. В случае обычного наследования у нас по месту объявления классов уже понятно, какие супертипы у них могут быть общие.
Какой тип у выражения cond? { x = 10, y = 20 }: { x = 30, z = 40 }?

В тс будет { x: number, y: number, z?: undefined } | { x: number, z: number, y?: undefined }.


Вы можете написать этот код

Да вообще-то нет, типов-объединений ведь нету в джавах. Можно кастануть к Object обе ветки и будет результат Object или чот такое. Может, в каких-то случаях каст к супертипу будет сам по себе.


Более того, он будет равен чему-то вроде T where T extends I1 & I2

Неправильно. Он будет T where T extends (I1 & I2) | (I1 & I2) и уже потом сократится по идемпотентности |. Но если | в языке нет то и не получится результата, если только не закостылить вот один этот конкретный кейз.

А можно пример когда множественное наследование нужно? Именно нужно, а не типа «в этом классе у нас код повторяется и из этого класса, и из этого — нужно отнаследоваться от обоих». Множественное наследование очень яркий признак нарушения принципа единственной отвественности во всех случаях, когда я его реально встречал. И никакой необходимости его нарушать я не видел.
А как же быть с миксинами? Когда в класс нужно добавить какой-то функционал.
UFO landed and left these words here
UFO landed and left these words here
А ещё придётся платить за каждый веб-сайт

Кому, посетителю? Заказчик и так платит.
Можно написать более оптимизированный софт и меньшем количеством разработчиков. «А в реальном мире пользователю важнее получить приложение за 1$ которое будет работать». но будет работать а не вырубать от перезгрузки и нехватки оперативки телевизор или телефон, в котором всего памяти 16г = занято 1г + свободно 300мб.
Вы задним числом поменяли вопрос и написали удобный ответ.
Не надо нанимать никого нового, нужно уволить прежних дураков вместе с менеджерами и нанять небольшое количество, но квалифицированных.
«нанять небольшое количество, но квалифицированных»
Они у вас, как мухи, самозарождаются из воздуха? Или, всё-таки, должны получить свою квалификацию, поработав на каких-то проектах перед этим?
Тогда какие-то проекты должны быть написаны обычными слабоквалифицированными программистами
Для этого существуют учебные заведения и любительские проекты, не надо всё это тащить в софт которым будут не только пользоваться массово, но ещё и деньги за это платить.
Вообще конечно это совершенно несусветное заявление, что
перед тем как начать делать свою работу качественно, работник имеет право некоторое время выпускать брак, пока не научится
. В любой другой профессии это подвело бы человека если не под статью, то по крайней мере под заключение о профнепригодности с последующим увольнением. Но ИТ-шникам всё сходит с рук, толи потому что никто не понимает что возложенная на них ответственность не меньше чем в любой другой профессии, толи потому что никто в принципе не понимает чем они занимаются.
В любой другой профессии это подвело бы человека если не под статью, то по крайней мере под заключение о профнепригодности с последующим увольнением

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

Низкоквалифицированный = умеет делать работы низкой сложности
Квалифицированный = обычно имеют в виду «имеет высокую квалификацию и может делать работы высокой сложности» (здесь я не про токарей, а опять про программистов)

А проблема брака везде решается выходным контролем — даже квалифицированные могут ошибаться + возможен брак материалов (а здесь я уже про любое производство, включая программы)
Ещё один принцип решения проблемы брака — допуски до работ. Грубо, есть работы к которым разрешено допускать только токарей 6-го разряда, может 5-го, но с большим опытом работы.
Низкоквалифицированный труд это не значит гнать брак. А нормальный «выходной контроль» как раз не пропустит всю дичь упомянутую в статье.
Штат разработчиков расширят? Все, кто делает продукт для массовой аудитории знают, что вложения в рекламу и маркетинг дают большую отдачу, чем вложения в разработку.
Проблема не в стоимости, проблема в особенностях рынка. Нужно успеть первым. Пользователи НЕ ЛЮБЯТ ПЕРЕУЧИВАТЬСЯ. Ваше приложение может быть гораздо лучше. Но если кто-то уже занял нишу, потеснить его непросто. Поэтому скорость разработки стала для многих видов ПО самым главным. А из этих областей идея верховенства скорости над качеством расползается на всю отрасль.
Я начинал не 15, а, страшно представить, 50 лет назад. Алгол, Фортран и программирование штырьками на Промини со 100 ячейками памяти. В те времена программисты были учеными. Не было еще инженерной дисциплины программирования. Очевидные сейчас приемы придумывались у меня на глазах. Зачем исторический зкскурс? В книге 1961-го года издания доказывалось, что языки высокого уровня не имеют экономического смысла: машинное время, потраченное на трансляцию стоит много дороже времени, которое экономит на этом программист. Основной проблемой почти любого программиста было поместить в компьютер задачу, которая ни по времени, ни по памяти помещаться туда не может.
Привычку экономить биты и такты я потом годами по капле из себя выдавливал. Экономное программирование нужно для критически важных фрагментов. В остальных случаях оно замедляет разработку. Другое дело, что после ученых пришли инженеры, а потом кодеры. И отличить критически важные фрагменты от остальных они не могут, и экономить ресурсы совсем разучились. Отсюда и описанные в статье проблемы.
Пользователи НЕ ЛЮБЯТ ПЕРЕУЧИВАТЬСЯ

И тем не менее в последние 8 лет практический каждое приложение или веб-сайт поменяли дизайн, и скорее всего не однажды.
Меняют дизайн, в двух случаях.
1.Когда не могут добавить полезный функционал, а нужно как-то обосновать полезность перехода с версии 14 на версию 15. Тогда привлекается группа дизайнеров и продавцы начинают расхваливать их творчество.
2.Когда новый функционал требует нового интерфейса. Например, для программы расчета трубопроводной сети добавили к табличному интерфейсу картографический. Стало возможным вводить огромные сети с минимальными ошибками, автоматически определять длину участков, строить пьезометрические графики и продольные профили, выводить на карту результаты расчетов и т.д.
В обоих случаях пользователи ворчат. Но во втором они видят пользу.
Вашими бы словами… Вот какой новый функционал нельзя было воплотить в GMail образца 2004го года? Или в MS Office 95го?

Я вас разочарую: в 9 случаях из 10 новый дизайн обновляется по одной и только одной причине. Называется: «онолитеги решили, что пора обновить дизайн».

Как правило обосновывается это тем, что дизайн устарел и уже «не модный». Или тем, что он «эклектичный и если вы всё переделаем, то всё будет в одном стиле» (при этом не объясняется почему 10 предыдущих переделок дизайна не привели ни к чему подобному).

Вот в прошлом века зачем меняли дизайн — было легче понять. Скажем Turbo Pascal 1-3, 4-5, и 6-7 сделаны по разному из-за чисто технических ограничений: Turbo Pascal 7 на машинках, где работал Turbo Pascal 5 «не взлетит», как и Turbo Pascal 5 на 8-битных машинках, где работал Turbo Pascal 1. Хотя переход c Turbo Pascal 5 на Turbo Pascal 6 в этом смысле уже сомнителен: в принципе ничто не мешало добавить перекрывающиеся окна и в дизайн Turbo Pascal 5.5, так что этот переход несколько ближе к пресловутой «ленте», однако он почти не затронул «моторные навыки», только визуально чуть-чуть всё перекрасили, так что, в принципе, большим «разрывом шаблона» он не был.

Но вот в XXI веке, после того, как компьютеры стали достаточно мощными, чтобы поддержать многооконный GUI-интерфейс… я вот сходу не назову ни одной фичи ни в одном продукте, которую нельзя было бы вписать в старый дизайн… вы вот можете показать хоть один редизайн, который реально принёс возможность что-то принципиально новое делать, чего нельзя было делать в старой — хоть в одной реальной программе (а не в гипотетической программа рассчёта трубопроводов)?
UFO landed and left these words here
Я с ними не работал, но на YouTube есть видео. Из которых видно, что как редизайна-то там и нету! Вот как раз подход к редактированию — сильно изменился и можно обсуждать к лучшему или к худшему — но «нового стильного, молодёжного»дизайна там нет. Скорее наоборот — видны попытки уменьшить отличия.
UFO landed and left these words here
Программа для проектирования и эксплуатации трубопроводных сетей не гипотетическая. Это совершенно конкретный пример: 30 лет у программы был табличный интерфейс, а добавление картографии позволило резко расширить функционал и целевую аудиторию.
Многие специализированные CAD-системы получили 3D окно, что также упростило пользование и позволило решать ряд дополнительных задач.
Много раз обруганный переход на «ленточное меню» для некоторых программ имел смысл. Когда количество используемых команд велико, высокая вложенность стандартного меню замедляет работу. Если экраны стали достаточно большими, почему бы не сделать как можно больше команд доступными в один клик?
А там уже другая крайность — попробуй найди иконку нужной команды среди сотни похожих… особенно когда они переезжают с места на место как живые.
Хоткеи? нет, не знаем…
Большой экран берут чтобы в него поместилось больше редактируемого документа, а не команд.
Дублирование меню и хоткеев появилось не зря. Разным людям удобно работать по разному. Кто-то помнит только ctrl-C и ctrl-V и то предпочитает вызывать контекстное меню, а кто-то помнит два десятка кнопок.
Вообще, настройка интерфейса для действительно сложных программ дело разумное. Вот только нужно иметь возможность свои настройки таскать с собой в маленьком файле, а то, действительно, приходится искать в чужих настройках нужную команду среди сотен.
Впрочем, в основном мы согласны: чаще интерфейс меняют ради изменений, а не ради практической пользы.
Если часто работаешь с какой-то функцией и нужен быстрый доступ не сложно назначить свой хоткей удобный для пользователя. Другое дело, люди почему-то не хотят этого делать… а так же не хотят использовать мощную систему макросов.
Во-первых, не всем не сложно, удобного интерфейса назначения хоткеев нет в, как минимум, винде и гноме. Главный недостаток имеющихся — просто нет списка уже имеющихся для данного контекста (включая ОС, оконный менеджер и т. п.)
Во-вторых, некоторые сценарии работы вообще не подразумевают использование клавиатуры или её использование исключительно для ввода текстов, вплоть до переключения между полями ввода в форме мышью, а не, например, табом.

Про макросы вообще молчу, «мощные системы» больше похожи на язык программирования.
Программируемость там является дополнительным бонусом, но не обязательна. Ты можешь не видеть текст макроса от создания и до его смерти после многократного использования.
C чего вдруг $50000? Вы считаете наняв группу с дополнительных, скажем, 140 человек, они за пару лет заработают $50 триллионов? Если скромно учесть моб.ОС на 1 млрд единиц.
тормоза как раз из-за расширения штата дешевыми неквалифицированными разработчиками. Тот же Ангуляр, да и популярные фреймворки вообще взлетели, т.к. дали возможность бизнесу распараллелить простые задачи между людьми, умственные способности которых без фреймворка, делающего программирование простым, не позволили бы решить задачу.
Вот построим ИИ — программиста, он нам быстренько всё оптимизирует.

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

За бесконечное время и (особенно!) бесконечные деньги мы и сами сможем всё оптимизировать.

Позволю себе процитировать классика:
Дейв Вудбери и Джон Хэнсен, неуклюжие в своих скафандрах, с волнением наблюдали, как огромная клеть медленно отделяется от транспортного корабля и входит в шлюз для перехода в другую атмосферу. Почти год провели они на космической станции А-5, и им, понятное дело, осточертели грохочущие фильтрационные установки, протекающие резервуары с гидропоникой, генераторы воздуха, которые надсадно гудели, а иногда и просто выходили из строя.
— Все разваливается, — скорбно вздыхал Вудбери, — потому что все это мы сами же и собирали.
— Следуя инструкциям, — добавлял Хэнсен, — составленным каким-то идиотом.
Основания для жалоб, несомненно, были. На космическом корабле самое дефицитное — это место, отводимое для груза, потому-то все оборудование, компактно уложенное, приходилось доставлять на станцию в разобранном виде. Все приборы и установки приходилось собирать на самой станции собственными руками, пользуясь явно не теми инструментами и следуя невнятным и пространным инструкциям по сборке.
Вудбери старательно записал все жалобы, Хэнсен снабдил их соответствующими эпитетами, и официальная просьба об оказании в создавшейся ситуации срочной помощи отправилась на Землю.
И Земля ответила. Был сконструирован специальный робот с позитронным мозгом, напичканным знаниями о том, как собрать любой мыслимый механизм.
Этот-то робот и находился сейчас в разгружающейся клети. Вудбери нервно задрожал, когда створки шлюза наконец сомкнулись за ней.
— Первым делом, — громыхнул Вудбери, — пусть он разберет и вновь соберет все приборы на кухне и настроит автомат для поджаривания бифштексов, чтобы они у нас выходили с кровью, а не подгорали.
Они вошли в станцию и принялись осторожно обрабатывать клеть демолекуляризаторами, чтобы удостовериться, что не пропадает ни один атом их выполненного на заказ робота-сборщика.
Клеть раскрылась!
Внутри лежали пятьсот ящиков с отдельными узлами… и пачка машинописных листов со смазанным текстом.
Вы бы купили машину с расходом 100 литров на 100 километров? Как насчёт 1000 литров?

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

Идея для бизнес-модели производителей авто: продавать машину в 100 раз ниже себестоимости, но сделать так, чтобы она могла ездить только на фирменном бензине, который стоит в 100 раз больше обычного.
Что-то ваша машина сильно некоторые принтеры напоминает по такому описанию
Сейчас уже и в аккумуляторы фотокамер чипы встраивают.
10 лет уж точно, особенно японцы преуспели (panasonic) а ещё они з.ч. (платы) выдают только оф. сервисам в обмен на сданные вышедшие из строя по цене 30-40% от стоимости устройства в момент старта продаж :)
UFO landed and left these words here
Как ни странно, тут есть и очевидное техническое обоснование.
1. Массовый продукт должен работать в руках любого идиота
2. Юзвери будут ставить самые дешевые аккумуляторы
3. У дешевых аккумуляторов высокое внутреннее сопротивление — камера будет постоянно просаживать напряжение аккумулятора — в результате, перезагружаться.
Через несколько секунд/минут напряжение на аккумуляторе будет восстанавливаться и т.д. по кругу
4. Юзвери будут вопить — камера говно — и с этим придется разбираться техподдержке и маркетологам
Разумно, но со старыми камерами такого не наблюдалось. Мне кажется, это способ ограничить жизненный цикл устройства и выдоить лишнюю копейку с пользователя.
Полагаю, что и потребление энергии у старых камер было небольшим. А новые камеры, с мощным процессором и матрицей высокого разрешения требуют много энергии для работы, скорей всего ещё и кратковременным но мощным потреблением.
+++Выпускают типо эксклюзив. Хотя архитектура сейчас на обеих топ консолях x86 и ничего не мешает порту на PC. Но нет, купите нашу не очень дорогую консоль и заплатите овердофига денег за игру, которую ты пройдешь за 2 дня.
если ничего не мешает то почему провалился порт batman arkham city(на самом деле я думаю он не единственный но самый известный)? фризы, падение фпс, тысячи рефандов в стиме что аж пришлось заморозить продажи в стиме по причине проблем с перфомансом. Может это все же не самая простая операция?
Ну не самая сложная, т.к. архитектура не меняется. Консоли сейчас не мощнее среднестатистического компа. Где-то на уровне среднего игрового ПК.

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

Как инженеры то да, можем, должны, сделаем. Но решения принимают не инженеры, новые «красивые и удобные» дизайны придумывают и одобряют тоже не инженеры, и сверху спускают планы за сколько что нужно выполнить тоже не инженеры. ИМХО инженеры уже давно исполнительное звено, и просто делают то что от них требуют. Время инженеров осталось в начале 2000х, теперь время менеджеров…
UFO landed and left these words here
Так менеджеры для того и приставлены, чтоб контроливать халтуру. А они не контролируют. Так что все равно менеджеры…
Линус как раз сейчас в отпуске.
Линус, в какой-то мере ответственен за описанное в статье. Ведь в основе Android лежит ядро Linux, а в ядро в каждом релизе включается всё больше и больше всякого. По сути, в ядро готовы принять что угодно, если это не ломает существующие механизмы и есть люди, которые готовые это поддерживать.
По сути, в ядро готовы принять что угодно, если это не ломает существующие механизмы и есть люди, которые готовые это поддерживать.
Вот уж чего нет, того нет. Любая фича, которую добавляют в ядро, в первую очередь оценивается на тему: а мы точно получим от этого существенный выигрыш, стоящий усложнения ядра? В результате какой-нибудь overlayfs включили в ядро в 2014м году. Притом что первая версия (ну… плюс-минус...) под именем IFS — вот она… 20 лет, однако…

А что включается «без вопросов» — так это драйвера… но тут всё просто: если у вас нет соотвествующей железяки — то и от наличия драйвера вам не горячо и не холодно…
UFO landed and left these words here
А я — нет. Там и поддержка каких-то монстров от SGI, которых выпущено было 100 штук была. И всяких исторических компьютеров от IBM и много чего ещё.

Ваша поддержка сколько занимала в памяти в случае отсутствия такого телефона? 100 мегабайт? Или «нисколько»?
UFO landed and left these words here
Так и ядро не усложнилось же.
Вы ещё скажите, что в тормозах Андроида ядро виновато XDD
UFO landed and left these words here
UFO landed and left these words here
Вот у меня наоборот, проекты на ноде многолетней давности собрались на самой последней версии nodejs без единой ошибки.
Авторам Go все эти годы приходится иметь иметь дело с обиженными экспертами, которым не хватает в языке дженериков, концептов и прочей мути

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

Даёшь копипасту, ага.
Rust пока что выглядит, как чисто сисадминский язык :)
Дженерики, по-хорошему, это задача для искусственного интеллекта, а у меня его нету :)

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

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

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

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

Наверное, именно поэтому во второй версии го есть генерики и обработка ошибок.

Судя по draft фич golang, то "раздует" — это 4 новых слова в спеке языка. Вы о чем-то не том...

UFO landed and left these words here
Ваше утверждение было об «экспоненциальном» увеличении спеки. И мой комментарий именно об этом.
Зачем вы переподите дискуссию в область поддержки и развития кода? Я эту тему не затрагивал.
UFO landed and left these words here
поэтому в кавычках.
вы использовали «в несколько раз» — хорошо бы показать, что добавление 4х слов в спеку сделает это «несколько раз». ну или это ваши фантазии.

p.s. еще полезное упражнение попробовать официальный путь generics через генераторы и пожить с поддержкой этого… годик. мнение резко меняется.
UFO landed and left these words here
У экосистем джавы и гоу очень разные подходы. Можно сказать несовместимые.
В целом правильно всё. Но автор передергивает конечно)
В браузерах накопилось столько пограничных ситуаций и исторических прецедентов, что никто не осмелится писать движок с нуля.

А как же Firefox? Они не просто написали движок с нуля. Но даже рахзработали новый более безопасный язык для этого…
А помните была такая компания Опера, пилила свой движок, гордилась этим. А потом тихо сдалась, призналась, что не тянет. И того всех мощностей человечества на сегодняшний день хватает на 3±1 движка браузера (и то же самое и с ОС, движками БД и т.д.)
Не мощностей а денежных средств.
Проблема не в количестве погромистов, а в их качестве. И в качестве архитекторов, которые этим заправляют…

Особая ирония — современные методологии управления.


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


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


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


Конечно мир, где все люди равны одинаковы может выглядеть интересно, но ведь это не реальный мир. Задумываешься — "может мне кажется", но когда, скажем, на мобильном хабре(без обиды, хабр, ты исправляешься) неприлично долго висит кнопка "проголосовать", бесполезная для ~95% аудитории сайта, а прокрутка комментариев политических статей позволяет сгибать пальцем металлические пруты, это ощущение резко пропадает.

Так кнопка-то не работает: «что-то пошло не так»

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

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

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

Заодно убив поддержку нормальных аддонов, ну и раздув использование памяти до «высот» Хрома за счёт той же мультипроцессности.
UFO landed and left these words here
UFO landed and left these words here
Сколько я бы вкладок не открывал, никогда больше 3-4 гиг не сжирало( при 32 гигах на моем ноуте)
У меня только основной процесс 6 гиг занимает, хотя у меня вкладок не большо пары сотен сейчас открыто. Хотя некоторые вкладки открыты больше месяца назад, это да.

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

Вот это меня удивляет. У себя не могу насчитать более, ну максимум, 20.
Что вы делаете с таким количеством одновременно открытых вкладок? Читать их все одновременно, да и попеременно, вы едва ли способны. Держите на случай веерных отключений Интернета? Связь нестабильная? Закладками не пользуетесь?
Не первый раз вижу такие комментарии от людей, бывает еще пишут 500 вкладок. Теряюсь в догадках.
Просветите? (интересно)
Тематические окна браузера с 5-10 вкладками в каждой. В этом окне я смотрю какой корпус для Raspberry PI купить — тут 5 вкладок. В этом — комментирую статью Хабре, там открытые странички из неё и ссылки, которые ответы на неё пойдут. И так далее.

Когда «работа» закончена — окно закрывается. Arena Allocator. Но некоторые вещи могутделаться неделю или месяц.
Мне кажется, что они Вам действительно не нужны все одновременно, но некоторые обстоятельства делают неудобной их загрузку из ссылок по мере необходимости:
1) Неудобный интерфейс закладок
2) Проблема, как раз описанная в статье: сайты стали слишком жирными, ждать их загрузки из Интернета — никаких нервов не хватает.

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

Я лично в процессе написания какой-то фичи. Это могут быть вкладки с поисковыми запросами в гугл, докумкентация, ответы с SO, примера на медиуме, обсуждение подводных камней на реддите… Всё это мне нужно в течение работы, т.к. я могу переключаться между ними, если во время реализации я понял, что мне нужно Х, а я это видел в статье/ответе/… в одном из табов.


Например, сейчас мои табы на домашнем компе выглядят так
image
Почта/гиттер/хабр/гитхаб/пара статей/пара роликов на ютубе/пара статей/гуглодоки по работе/описание стратегий за некоторые страные в EU4/еще пара роликов/смешные картинки (открыл для просмотра комментариев)/снова EU4/снова картинки.


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

Я так со статьями в Википедии часто делаю :)

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

Но это жрёт дофига оперативки. Я в этом случае банально пользуюсь историей просмотра, благо, ссылки не успевают спуститься далеко вниз (у меня 3,75 Гб RAM всего доступно, а браузер — хром, и потребляет он немало).
Но это жрёт дофига оперативки. Я в этом случае банально пользуюсь историей просмотра, благо, ссылки не успевают спуститься далеко вниз (у меня 3,75 Гб RAM всего доступно, а браузер — хром, и потребляет он немало).

Обойтись можно, но неудобно.
Поэтому я еще в 2014 году купил себе 16 гигов памяти и с тех пор не знаю бед. И SSD тоже. Вложился один раз, теперь серфинг не доставляет мучительных ощущений :)
Тоже скоро планирую апгрейд) Вообще привычка — сильная штука. Я когда работаю на Win7 x64, у меня гораздо больше лимит (на самом деле, мне не удавалось выбрать больше 75-78 процентов даже на очень ресурсоёмкой операции анализа здорового бинарника в IDA Pro). Стоит, правда, всего 8 гигабайт. Но даже на этой ОС я всё так же открываю не больше 6-7 вкладок. Привык уже, ничего не могу с собой поделать)

С ностальгией теперь вспоминается 2012-ый год, когда я в Opera 11.64 на WinXP мог открыть 50-60 вкладок вк, и оно даже не тормозило. И вылетало только на 70-75 вкладке. С Хромом и обновлённым вк так уж не получается… Хотя хром потенциально может выдержать больше, но с моим объёмом памяти своппинг начинается уже на 30-35 вкладке, а дальше — ужасные тормоза при смене вкладок, листании фотографий и страх, что браузер вот-вот вылетит.
Ну вот с той картиной что я выше показал хром у меня ест 1700 мегабайт.

Что касается 75% памяти — то винда всегда старается всю свободную память занять, ибо пользователю пофиг, 5% или 50% свободно, а вот если что-то будет запрефетчено и открыто на пару секунд быстрее, то ему будет счастье. Поэтому чем больше свободной памяти, тем больше всяких кэшей, и тем быстрее и комфортнее работа.

16 гигов занять сложно, а вот 12 у меня периодически получалось.
Например на прошлой работе мне дали убогий ноут с 8 гигами памяти, где мне приходилось постоянно запускать тяжелые докер-образы и несколько студий (дебажить 2-3 проекта параллельно, микросервисы, чтоб их). Так вот — скрин в студию

image
У меня бло занято 21 гигабайта(!!) из восьми, остальное лежало в свопе и постоянно шерстило диск, всё дико лагало и не вызывало желания что-то оптимизировать (всё равно не пройдет ревью, и меня спросят за зря списанное время), а вот желание кого-то убить появлялось…
Ну, если запустить несколько виртуалок (Docker — это же виртуальные машины, если я правильно вас понял), то конечно можно очень быстро выбрать всю память. И IDE довольно много жрут, да.

Кстати, если запустить виртуалку в VMware, и в её настройках указать лимит памяти, превышающий мой размер RAM, и при этом гостевой ОС удастся достичь лимита по физической памяти хостовой ОС, то Win XP просто зависает намертво. Помогает только ребут :)
Докер в этом плане не виртуальная машина, а запускатель обычных процессов ОС с особыми флагами. Есть небольшой оверхед на управление, но сами процессы жрут ровно столько же памяти как с дефолтными опциями, а отдельное ядро не запускается.
Это, конечно, зависит и от вкладок, и от битности хрома и FF (у 64-битного, почему-то, процесс GPU в разы больше весит), но вот у меня Pale Moon если выжирает гиг, то что-то здесь не так (скорее всего, открылся Facebook). А тут вы 4 гига нормой считаете…

И да, вкладки с видео мало памяти жрать не могут, надо ж его где-то кэшировать…
UFO landed and left these words here
Прямо сейчас:
firefox
image

9 вкладок ~ 15 ГБ
Это далеко не предел, может и один процесс выжрать 10+ ГБ.
UFO landed and left these words here
У вас какой-то бракованный фаерфокс (ну то есть сайты бракованные, конечно).
Пример: 22 вкладки из них 6 — ютьюб с запущенным видео и одна — эта страница с 1500 тысячами комментариев.

Надо глянуть нет ли у Лисы опции убивать вкладку после роста потребления памяти выше заданного порога.
У вас какой-то бракованный фаерфокс

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

ff
image

Перечисляю открытые вкладки
1) www.freebsd.org/cgi/man.cgi?route
2) Google Search Console
3) analytics.google.com
4) analytics.google.com
5) habr.com/post/231277
6) tison.ru/ip
7) tison.ru/ip
8) cloudpbx.rt.ru/login
9) видимо, родительский процесс
код 6-й и 7 -й состоит из одной строчки «return 200 » в nginx
UFO landed and left these words here
Нет, вооще ни одного дополнения. Абсолютно голый ff, без дополнений и синхронизации.
На свежеустановленном ff открываю любую вкладку (можно просто настройки) и через 2-3 недели она сжирает 3-4-5 ГБ
UFO landed and left these words here
Возможно что это жрёт 64 битный FF, у меня принудительно стоит 32.

В целом рекомендую открыть about:memory, нажать кнопку Measure и посмотреть что там действительно жрёт

P.S. я знаю, что 64 битный более безопасен, но мне ок.
UFO landed and left these words here
Хватит писать этот бред. Сколько бы памяти у меня не стояло, при открытом браузере никогда больше полутора гигов не остается свободным.
UFO landed and left these words here
Это удар ниже пояса для поклонников решений от корпорации Microsoft. Так не честно )

Мой текущий статус

Это у вас просто памяти мало. У меня на десктопе с 64GiB, как правило, половина свободна всегда. Даже после того, как Chrome месяц проработал…
UFO landed and left these words here
мониторим свободную память и использование свопа, если память нужна другим приложениям или её мало, то освобождаем»

Разве это не работа операционной системы?
UFO landed and left these words here
Я не эксперт в ОС, но насколько я знаю, управление памятью несколько более сложное, чем две метки «используемая» и «неиспользуемая»
UFO landed and left these words here
Варианта «вот эта память нам пригодится, но не то чтобы сильно нужна, сообщите, если кому другому надо вдруг» я ни в Win, ни в POSIX не встречал.
В POSIX этого нет, он на большие системы рассчитан. А в Windows — есть, конечно. Вернее… было. Можете почитать — статья большая, если хочется сразу к сути ищите по слову discardable.

Есть также в Android и в MacOS X/iOS. В MacOS (классической) тоже вроде было, но я даже не знаю где доку на неё в онлайн найти…
Странно, куча памяти свободной (даже до 10 не дошло)
Это ещё VS висит с большим проектом
Диспетчер, Chrome, 3 дня, 20 вкладок
image
Просто мне жалко покупать еще 10 гигов просто ради браузера. Все остальное и на 2-4 без браузера живет лучше, чем сейчас на 12 с браузером.
Проблема в том что когда открываешь одну вкладку с хабром потребление примерно такое-же.
UFO landed and left these words here
Вас не вводит в когнитивный диссонанс браузер, который выжирает 3-4 гига памяти?! Это, на секундочку, столько, сколько хватает для работы среднего сайта, включая ОС, БД, веб-сервер и генерирующий код, например.
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
Да, а я помню крашащиеся приложения, Потому что кто-то куда-то не туда записал что-то, синие экраны (которые на домашнем компе после установки семерки, а затем 8 и 10 я не видел), отрубающийся звук и прочие прелести… Да, классик тема определенно того стоит.
UFO landed and left these words here
Вопрос только, кому теперь нужен получившийся альтернативный Хром? По крайней мере, у FF с позволяющими «слишком много» расширениями была своя ниша. Да и однопроцессность хорошо сдерживала аппетит в плане памяти, в отличии от того, что происходит на скринах выше.
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
Да, они написали движок с нуля, а теперь по частям неспеша переносят его в Gecko. CSS-движок уже перенесли, на очереди WebRender.

Да, и на нем уже клевые проекты пилят, например вот.

Это еще не катастрофа. Вот подождите выйдет ваша ос на JS тогда по-другому запоете. Тогда чтобы работать в редакторе понадобится 16-ядерный процессор и 32 гига оперативки.
С учетом того, что весь софт сейчас пытаются запихнуть в браузер, осталось запихнуть туда и операционную систему.
Гугл в обратную сторону движется. Ну, его часть по крайней мере. Ядро фуксии с нуля пишут, упомянутый в статье Xi, флаттер (кроссплатформа, но компилится в натив, хоть и уровень абстракции местами повышает, но больше для андроида и иос, а для фуксии нативным фреймворком должен быть)
Гугл в обратную сторону движется.

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

Xi — это не проект Google, хотя и лежит у них на гитхабе. Об этом есть дисклеймер в самом низу readme

Это еще не катастрофа. Вот подождите выйдет ваша ос на JS тогда по-другому запоете.

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

Сейчас на рынок выходит KaiOS — операционная система, в которой нельзя писать небраузерные приложения. Она позиционируется как ОС для слабых телефонов.
UFO landed and left these words here

Какая демагогия.
Если автор хочет программировать под DOS — пусть программирует под DOS. Но внезапно окажется, что на дискете с DOS нет ни голосовых помощников, ни словарей и шрифтов на все языки мира, ни сотен драйверов под сотни возможных устройств, ни реализации десятков сетевых протоколов, ни надёжных и быстрых файловых систем, ни работы с защитой памяти, etc, etc; и, боюсь, даже стандартная библиотека C++ на дискету не влезет. Да что там, сейчас только заголовочные файлы OpenGL занимают 300КБ. При этом систему нужно было регулярно переустанавливать.
А сейчас у нас на "дисках" гигабайты всякого хлама, и этот хлам более-менее нормально работает. Конечно, работает не идеально, проблемы бывают, но вот с этим:


нынешняя ситуация — полное дерьмо

я не могу согласиться.


Зато сейчас, с десятками ГБ памяти на борту, я могу спокойно загружать в ОЗУ mesh'и с десятками миллионов треугольников и задействовать какой-нибудь OpenCL, когда того требует задача. Даже с учётом того, что несколько ГБ и миллионы тактов отъедает ОС, это намного удобнее, чем использовать "экономные" системы прошлого.

UFO landed and left these words here

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

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

Люди: Мы хотим кошечек!
Государство(?): Нет, кошечки это низменная потребность, на самом деле ты хочешь запуск ракеты на Макс. На, держи кусочек ракеты, это теперь твоё! Ну что, рад?
Люди:…

Спрос-предложение отличный механизм, где люди сами решают, что они хотят получить. Поэтому мне совсем непонятны претензии к «кошечкам». И никакие ресурсы к слову не тратятся, ибо никаких невозобновляемых ресурсов на это не тратится, а при изменении приоритетов индустрия перестроится. Понадобится завтра отказаться от всего легаси х86 и перейти на RISC-V? Ну значит так и сделают. Раз не переходят, значит никто этого не хочет, а заставлять — значит ущемлять других людей ради того, что кому-то кажется «более достойной целью».
Спрос/предложение — отличный механизм, когда люди сами решают, осознанно, предварительно подробно ознакомившись о плюсах, минусах, альтернативах. Современные технологии продаж успешно держат количество таких людей на уровне безопасном для прибыльной реализации световых и воздушных колебаний остальным массам.
UFO landed and left these words here
Очень слабая аргументация, в духе запрета интернета «вы же не хотите, чтобы дети стали наркоманами». Как раз текущая организация социума привела к тому, что мы имеем.
UFO landed and left these words here

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


Как раз индустрия "котиков" создала удобные портативные ПК (вместо тех ужасов со стиками под названием кпк), быстрые сетевые протоколы (чтобы котики быстрее грузились), адаптивные фреймворки… Это всё чушь и нинужна?


К слову про космос — он в известной мере переоценен. Оказалось, что там делать особо нечего, особенно если говорить про межзвездные перемещения. Легче заселить дно океана, чем Макс или там Венеру. Зачем вкладываться в неоптимальные проекты? Просто потому что Am0ralist так захотелось?

UFO landed and left these words here

Что такое прогресс? Почему "вчера люди не могли смотреть котиков из туалета", а "теперь могут" не прогресс?


Спутники не нужны? вот эта вся навигация, спутниковые съемки земли — это всё не нужное барахло?

подмена тезиса, про ненужность никто не говорил. Про переоцененность — да, я говорил. Точнее это было в 60-70е. Сейчас люди поняли, что там делать особо нечего, и занимаются чисто практическими проектами: прогнозы погоды, там, интернет, GPS, вот это все. Никаких дурацких планов о создании городов на орбите, заселении венеры и т.п.

UFO landed and left these words here
Никаких Масков с полетом на Марс, никаких Наса с исследованиями дальнего космоса, сплошь энгриберды на афйонах занимают умы абсолютно всего человечества… А уж сколько сэкономили, отказавшись от таких дурацких планов, как разработка термояда, коллайдера и прочих бесполезных с точки зрения всего человечества вещей!

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

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

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

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

Ну это-то может быть. Но считать чужие деньги — последнее дело.

Я тут как раз с одним коммунистом знакомым разговаривал, на тему того, что если есть ученый, которй изобрел способ на 10% повысить прирост любой еды, а в качестве оплаты просит 5% от неё же. То ест мир получает +5% к производимой еде (бесплатно), человек получает 5% мировых запасов, все довольны. Но тут прецедент, что ученый не хочет рассказать свой секрет за медальку и почетное место на стене своего НИИ, хочет жить на старости без бед. На что мне человек с серьезным лицом говорил, что надо попробовать произвести идеологическую обработку, а если откажется — то клещами доставать.

Как он тратит свои деньги — его дело. Забирать их со словами «ты их потратишь неправильно, я потрачу правильно» — последнее дело. К сожалению, многие любят этим заниматься. Под видео с краш тестами всяких айфонов полно комментарией «ЛУЧШЕ БЫ МНЕ ОТДАЛ». Печально, но что поделать.
UFO landed and left these words here
Термояд люди хотят, потому что все хотят машинки на тысячу лошадиных сил, в 10 раз меньшие счета за электричество и бесконечные батарейки. Ну вот хотят.

А на марс они не хотят.

— Короче, ваше разделение на классы «Понимающих», которые хотят приблизить будущее, и быдляков, которые не понимают своего счастья понятно, но так сказать не совсем верно.
UFO landed and left these words here
быстрые сетевые протоколы

Так они создавались в эпоху на 10-20 лет раньше котиков. Вы ведь про HTTP, SSL, TCP/IP, IPv6, Ethernet? Им лет уже бог знает сколько)

вместо тех ужасов со стиками под названием кпк

КПК были по тем временам достаточно быстрыми, и умели больше, чем умеют современные смартфоны. Стилусом можно было писать и даже рисовать простенькие вещи. Пальцем такого не сделаешь. Да и софт для КПК был куда богаче по функциям, как уже писали выше. Даже 3D игры были с довольно сносной графикой и геймплеем. Для КПК. Под процессоры в 64-128 МГц, ага. Сейчас под Андроид таких игрушек-то нет…
То есть айфон — это очередной шаг в сторону деградации, а вот кпк на XP были торт, я все правильно понял?
Она была 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.
КПК из нулевых так замусорить было, несмотря на более слабую начинку, куда сложнее. Там количество установленного софта и наличие большого числа фоток на SD карте ничем не грозило.
Да ладно, программы бросали свои экзешники в автозагрузку, все лагало и висело в фоне, оперативки не хватало.
UFO landed and left these words here
Так они создавались в эпоху на 10-20 лет раньше котиков. Вы ведь про HTTP, SSL, TCP/IP, IPv6, Ethernet? Им лет уже бог знает сколько)

Сколько там лет HTTP/2? TCP 1.3? Protobuf?

К слову про космос — он в известной мере переоценен. Оказалось, что там делать особо нечего, особенно если говорить про межзвездные перемещения.
Это тут уже обсуждалось.
UFO landed and left these words here
Видимо Вы прочли не всю ветку по указанной ссылке, нпр.:
До настоящего момента астрономия дала людям, нпр., навигацию, т.е. методы определения положения, нпр., корабля в открытом море. Земля сильно зависит от Солнца и от Луны. Про магнитные бури и приливы-отливы слышали?: Погода, связь и компьютерные сбои зависят от солнечной активности. Предполагают, что и землетрясения. Человечеству для высокого качества жизни крайне важно уметь предсказывать погоду и землетрясения. Для этого нужно изучать развитие звезд, космические явления.

>Хим био исследования — без космоса почти ничего не возможно?

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

> «От астероидов» — Вы же сами понимаете, эта тема просто смешна.

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

И т.д.
UFO landed and left these words here
Вы это к чему, поясните?
К этому:
ненужные траты на ненужные народу вещи
Вы не правы. Народу нужна связь и навигация со спутников, нужны прогнозы магнитных бурь, погоды и землятресений, нужны новые материалы и т.д. — поэтому народу нужен космос.
UFO landed and left these words here
Большая часть денег на космос это не фундаменталка а вывоз и возврат нежной человечьей тушки. На деньги потраченные на аполоны можно было запустить порядка 50 орбитальных телескопов. Вместо летавшего 1 раз, к счастью, бурана можно засыпать венеру автоматическими зондами.

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

Фанаты космонавтики а-ля 70е рассказывают по кругу о 10ке интересных экспериментов, но их могло бы быть 10 тысяч, раз в 10 дешевле.
UFO landed and left these words here
Нет, по моему мнению, все то, что требуется массам слабо способствует развитию прогресса. Прогресс творят как раз таки ученые, инженеры-новаторы и прочие с сильным томлением духа.

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


Ракеты народу были не нужны никогда, но чтоб вы сами сейчас делали без спутников? Или без ламповых ЭВМ, которые тоже народу то особо были не нужны?

Массы немцев требовали бомбить саратов — сделали для масс ракеты.

UFO landed and left these words here
То есть ракеты космические сделали для того, что бы удовлетворить требования масс, которые этого не просили

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

UFO landed and left these words here
Приходит Народ к Циолковскому и говорит: гони, понимаешь, теорию реактивного движения! И все такие радостные, с транспарантами.
Потом оттуда сразу идут к Королеву, прям так, в лаптях, и говорят: гони, понимаешь, ракету в космос, да с Юркой внутрях! И не смей, шельмец, другого никого туда сувать!

Примерно так все и было, на самом-то деле.


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

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

UFO landed and left these words here
Вау, альтернативная история?

Почему альтернативная? А по-вашему как оно было?


Что становится нужным и полезным.

Да нет, что-то либо нужно и полезно, либо ненужно и неполезно. Никакого "становится" тут нет.


Как не нужны были всем автомобили на момент их создания, а сейчас они — везде.

С чего же вы взяли, что не нужны? Конечно, нужны.


Вы не ставьте потребность в конкретном результате прогресса раньше самого прогресса.

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

UFO landed and left these words here
Укажите, кто же требовал с Циолковского теорию реактивного движения?

А при чем тут вообще Циолковский?


Самолет Райтов не был нужным и полезным в момент создания.

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


Итого, прогресс уже пришел, вещь создали, а большинству оно не было нужно

Ну как же не было? А зачем кто-то его покупал, если не было нужно?


Атомная бомба примерно так и получилась.

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


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

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


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


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

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


Планшеты появились задолго до iPad. И ровно до него это были единичные вещи.

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

Разводили бы турбо-лошадей…
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
на ученых послабляйка была

Шаражки на ученых были, а не послабляйка.

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

А вы почитайте внимательнее, как во времена шаражек жили обычные работяги, и как жилось в шаражках. Кстати, при работе над стратегически важными темами секретность и заборы с колючкой были необходимостью во всех странах
UFO landed and left these words here
Секретность, это когда заборы с колючкой на вход, а не на выход.
Да, в своем комментарии я несколько переборщил. Шарашки — явление нездоровое, хоть и имевшее исторические причины.

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

Целая миска риса? А что Ты Сегодня сделал для Человечества, чтобы еще требовать от него что-то?

А весь этот хлам нужно тащить всем и сразу? Словари и шрифты на все языки мира, драйвера на устройства, с которыми 99,999% никогда в жизни не столкнется и все такое?
Работа с защитой памяти и фаловыми системами — это, ну, десятки мегабайт, но никак не гигабайты.
Есть интернет и есть базовая концепция модульности. Должно быть ядро с необходимой ВСЕМ базовой функциональностью, а все остальное должно загружаться по мере надобности.
а все остальное должно загружаться по мере надобности
— так себе вариант. Далеко не везде и всегда этот самый интернет есть.
Предполагаю, что там, где нет интернета, вряд ли кому-то понадобится драйвер уникального устройства, поддержка редкого сетевого протокола или словарь тамильского языка. Так же как распоследний рантайм .Net, ибо если нет интернета, то откуда возьмется программа, которая его потребует?

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

Вот именно на производстве до смерти необходимы словари всех языков мира, голосовой помощник и прочий хлам???
Нет, там нужны драйвера, а также забитый по дефолту софт (чтобы его спокойно либо из образа восстановить, либо накатить с носителя, но никак не из сети)
Делаете свой образ с нужным именно вам софтом и нужными именно вам драйверами. Хоть сразу миллионом. И накатываете куда вам нужно. Зачем весь этот мусор всем остальным???
Ага и для того чтоб у вашего ребенка появился ноут вам надо будет создать свой образ системы а потом для того чтоб добавить туда какуюто программку обновить его. Не хотите делать свой образ? Ну ничего страшного идите на сайт и пытайтесь выбрать подходящий из сотен тысяч образов на все случаи жизни. Вы спец который это сделает одной левой? А ваша жена нет как и тысячи людей по всему миру. Они просто хотят купить ноут и начать работать с ним
UFO landed and left these words here
К моему Asus K53BY был приложен диск с драйверами размером всего 1,6 ГБ под целых две ОС — Windows Vista и Windows 7. Всё. ХР не может звук вообще и разрешение выше 1024х768, 10-ка тупо не становится, виснет. Причем драйвера ставятся тоже интересно: Блютуз? вот тебе блютуз. правда, он работает через нашу фирменную программу, которая будет висеть в трее и отжирать 5% ЦПУ всегда, но ведь 5% это немного, всегда рады помочь.
Графика? вот тебе графика. в процессе установки мы перезагрузимся дважды, и плюс каждую загрузку ОС ты будешь ждать дополнительно пару минут, но зато 6,2 балла по встроенному бенчмарку

Пришлось с работающей семерки выдирать только дрова без довесков, теперь они заняли 354 МБ на диске D:.
Для сравнения, дистрибутив Linux SIDUX, который увидел все мое железо из коробки (многострадальный синезуб потребовал однострочника на шелле, чтобы загрузить модуль с другим параметром), весил чуть больше 400 МБ, и был полнофункционален для бытового использования (разве что торрент-клиент отсутствовал). Так что драйвера тоже разные бывают.
Вы написали ерунду, потому что вместо того, чтобы прочитать всю ветку чужих комментариев (и содержащийся в ней контекст), прочитали только один последний, зато поторопились написать очень важный свой. Впредь, чтобы не выглядеть клоуном, не повторяйте эту ошибку.
Нигде в моих комментариях не написано, что создание образа — это единственный способ установки софта. Этот способ для конкретного специфического применения — промышленное использование вдали от сети. Где этим занимаются профессионалы, вполне способные создать необходимый образ.
Что касается детей и жен, они будут по старинке скачивать и устанавливать необходимое из сети, что они успешно делают и сейчас. Но этот способ был раскритикован таежными профессионалами, которые тоже по какой-то неведомой причине, посчитали, что он должен быть единственным.
В итоге вы оба спорите не с моим мнением по этому вопросу, а с мнением выдуманным вами, но почему-то приписываемым мне.

Я как-то устанавливал драйвера на принтер в тайге. Думаю, если бы на компьютере не оказалось хлама типа драйверов CD-ROM или USB-флешек, мне бы это не удалось. Это, конечно, распространённые вещи, но с тем же успехом мне мог понадобиться дотнет, или vcrt определённой версии.

Вот я и говорю, давайте для удобства сотых долей процента вломим несколько десятков гигабайт всем подряд. И, самое, главное, даже при таком подходе, все равно найдутся люди, на чье железо драйверов нет.
Так что, как написал kbaa, собираетесь в тайгу — берите все, что может понадобиться с собой, а не надейтесь на чудо.
Взгляните правде в глаза: какой-то .Net вам нужен для конкретной программы. Если в тайге нет сети, то взяться она может только из сети в офисе. Ну, так проверьте требования и скачайте в том же офисе нужный рантайм. До того, как обнаружится, что на компьютере в тайге его нет. Это разумно и логично, не?
Или заранее интегрируйте в образы ОС для своих компьютеров все нужное. Не заставляйте всех терпеть весь этот ненужный подавляющему большинству хлам.
UFO landed and left these words here
UFO landed and left these words here

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

Почему это? Собрали коробку с софтом, и отправили в глухую тайгу, лишь изредка приезжая и забирая собранные/наработанные данные. А если накроется периферия — то искать нужно в соседней деревне за 50 км где на выбор 3 железки ни одна из которых не совпадает со сломавшейся.
Ну, здорово. Чтобы кому-то в компании, где черт ногу сломит, было хорошо, давайте вломим по нескольку десятков гигабайт хлама всем вообще.
Вместо того, чтобы в отдельно взятой компании навести порядок с периферией и драйверами для нее.
Логика ОК.
Есть интернет и есть базовая концепция модульности. Должно быть ядро с необходимой ВСЕМ базовой функциональностью, а все остальное должно загружаться по мере надобности.

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

Так можно на флешку ОС со всем функционалом, а при установки выбирать что установить, а что нет.

UFO landed and left these words here
А весь этот хлам нужно тащить всем и сразу?

Обычно балансируют между "тащить ВСЁ" и "загружать всё необходимое из интернета". Текущий баланс — порядка нескольких ГБ на ОС (на windows, кажется, чуть больше).


В дистрибутивах linux есть "минимальные" установочные образы с загрузкой остального по сети — мегабайт 100-200. Но установленная ОС со всеми типичными серверами занимает те же пару гигабайт как минимум. Не могу сказать, что это мало.

2-3 гигабайта против 10-15, причем эти 2-3 гигабайта обладают большим функционалом.
Парадокс.
Полагаю, разница в ресурсах, картинках и прочей мишуре, а кода там примерно столько же.

Ну вот я поставил убунту 1804, выбрал язык русский, но все равно в интерфейсе половина текста на английском. Даже в самой установке все галки на русском, а вот «Include third-party software» не очень. Как бы тут не было правила 80/20, что 10-15гигабайт имеет в 4 раза (80%) больше файлов, чтобы покрыть вот эти «мелочи», а 2-3 гигабайта нет.

Плюс возможно там слой совместимости с программами, написанные в бородатые годы, ибо в 2-3*игабайтах часто практикуется совместимость на уровне исходников, а не бинарная.
UFO landed and left these words here
Есть некая ОС, в которой всё это включено по-дефолту (скажем, Убунту).
Есть ОС, где всё надо пилить самому (тот же Альпин).

Как думаете, какую ОС чаще ставят в качестве домашней и почему?
Некорректное сравнение. Это совсем не то, о чем я говорю.
а какую из них выбирают в качествеdocker-образа и почему?)
Ubuntu/Debian, потому что в apline постоянно что-то не работает. Они используют musl и там куча несовместимостей и недоделок, например, инструкции search в resolv.conf не работают. А еще они там решили перейти на libressl и теперь каждый второй софт, который работает с криптографией становится туда только с бубнами.
Словари не знаю, но как всем предоставить интерфейс загрузки чего-то нестандартного даже если шрифта киррилического или японского нет в системе? И как загрузить драйвер сетевой карты, а видео? А если сети нет, то хотелось бы на принтере распечатать название нужного сетевого драйвера, а невидящему пользователю услышать его.
UFO landed and left these words here
Не понял что там у вас помещается. Оба файла по размеру больше всех распространённых типов дискет.
UFO landed and left these words here
Казалось бы, не много-то времени прошло, а люди уже не помнят ёмкость самых распространенных дискет. На дискету помещается 1.44 МБ. Есть 2.88 и ZIP-дискеты, но они не были популярны или распространены.
Странные у вас дискеты, меньше 1.5 МБ:
Это у вас они странные. Начинались дискеты с размера 170KB, кончились 1.44MB (причём это было обсобый такой специальный «флоповый» мегабайт в 1024000 байта).

Дискеты в 2.88MB и ZIP-drive — это экзотика, они мало на каких компах были.

Те дискеты, которыми мне приходилось пользоваться, вмещали 1440КБ (~1.38МБ).

Мне кажется, вы не поняли, что хотел сказать автор. Он не предлагает стать "дауншифтером" и принять аскезу, используя DOS и ограничиваясь 640 килобайтами. Он всего лишь хочет, чтобы программы были быстрыми, качественными, надёжными и не бессмысленно раздутыми. И да, я сейчас пишу это сообщение в браузере Google Chrome, который недавно обновился, и теперь этот текст набирается с сильно заметным лагом и фризами на моём Core i7 и 16 Гб ОЗУ. Если это не дерьмово, то я тогда не знаю...

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


Или вам бесплатно должны делать качественные, надежные, быстрые приложения? А сами бесплатно не хотите поработать? Нет? А чего так?

Вы серьёзно?! У меня есть просто огромное количество примеров софта за астрономические деньги, который ужасен настолько, что не понятно как он вообще может работать. Например, всякие штуки уровня интерпрайз типа Cisco WebEx или адовые ERP за десятки тысяч долларов. А софт во всяких "умных" телеках, которые адски тормозят, а к тому же ещё и решето с точки зрения безопасности. Всё, я даже продолжать не хочу.


На счёт хрома, Google знает всё обо всех и зарабатывает на этом, если ты не платишь за продукт, то ты сам становишься продуктом, это вроде все знают. На счёт подписок, я пользуюсь продуктами JetBrains по подписке, и что, думаете, там всё идеально? Хахахаха. Баги годами висят в багтрекере. С каждым новым релизом платформа intellij idea требует всё больше ресурсов и всё тормознее, а какого-то серьёзного прогресса по функциональности я что-то не замечаю.

Вы серьёзно?! У меня есть просто огромное количество примеров софта за астрономические деньги

Замечательно, то есть к тормозящему браузеру и хабру все претензии сняты?


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

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


На счёт подписок, я пользуюсь продуктами JetBrains по подписке, и что, думаете, там всё идеально? Хахахаха. Баги годами висят в багтрекере. С каждым новым релизом платформа intellij idea требует всё больше ресурсов и всё тормознее

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

Автор и многие совершенно не понимают — зачем версии Android на конкретном телефоне нужны 6 Гб драйверов на все возможные интерферометры из ЦЕРНа? Или 100500 прочих телефонов — а? В конце концов ось модульная и предустановленная — неужели нельзя забабахать норм кастомизацию — шоб на каждый телефон шли лишь нужные вещи? Зубами клянусь — реально нужных вещей в нём на гиг максимум!
Полный треш, а не философия. «Если у вас нет собаки, её не отравит сосед». Особо эпичные места можно цитировать, но пожалуй тут смысла этого делать нет. Просто попробуйте попользоваться софтом, написанным с такой философией, я посмотрю. Обычно разработчики просто начинают крушить всё подряд, если окажется, что в некоей софтине нет подсветки кода, автоматических рефакторингов, плагинов, автодополнения, интеграции с сотей системой версионирования, а также нельзя выбрать ровно 15 строчек и заменить в них foo -> bar. Что говорит о некоемом двоемыслии, с позиции разработчика и пользователя соответственно.
UFO landed and left these words here
Да, примерно это я и собирался расписать, хорошо, что теперь не придется.

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

(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.


то есть отсутствие фич и есть фича, как и отсутствие обработки краевых случаев
Веб плохой? Ну покажите класс, запилите хороший, годный, посещаемыей ресурс, приносящий прибыль, который будет написан без тонны клиентского кода, и работать молниеносно (что смешнее еще и без тонны рекламы же надо им всем, и вот этого всего, чтобы только текст там).
old.reddit.com
UFO landed and left these words here
Редизайн случился не так давно, менее года назад. До этого он всегда был таким, как сейчас на old.
А что в старом дизайне хорошего? В новом можно просто прокручивать главную страницу, и сразу видно, какой тред стоит открыть, а в каком очевидно ничего интересного нет, в старом виден только заголовок и картинка размером с бритву, вот же весело ломать глаза себе. И это только самый очевидный недочёт. Если проанализировать, можно ещё кучу найти, думаю.
Так это не совсем то что сверху написали. Это предыдущая версия текущего реддита перед редизайном, а не специально написанный аналог с философией минимизации и оптимизации.
UFO landed and left these words here
Ну так давайте, чем вам не конкурентноспособное приемущество запилить более быстрый slack или скайп, или что-угодно-еще, и показать всем как надо.

Да хотя бы телеграмм, 30 мб памяти против 300+ у слаки и 100+ у скайпа. Если бы все писали такие приложения то этой статьи бы не было.
Беда в общем, не в сфере. А в головах людей, что дальше собственного носа и потребностей видеть неспособны.

К сожалению других людей нету, не завезли. На этих людей только и можно подействовать нытьем. Будет больше таких статей, разной степени техничности, больше людей будет задумываться о том почему старый айфон резко начал тормозить после выхода нового апдейта ios.
Да хотя бы телеграмм, 30 мб памяти против 300+ у слаки и 100+ у скайпа. Если бы все писали такие приложения то этой статьи бы не было.

Мм… вы сейчас серьезно?
Покажите в телеграме:


  • Воркспейсы
  • Треды
  • Интерактивных ботов (со списками, выпадающим меню и так далее)
  • Возможно красиво форматировать сообщение
  • Грамотную организацию вкладок и разделение потоков. Что-то в духе личка и приватные чатики на 2-3 человека отдельно, а общие каналы отдельно.
  • И так далее
  1. Таких ботов нет. Посмотрите как работает и выглядит MailClark или же интеграцию с jira. Telegram до такого еще довольно далеко
  2. Нет. Поддерживается огрызок синтаксиса маркдауна в виде bold, italic текста, ссылок и verbatim режима при помощи кавычек. В том же slack как минимум поверх этого есть еще заголовки и куча других полезных штук. Не учитывая, насколько гибкое форматирование сообщений в слаке.

Телеграму с их "текст и кнопки" еще далеко идти.

  1. А это разве не "интерактивный бот"?
    image
  2. Видимо разрабы решили, что этого огрызка хватит. Учитывая, что в телеграмме длинные строки выглядят ужасно, звучит логично.
На мой вкус телеграму не хватает возможности добавить выпадающий список, потому что без него длинный список вариантов работает грустно.

А так да, есть.

Вот это всё, что вы перечислили, должно требовать каких-то огромных ресурсов что ли? Или в чем смысл коммента? А со скайпом чего не сраниваете тогда? :)


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

1. Скайп написал в microsoft, они просто пишут плохие продукты.
2. Все, что я перечислил возможно еще и потому, что slack решил не выпускат 100 и 1 продукт для разных платформ, как сделал telegram, а сконцентрировать свое внимание на одной и просто портировать результаты с нее на другие платформы с минимальными затратами. Меньше затрат на порт — больше фич. У телеграма вот все еще нет секретных чатов на дестопе.
Вообще, телеграм на десктопе это примерно 60мб на старте и утечки памяти вплоть до 500+, но хоть не электрон, т.е UI не лагает… Скайп 7.х был в районе 100-150мб, если учитывать браузерный компонент, да.

А слак такой раздутый не из-за дополнительных фич, а именно из-за электрона.
Ну я лично не агитирую ни за, ни против.
По поводу «попробуйте пользоваться софтом» — с сайта проекта:
— zlib
— musl
— libev
— DeadBeeF
— mc
— MPV (мой дефолтный плеер на винде)
Это то чем пользовался я. Так-то порядочно там довольно популярного софта:
suckless.org/rocks
Вы видели исходники musl?

Что касаемо разработки DE под такой идеологие, или IDE — то я лично уже хз, тут я бы поспорил, что suckless зайдет)
musl

Не поддерживает 1000 и 1 вещь, к который вы привыкли. Мне лично понравились проблемы с search в dns-resolve.


Вы видели исходники musl?

Сколько там ему лет? Когда доживет до glibc тогда и поговорим. Написать классный код довольно просто, а вот поддерживать.

Очень надеюсь до glibc никогда не доживет :) у них все же разные сферы применения. Для «микро» систем — самое то (uclibc я еще терпел из-за mmuless).
7 лет вроде поддерживает. OpenWRT на него перешел уже.
А если вы хотели сказать «когда ему будет столько же лет, сколько glibc» — то вообще не смешно.
Про список совместимости — я в курсе, спасибо, я читал внимательно, как и баги которые чел заводил в других проектах (это уже просто для себя).
Как полную замену glibc во всех отношениях никто проект и не позиционировал. Но я да, считаю, что это один из правильно сделанных suckless проектов.

Вики пишет, что 4 года назад вышла стабильная версия (


Ну а касательно никто не позиционировал — а вы уверены? Его вот в alpine утащили, который довольно популярен для docker образов, которые вполне себе на серверах крутятся.

musl-1.0.0.tar.gz — March 20, 2014
Наверное речь об этом. Я лично с проектом познакомился еще до релиза 1.0.0, он уже тогда был вполне юзабельный)

Про позиционирование, что-то нигде не нашел про замену glibc. Да, пишут, мол general-purpose; что до использования на серверах — ну видимо майнтейнеры знают, как обходить особенности resolv.conf и прочую муть)

(давайте завяжем с оффтопом наверное, а то и так комментов полторы тыщи)
Ох, если еще посмотреть на js, ноду и папочку node_modules. То там тоже боль. Особенно, если застал как было до. Но теперь:
«двести метров джаваскрипта грузят текста триста байт»
https://soundcloud.com/viruzzz-kun/kolkhoznyy-frontend
В современных текстовых редакторах задержка при наборе больше, чем в 42-летнем Emacs. Текстовые редакторы! Что может быть проще? На каждое нажатие клавиши, нужно всего лишь обновить крошечную прямоугольную область на экране, а современные текстовые редакторы не могут сделать это за 16 мс.

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

Кроссплатформа и без js и браузера может быть к счастью. Вспомнить тот же qt, kivy (python, но все лучше js+html+css), flutter.

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

Я говорю о том что кроссплатформа это не всегда трэш из веба.

Как раз здравый смысл. Дешевле сделать на электроне чем нанять Qt программиста.

кому — "дешевле", кому — "здравый смысл" =)

UFO landed and left these words here
Да? Странно, видимо зависит от чего то. Меня эта демка после приложений которыми ежедневно пользуюсь очень порадовала.
Вспомнить тот же qt
В котором для любителей JS вне браузеров есть QTWebkit…
Что угодно придумают, лишь бы на плюсах не писать. Про порты Qt для других ЯП я вообще молчу
UFO landed and left these words here
UFO landed and left these words here
Пишу на нативном WPF (хотя он тоже не нативный) и страдаю — на то, что в браузере можно сделать одним аттрибутом, тут уходит полдня. А ведь эти полдня я мог потратить на что-то более полезное…

вот именно этим и обоснованы абстракции вроде unity, electron и прочяя ересь — "чтобы разработчик думал о высоком, а не о низкоуровневой ерунде". именно об этом и весь сыр-бор

Ну вообще этим вся цивилизация обоснована. Разделение труда там, специализация и т.д.

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

Если это был сарказм, то я его не понял.

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

UFO landed and left these words here
Делаете вы сайт ну прдположим на c++ Вначале все идет норм только постоянно отвлекаетесь на ошибки типа если пользователь введет не число а букву все упадет. Потом вдруг оказывается что пользователи жить не могут без пары графиков. Вы тратите кучу времени на то чтоб разобраться как рисовать графики. Потом оказывается что пользователи то хотят интерактивные графики. Вы снова тратите кучу времени на то чтоб запилить это. Потом оказывается что надо бы сменить дизайн или дать пользователямв возможность выбрать его. А у вас то он прибит гвоздями в коде.И вот в течении этих пары лет пока вы будете пилить свой довольно простенький сайт вы обязательн остолкнетесь с тем что ваше приложение-сайт работает только под виндой но пользователи хотят еще на телефонах его запускать Вы скажете что вы потратите много времени в первый раз а потом просто будете использовать примеры из старого кода. Возможно догадаетесь выделить примеры в отдельные файлы и даже делится с другими пользователями чтоб они потратили в след раз гораздо меньше времени. И даже сами будете брать библиотеки других чтоб ускорить процесс. Хотя погодите мне это чтото напоминает. и вы не учитываете еще тот факт что вы сами можете делать чтото неоптимально просто изза недостатка знаний или опыта.

P.S. Работал я с одним кадром который часто мечтал о том чтоб сделать сайт на ассемблере. Типа слушать 80 порт можно и на ассемблере. Делать запросы в бд тоже можно из асма итд. Вот бы все летало и жрало мало ресурсов
В начале 2000-х так и было. Программы в Delphi / C++ Builder создавались из компонентов. Вставил мышкой компонент HTTP сервера, обработчиков HTTP запросов, подключения к базе данных, таблиц и запросов базы данных. Нарисовал мышкой визуальную форму с полями ввода, гридами, графиками, кнопками и панельками. В свойствах компонентов указал, с кем и как они связаны, где брать данные для отображения. И потом все это скомпилировал в файл и запустил. Получился stand-alone web server, который в браузере работает как настольное приложение, только хуже. Потому что тогда интернеты были вялые, браузеры туповатые, а дизайн делали не дизайнеры, а программеры.

Сейчас тоже так можно, причем в браузере будут не древние ActiveX скрипты с нативными формами, а модный Sencha Ext JS. Но ведь Delphi умер, вышел из моды, нет предложений на рынке.

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

Строго наоборот же, там, где в WPF можно обойтись двусторонним биндингом и сделать датасорс на коллекцию или даже БД в фронтент-разработке придется тащить и бекенд, и какой-нибудь реакт/ангуляр.
UFO landed and left these words here
Ну вот я не видел сайтов на ванильном JS, и надеюсь не увижу. Отказываться от фреймворка (вообще любого) это как отказываться от любого уровня абстракции. Нафиг ваш winhttp, я свою либу напишу. Нафиг ваш http вообще, я свой протокол напишу. Нафиг ваш TCP, я своё реализую…

Байндинг на ванильном JS не написать. А если начать реализовывать обертку, то получится багованный и кривой ангуляр или тот же реакт.
>Байндинг на ванильном JS не написать.
На Proxy и custom elements за пару вечеров на коленке ваяется аналог реакта. Но согласен — нафига, если есть реакт. Проблема то не во фреймворке.
В этом смысле да, хотя если подтащить реакт/ангуляр, то снова становится нет. Но по больше части WPF куда бедней на возможности. Конкретно вчера я делал placeholder. :)
Соглашусь как юзер, особенно как юзер разных девайсов, которые должны работать, но из-за софта, запихнутого в их МК не работают без регулярных перезагрузок. Термометр-метеостанция виснет каждые 3-4 дня, выбросил, бытовая техника, которая глючит, включает произвольные функции или тп. Какой ад ждет после увеличения числа IoT — боюсь представить.
Это не всегда софт.
Был случай: глючил новый телевизор Sony — сбои программы. Зная про плохое питание, подключил его через стабилизатор. И глюки исчезли.
В общем, снизилось качество всего — попробуйте купить хорошую колбасу в РФ (и не только в РФ).
Можно сделать качественно, но за это потребитель не хочет платить.
Можно сделать качественно, но за это потребитель не хочет платить.
Не «не хочет», а «не может». Постепенное усложнение мира в котором мы живём плюс услилия маркетологов привели к тому, что потребитель, зачастую, в магазине не может отличить хороший товар от плохого. А это, по большому счёту, приговор «свободному рынку»: свободный рынок может работать тогда, когда покупатель делает осознанный выбор… чего, по крайней мере на рынке потребительских товаров, уже давно не происходит…
По поводу колбасы и выбора. Я сделал как-то сам колбасу из чистейшего мяса, специй и тп, по рецептам из дореволюционной книжки. Все, кого я этой колбасой угощал, ругались на то. что она какая-то не такая — не розовая, а темная, жесткая, пахнет перцем и тп, и после этого предлагали мне попробовать «нормальную» колбасу за 50р/палка из «магнита».
UFO landed and left these words here
Мой отец пару лет работал на колбасной фабрике на Кубани. В райцентре аграрного края. Колбаса, которую можно назвать хорошей, бывала только когда цигане приводили ворованных коней. Как и из чего делалась обычная — лучше не знать и не видеть.
UFO landed and left these words here
Можно бесконечно смотреть на три вещи: как горит огонь, как течёт вода и как ноет tonsky. Хочется пожелать автору всё-таки со временем выйти из режима Grumpy Cat и начать снова получать удовольствие от любимого дела, мы все за него очень переживаем.
Но дискуссия-то разгорелась первоклассная.
а автору-то как этого хочется :) но ничего, написание этой статьи позволило мне хотя бы для себя сформулировать, что меня вгоняет в депрессию и чего я хочу. Дело за малым — найти подходящий проект и подключиться
Цена абстракций. Если бы абстракций не было, вы бы использовали Initial Orders для того, чтобы загрузить вашу программу в двоичных кодах чтобы посчитать то, что нужно.

Самая первая жирная абстракция, которая случилась в компьютерах, заключалась в идее имитации интерактивности происходящего.
UFO landed and left these words here
Ну на то он и junior, тем более, что я тоже так новичкам говорю. А то есть у человека задача, а он начинает думать, что int для переменной цикла — это слишком жирно, я ведь только до 100 итерируюсь! Надо сделать byte. И идет срывать покровы, что программы такие большие, потому что ленивые разрабы где можно обойтись меньшим типом использовали больший. Да что там, сам я точно так же думал. И всех их учат обращать внимание на главное, а не на мелочи. Когда основы усвоены, то можно идти дальше.

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

С опытом приходит понимание (или нет. Но тут уже ничего не поделать), как расставлять приоритеты. А именно — никак. Уметь придумать несколько вариантов с разной стоимостью и дать бизнесу выбрать то, что ему больше подходит. «Денис, вот ты задачу создал, можно вот так вот закостылить, но скорее всего через год это выльется в такие-то проблемы ценой в 1М, а можно сейчас на пару недель сделать задачу на грамотное изменение архитектуры, тогда всё будет ок, но мне нужен будет Марк на пару дней для выработки плана». Главное, не сократить эту фразу до «Денис, вот ты задачу создал, можно вот так вот закостылить,, а можно сейчас на пару недель сделать задачу на грамотное изменение архитектуры и мне нужен будет Марк на пару дней для выработки плана». Разница ведь колоссальная, и как мне кажется большинство разработчиков используют вторую форму, когда подразумевают первую, а потом обижаются на логичный ответ менеджера «давайте по первому сценарию, заказчик уже месяц ждет». Сам виноват, надо было лучше объяснять.

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

Ну а если выбирают костыли, а потом говорят «блин, нам твой костыль в 1М встал, что ж ты собака сделал?!?», то 2 недели и поиск более адекватных коллег является оптимальным исходом :)
UFO landed and left these words here
UFO landed and left these words here
Смотря как считать. Если нечто популярное использует много лишней памяти то по совокупной стоимости этой памяти можно купить не время работы программиста а всего программиста с потрохами.
Нечто популярное, типа кукого-нибудь Chrome, создаётся не одним программистов, а несколькими тысячи программистов. И тут уже неясно — что дешевле: заплатить за память или ещё за 100500 программистов…
Правда ваша, к тому-же за программистов платит заказчик софта а за память — пользователи. Но тысячи обезьян программистов не всегда нужны. Инстаграму хватило несколько человек. Полагаю и в мире десктопов такие примеры имеются.
Хром не использует много памяти. Много памяти используют много сайтов. А купить такое количество веб-разработчиков… Ну, удачи.
В тот момент, когда вы согласились, что 'hello world' должно кодироваться с помощью числа 121404708502361365413651816 (а то и числа 31079605376604509545894864896), в этот момент вы уже были уверены в то, что оперативная память дёшева. С позиций разработчиков первых компьютеров, мой вот этот комментарий, в UTF-8 — это просто какое-то непростительное разбазаривание байтов. В такой объём памяти можно вместить достаточно переменных для того, чтобы рассчитать тракеторию полёта на луну, а я тут объясняю, что память дешева.

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

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

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

Неэффективность взамен предлагает простоту — и ради этого все эти гигабайты кода и памяти. Это просто, а значит, человек может это понять и начать использовать. Как только «просто» становится «сложно» на его базе делают следующий уровень неэффективности, чтобы снова стало «просто».
UFO landed and left these words here
И виноваты программисты, да? Вы в курсе, что «окошек» не существует, и что это всего лишь неэффективная абстракция над эффективным методом делать bitblt? Который, в свою очередь, эффективная абстракция над возможностью копировать байты с одного места в другое? (Я понимаю, что в современном графическом стеке всё сложнее, но нам надо где-то остановиться).

Вот зачем вам эта неэффективная абстракция и весь этот bitblt? Почему бы не отображать символы сразу из растровых представлений в видеопамять?

Не, серьёзно, зачем вам окошки? Эти ужасные программисты тратят мегабайты на каждое окошко — если избавиться от окошек, то освободится огромное количество памяти.
>И виноваты программисты, да?
Да, только не браузера (хотя и браузер разрабатывают такие же олимпиадники), а олимпиадники хабра. Они возможно хорошие математики, но очень плохие программисты. Решение проблемы в данном случае заключается в удалении из DOM лишних комментариев, невидимых на странице. И этим страдает не только хабр, этим грешат очень известные западные веб-сайты, всем известных корпораций.

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

P.S. Вы так или иначе придёте к удалению лишнего из DOM, поэтому мне непонятно ваше категорическое «Нет», с отмеркой сколько нужно вешать в граммах.
P.S. Вы так или иначе придёте к удалению лишнего из DOM, поэтому мне непонятно ваше категорическое «Нет», с отмеркой сколько нужно вешать в граммах.
И сколько предлагаете держать в «буфере» комментариев? всего сотню? (на сотне наверное не тормозит?) А знаете что при динамической видимой области перестаёт полноценно работать поиск по CTRL+F? То есть тут уже встают две задачи сделать динамическую область видимости (задача сама по себе не простая) и ещё эмуляцию поиска (который будет искать и в невидимых комментариях). А технический долг в виде перегруженной каскадной таблице стилей никуда не исчезнет.
Так-то я за динамическую область видимости, но только когда в ней есть потребность.
>И сколько предлагаете держать в «буфере» комментариев?
То, что помещается на экран. Плюс держать еще несколько «сверху и снизу». Плюс хранить все загруженные комментарии в виде объектов для подстановки на скроле.

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

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

Задача интересная, тут ресерч нужен, сам такое не делал еще.

>А технический долг в виде перегруженной каскадной таблице стилей никуда не исчезнет.
Можно исправить, я не спорю.

>задача сама по себе не простая
Так в этом и весь сыр бор, что программисты идут легким путём, а не решают проблему на корню.
UFO landed and left these words here
На мобильных платформах нормальная работа таблиц строится по принципу держим в памяти столько ячеек, сколько входит на экран. А при навигации куда либо, просто перестраиваем их. Это не так и сложно.
UFO landed and left these words here
Размер элемента в нем можно, что вызовет лайаут вложенных элементов. Вообще изменение размера окна это не такой уж и проект сайенс, просто надо пересчитать по цепочке легату для всех вложенных элементов. Это чистая математика.
UFO landed and left these words here
Делай это браузер проблем бы небыли вообще. Но и вручную это сделать можно.

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

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

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

Ещё минус динамической области видимости в невозможности пользователю сохранить страницу целиком. Нужно костылять спец. кнопку по которой всё дерево сгенерируется для удобства сохранения (кто об этом позаботится? только энтузиасты).
И вместе с этим «поиск на странице» превратится в «найди мне слово на экране».
Истину глаголите!
Это стало так раздражать в последнее время.
UFO landed and left these words here
Тем не менее 300 комментариев с LWN у меня открываются быстрее, чем 100 комментариев с Хабра. И я могу там увидеть сотню новых комментариев и ответить на них быстрее, чем увидеть на Хабре один комментарий и понять, что он меня не касается.

Очень наглядная разница между «ужасным интерфейсом 90х» и современным «отзывчивым» интерфейсом…
Абстракции были всегда. Проблема не в них.

Для прикладного ПО проблема в отсутствии инструментов для удобной и быстрой разработки. Ну нет сегодня аналога Делфи из начала 00-х. Есть две крайности сложная разработка на крестах с QT или простая, но очень жирная разработка на Electron. А по середине ничего нет! Ниша свободна.

В свою очередь в системном ПО скопился огромный пласт легаси. Тот же Линукс не может осилить 10 Гбит/с в стандартной поставке. Его приходиться патчить, накатывать сторонние костыли. Загуглите linux 100 Gbit/s, там всё еще веселее. И здесь полностью свободная ниша. Люди понимают о необходимости Unikernel, но не кому это пилить! Ниша свободна. И тут мы подходим к следующей проблеме.

Людей, которые смогут оптимизировать и переписать всё с нуля — можно пересчитать по пальцам. Просто нет специалистов, кто возьмётся за это неблагодарное дело. Сегодня легаси переплюнут авгиевы конюшни. Поэтому переписывать нужно очень многое, начиная с языков программирования и заканчивая операционными системами.
Вот уже не думал, что кто-то посетует на нехватку инструментов для разработки. ИМХО, их больше, чем нужно, и, по отзывам, один удобнее другого. )
Нет, это неправда или это был сарказм?
Инструментов хватает, я даже перечислил лидеров рынка. Но остальные еще хуже.
Нет, не сарказм, все так и есть, я кроме Qt да в.студии особо ничего не использовал, но читая тот же хабр, регулярно встречаю восторженные отзывы об очередном инструменте, плагине, редакторе, фреймворке и т.п., который чуть ли не сам всё за тебя делает. Глаза разбегаются, не понятно, что выбрать. )
>встречаю восторженные отзывы об очередном инструменте
А я встречаю восторженные отзывы о go, kotlin, но это ничего не значит. Люди по прежнему программируют на крестах, джаве и питоне. В go же хотят внедрять дженерики (а как пели, что они не нужны!). А с развитием джавы непонятно зачем нужен kotlin. По мне он повторит историю groovy.

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

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

>восторженные отзывы об очередном инструменте
Например?
Например?
Я серьезно не анализировал каждый случай, это скорее общее ощущение от «чтения заголовков». Ощущение, будто в короткий период появилось множество технологий, фреймворков, даже парадигм, новых версий сред разработки. Хлынуло в первую очередь из в веб направления: всякие ангуляры, реакты, метеоры, вуи, тайпскрипты, теневые домы, вебассембли, редаксы, нпмы, ноды.жс, какие-то стеки технологий, среды и плагины, все это поддерживающие и т.д. Я вебом не занимался никогда, но помню php и mysql всем хватало, а тут такое многообразие. )
Или взять Unity3D. Помню один из многочисленных школьников на ютубе слабо владеющий внятной речью, за пол часа накликал скелет для какой-то примитивной, но работоспособной игры. Я вообще в то время слабо представлял практические пути создания игры для мобилок, ну может глючные примеры на QML потрогал, а тут человек без особых знаний и навыков в программировании делает что-то рабочее. Вот и подумалось, это ли не «волшебная кнопка». )
Ощущение, будто в короткий период появилось множество технологий, фреймворков, даже парадигм, новых версий сред разработки.

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


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

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

Да понятно, что все «охи и ахи» во многом просто возрастное бурчание. Даже помню как сам в юности посмеивался над дяденькой который на фортране под дос разрабатывал, измеряя скил программиста количеством строк кода которые тот за смену выдает. А я мышкой клепал формочки в MSAccess и считал, что время писать буковки скоро совсем уйдет.
UFO landed and left these words here
Люди по прежнему программируют на крестах, джаве и питоне.

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

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

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

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

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

Map + reduce могут быть такими же эффективными как и цикл.

Цикл реализуется одной-двумя процессорными инструкциями, а сколько оверхеда тащат вызовы функций?

А кто вам сказал, что там будут вызовы функций?

А кто сказал, что нет?

Любой нормальный оптимизатор.


Вот есть хороший плейграунд: 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 и прочих...

А если функция будет виртуальной или фунаргом? :trollface.jpeg:
в компилируемом языке могут быть zero cost, по сравнению с циклом, как в Rust например.
UFO landed and left these words here
Если говорить в вэбе, ничего ведь принципиально не изменилось с момента, что я помню, начало 2000х. Тот же текст, те же ссылки и картинки. Да теперь не надо качать видео и музыку, чтобы послушать/посмотреть. Но прожорливость браузеров выросла прилично.

Тот же текст, те же ссылки и картинки.

Что?? Сейчас один CSS чего стоит. А ещё есть JS с сотней API (например, webgl, video, ajax). И JIT-компилятор JS. Можете взять старый интерпретатор и современный, и сравнить производительность.

Проблема не в CSS, а в идиотском его использовании. JS сразу со всей сотней API в подавляющем большинстве случаев не нужен.
В подавляющем большинстве случаев как раз будет достаточно текста и картинок. Безо всякого JS вообще.
UFO landed and left these words here
ну это и не принципиальное изменение, Сайты стали красивей? что изменилось то?

Вы вообще сидите в интернете? Вот так выглядели сайты в 1996. Изменилось ли что-то с того времени?

UFO landed and left these words here
И даже на нем аналитика PiWiK на js висит
UFO landed and left these words here
Ну так буквально недавно была статья. Где один сверхпопулярный сайт — википедия — прекрасно обходится без js вообще.
А если нужно страничку распечатать, да в ландшафте, то ничего за последние 10 лет не изменилось.
Если приносят в жертву «быстро», то «удобно» не получается никак. Если я после выделения фрагмента жму Ctrl-C, Ctrl-N и несколько секунд жду появления окна, это никак не назовешь ни удобством, ни эффективностью.
И вообще, вряд ли типичный потребитель вообще точно знает, чего он хочет. Иначе пришлось бы к прийти к выводу, что он хочет раздутое и тормозное ПО, коего сейчас большинство.
UFO landed and left these words here
Вы, конечно, можете относить бело к черному, но сути это не меняет.
Только вот, если человек работает, то «удобно» — это именно «Ctrl-C, Ctrl-N», а не тыкание мышкой по пунктам меню.
Внезапно, «выделить мышкой, ПКМ, либо меню -> копировать и тп.» есть в любой программе, это не достижение новых тормозных версий.
UFO landed and left these words here
Я бы понял, если бы действительно была кнопка «сделать хорошо», и она действительно делала хорошо. Тогда можно было бы смириться и с большим размером и с тормозами.
Проблема в том, что такой кнопки нет, или есть, но хорошо она все равно не делает. Но аппетиты программ растут так, как будто они сами делают не просто хорошо, а прямо-таки превосходно.

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


Вместо этого у нас куча универсальный инструментов, вкусовщина и хайп)

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

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

А в областях, где качество более важно (медицина, космос, авиация и т.д.) и процессы другие, но просадка по скорости.
просадка по скорости

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

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

Что, и правда есть? Я надеюсь вы сейчас не скажите мне про подсчеты через O(n), которые асимптотические и не применимы в реальности?
Или есть какая-то другая методология?

UFO landed and left these words here

Есть общая теория построения систем и кибернетика, вместо чего в мейнстримовом программировании какая-то псевдонаучная муть от гуру, типа шаблонов проектирования.

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


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

Тем не менее пока ничего лучшего не придумали: самолёты летают, спутники кружатся, процессоры считают.

UFO landed and left these words here
Виноваты умолчания.
Никто не захотел думать (не знал, не стал заморачиваться, не влезал в строки, не влезал в бюджет, не влезал в целевую производительность, причины точные не знает никто), что процессор можно атаковать с этой стороны. Почему раньше никто не переживал по поводу того, что kernel.dll отображается по фиксированному адресу, а теперь это большая проблема? Почему никто не пытался предотвращать исполнения страниц памяти с данными, а теперь все стараются всеми силами? Почему аппаратура начала вести теневые стеки, подписывать указатели и тегировать динамическую память, а раньше об этом никто не думал?
Все потому, что программирование — оно в основном про то, как выполнить задачу бизнеса при определенном наборе входных данных и выдать относительно приличный результат за относительно же приличное время. Написание программы, работа которой возможна при любых входных параметрах, противостоящей утечкам данных из любых общих ресурсов, тайминг-атакам и всему тому, что появилось за 50 лет противостояния брони и снаряда — это совсем другая задача за совсем другие деньги.
Почему никто не пытался предотвращать исполнения страниц памяти с данными, а теперь все стараются всеми силами?

В старющем Фортране уже давно отказались от возможности принимать данные как код (и наоборот) (COMMON block вроде бы).
Другие огрехи так же были известны ранее — ничто не ново под луной.
> Никто не захотел думать (не знал, не стал заморачиваться, не влезал в строки, не влезал в бюджет, не влезал в целевую производительность, причины точные не знает никто), что процессор можно атаковать с этой стороны.

Кроме AMD. Поинтересуйтесь на досуге, какая часть из этих уязвимостей применимы к их процессорам.
UFO landed and left these words here
Первые атомы просто не поддерживают спекулятивное исполнение…
UFO landed and left these words here
И причем тут общая теория построения систем? Сбои то все равно происходят, самолеты падают, спутники сходят с орбиты, в процессорах, как уже выше написали — дыра на дыре.

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

Сколько в процентах падает самолётов и вордов?
в процессорах, как уже выше написали — дыра на дыре.
Вы действительное видите разницы между 4-5 ошибками, обнаруженными за 10 лет и примерно таким же количеством ошибок, которые в современных OS находятся за день?
UFO landed and left these words here
А толку-то от этого железа по разумным ценам, если я набирая в браузере этот коммент вижу как запаздывает появление текста? Где польза от 16Гб ОЗУ, 4 ядра Intel Core i7, SSD?
И, что самое веселое, тут никакой js не виноват. Тормозит сам браузер, потому что ему забыли объяснить что содержимое textarea не влияет на размеры этой textarea, а значит и reflow всей страницы делать не обязательно…
Не совсем понял при чём тут js(хоть он и противен естеству). Моя ремарка лишь про то, что при текущем подходе работа на компьютере не становится эффективней, а все достижения в железе нивелируются говнокодом и борьбой с «преждевременной оптимизацией». При этом, никому не хватает времени, чтобы сделать работу хорошо. Зато оно всегда находится, чтобы всё переделать. Дважды. А потом купить новое железо, потому что старое не тянет.

Почему не влияет? А если там есть какой-нибудь textarea:contains("special"){...}?

Напишите, пожалуйста, багрепорт авторам браузера. Я серьёзно.
Я тут со своим Delphi в сторонке постою)
Вообще полностью согласен с автором, но войну добра и бабла всегда выигрывает бабло.
UFO landed and left these words here
Может дело было не в бобине? Вот тут на примере раста объясняется, но применимо к любым бинарям.
UFO landed and left these words here
UFO landed and left these words here

Собственно, я могу рассказать, что дебаг-сборка моего приложения на расте (небольшой бот на для телеграма) занимал 150мегабайт, скомпилированный в релиз с lto — 6 мегабайт… Так что действительно техника очень полезная. И можно действительно получить гигантский исполняемый файл, где непонятно, куда он вообще столько ест :)

скомпилированный в релиз с lto — 6 мегабайт…

Кек, целых 6 мегабайт какойто бот. А если бы этот бот был на ноде и весил тех же целых 6 мб интересно что бы сказали товарищи вроде автора обсуждаемой статьи? :)

А если бы этот бот был на ноде и весил тех же целых 6 мб интересно что бы сказали товарищи вроде автора обсуждаемой статьи? :)
Что если сравнивать боты на разных языках, то нужно не забывать и про райнтам? Скоко-скоко занимает контейнер, который может бота на node.js поднять? На этом фоне размер самого бота уже мало что значит, извините.

Давайте еще ОС тогда посчитаем? Бот же не в воздухе запускается? :)

Несомненно если эти боты работают под разными OS, то нужно сравнивать ещё и OS, да. Если же под одной — зачем сравнивать то, что не меняется?
Ну самодостаточный бинарь и скрипт — все же разные вещи. А то так можно и на дуднете напиасать 100кб приложение, и забыть про гиг фреймворка на винте.
Настройками проекта, что в Delphi, что в Lazarus можно выкинуть лишнее и файлы станут нормального размера.
Даже если выкинуть отладочную информацию из экзешника, современный бинарник стал «толще» за счет эволюции базовых библиотек, рассчитанных на кросс-платформенность и unicode. Но, при этом сохраняется совместимость со старыми версиями ОС и железа, что требует дополнительных проверок и «оберток». В любом случае, по объему это несравнимо с Android Support Library, которая идет в составе современных андроид-приложений.
Я тут со своим Delphi в сторонке постою)
Разрабатываю алгоритмы и т.о. Delphi-7 под Win XP для меня оптимален. Для web использую Knoppix. Остальные ОС под VM.

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


ОС за вас ничего не делает? Вы представляете сколько костылей, оптимизаций и драйверов предоставляет для вас ОС, что бы вы могли работать независимо от железа и не зубрить спеки?
Сравниваете современные редакторы кода и древний emacs? Я вам напомню, что emacs работает в терминале все-таки :)


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


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


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

Клавиатура гугл — 153Мб, Smart keyboard Pro — 5,9МБ. Расскажите какие же там ресурсы напиханы что разница в почти 30 раз? Карл 30 раз! Естественно я использую смарт клавиатуру, она не лагает, не занимает много места, у нее лучше оформление чем у гугловой(внезапно). Серебряная пуля для меня среди клавиатур на телефон, нету этих смайликов и прочего го*на, разрешения требует только те что реально необходимы (6 штук всего)… просто клавиатура и все.
  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
Я ведь предоставить пруфы всегда рад. Да каюсь, не открывал детальную информацию о приложении, просто в меню посмотрел, не 153, а 134, но блин на эту разницу 4 клавиатуры влезет)
GBoard
image


Smart keyboard pro
image
У меня из приложений от гугл только клавиатура(которую только что удалил) и хром. Возможно сказывается отсутствие гугл плея и всего что он с собой тянет.

Ну, вот я привел ссылку на apk, которое вести 30 МБ, в распакованом виде 57.


Мне кажется, лишний вес может появится только из-за файлов ресурсов, разве нет?

Да что вы молитесь на эти «ресурсы»… это универсальное слово которым можно все оправдать? Это так не работает. Конкретно, по факту что там может быть? Каждая кнопка клавиатуры в разрешении 4к? Любимый фильм лида?
Понятия не имею, что это за сайт, что там за апк и почему, я вам привел скриншот официального приложения установленного из плэй маркета.

Ну например картинка с наложенным на неё красивым отфотошопленным текстом на каждом языке. Я i16n никогда не занимался, но например когда я смотрел размер дума, в нем 40 гигабайт из 60 как раз занимали ресурсы — текстуры, звук, ...

Ммм… сравнивать игру ААА класса на продажи которой напрямую влияет качество и количество контента и клавиатуру, умно умно, но это не точно…

Никто не сравнивает, вам говорят, что картинки и звук могут занимать столько места.


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

30 раз.
ваш дум весил бы 620гб, а не 60.
больше холиварить я не намерен.
Серебряная пуля для меня среди клавиатур на телефон, нету этих смайликов и прочего го*на, разрешения требует только те что реально необходимы (6 штук всего)… просто клавиатура и все.

Возможно, вам смайлики совсем не нужны, но видимо кто-то посчитал, что это киллер-фича. Их даже в юникод впихнули. И какой-то части пользователей они полезны.

Да да вот именно по такому принципу и идет теперь разработка ловите его может кому то нужно, а может и не нужно, пихай всем, ***** что качество софта упадет… главное здесь и сейчас пользователя окучить.
А может остальным это и нужно? Вы можете не поверить, но никто не будет использовать приложения без анимаций и красивостей…
Или просто так в прошлом году apple на презентации какулю показывали?) Люди хотят видеть подобное и им полностью плевать сколько памяти это занимает и как работает под капотом
Более того, если вы будете выдвигать приложение в AppStore, то без всех этих фишечек, анимаций и красивых иконок ваше приложение скорее всего и модерацию то не пройдёт
UFO landed and left these words here
Более чем. Существует огромный ворох т.н. гайдлайнов, в которых это все описывается. Ручная модерация в основном и занимается проверкой соответствия этим гайдлайнам
А Вы в курсе, как сейчас молодежь называет людей, которые вместо эмоджи используют смайлики в виде скобок? Если нет — погуглите :) А то не хочу выражаться :)
А вы в курсе как называют молодежь в любое время? Хоть щяс, хоть 100 лет назад хоть 300… И да, гугол тут не нужен вовсе…
Какое это имеет отношение к теме?
Мой посыл был в том, что сейчас «быстрое» приложение «без рюшечек» основной массе не интересно. По этому, то что у Вас будет, к примеру, простой мессенджер, который умеет только отправлять текстовые сообщения и ничего больше, без анимаций с самым простым дизайном — вряд ли им будет пользоваться широкий круг людей.
Ах да, забыл, без аналитики вам будет очень и очень сложно развивать продукт в «правильном» направлении. А если еще у Вас основной бизнес строится по на рекламе, то дополнительный, скрытый функционал приложения может быть толще самого приложения.
Я вообще использую Hacker's Keyboard, там вообще чуть больше 1 МБ и удобные для меня фичи.
Да-да, вот именно, куча анимаций и прочей фигни, которые не имеют к основному функционалу приложения ни малейшего отношения, зато увеличивают его вес и тормоза при использовании.
Да, особенно real-time обновления не имеют никакого отношения к функциональности приложение.
И удобные оповещения, наглядная навигация тоже.
Давайте манипулируя абстракциями дойдем до того что в любое приложение надо будет впирать функционал целой ОС и еще чуть чуть.
Тут вот товарищи из Dropbox как раз завезли удобные оповещения. У меня есть ноутбук с Windows 7, где у Dropbox была стандартная плюшка с баблом в области уведомлений:
image

Но потом, слава автообновлению, подвезли версию, в которой, наколхозили некий «polyfill», на который наверняка потратили кучу человеко-часов, и пытающийся маскироваться под уведомления в стиле Windows 10

image

Давайте же посмотрим как улучшился UX. Было:
— Крестик для закрытия
— Уведомления подчинялись настройкам уведомлений системы
— Кнопа для отключения надоедливых уведомлений была прямо на ба́бле
— Бабл закрывался по таймауту
— При уведомлении об изменении файла, клик открывал папку Dropbox с выделенным файлом

Стало:
— Крестика нет (Возможно, он появится при наведении? Но это не точно)
— Уведомление висит и не закрывается
— После некоторых обновлений это колхозное уведомление начинало перехватывать фокус. Может выбросить из полноэкранного режима
— При уведомлении об изменении файла, клик больше не открывает не папку. Теперь запускается браузер с сайтом Dropbox

Разумеется, это частный случай, но очень показательный. Десктопный софт стремительно тупеет.

Хм… опять же, а причем тут программисты? Думаете, они такие "а, поломает то, что неплохо работает без видимой на то причины"?


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

А здесь неважно кто именно виноват, важно что под видом полезных обновлений продвигается неведомая и никому кроме менеджеров-идиотов ненужная фигня. И так не только в дропбоксе, а везде.
А вы вот прямо уверены, что не нужная? Или не нужная именно вам, так как вы не попадаете в ЦА этой фичи, а, скажем, 60% пользователей эта фича как раз то, что нужно?
А вы можете доказать что нужная и именно 60% аудитории?
Я предполагаю, что такая крупная компания как Dropbox не делает что-то просто так, они считают что это или снизить издержки или повысит прибыть.

Вы не согласны?

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

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

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

Потому что он не десктопный, что Dropbox, что Skype 8 типичное браузерное наколенное поделие которое тащит за собой ещё и вебкит для работы.
Тут еще и безграмотные (или просто ленивые) дизайнеры руку прикладывают. Иногда расковыриваю чужие иконки или 3Д модели, так они часто бывают крайне избыточные.

Недавно переделывал 3Д модель которая должна рендериться в размер 320х640 пикселей, по причине того что заказчик жаловался, что она как-то тормозит. Так мой предшественник сетку из автокада вывел и прямо загрузил чуть ли не 1 миллион полигонов. Даже не заморачиваясь.

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

Что-то мне подсказывает, что все эти анимационные свистоперделки делают аналогичным образом. И палец о палец не ударят чтобы оптимизировать вектор.
Был у меня проект на Зенде первом. И были там очень заковыристые хлебные крошки с которыми я ковырялся очень долно пытаясь заставить их быть такими как надо. И где то через год наконец дошли у меня руки посмотреть откуда же идут исходные данные для этих крошек… Оказалось, что мой предшественник забил на хлебные крошки, которые у него были, и написал новые с нуля. Я пошел глубже и оказалось, что и его предшественник забил на хлебные крошки, которые поставлялись зендом, и написал свои с нуля. При этом ни один из уровней хлебных крошек даже не был удален, типо «работает — не трогай». Тоесть крошки генерировались три раза… Я тоже не стал ничего исправлять, так как уже и так собирался менять работу :).
Я вам напомню, что emacs работает в терминале все-таки :)

Это один из режимов работы. У emacs есть режимы работы в оконных окружениях (X11, Windows).

Возьмите любой продукт из 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, заморочиться, и сделать приложение, которое ужасно выглядит и медленно работает под любой платформой.
Ну справедливости ради я знаю единственную программу под электрон которая работает более менее нормально. И она именно от майкрософта. VSCode. Правда я слышал что натива там очень немало.
Хороший программист и сейчас может создать быстрое приложение на Electron. Для этого в общем надо сделать всего две вещи.
Первое. Отказаться от DOM, с которым связана львиная доля тормозов. Хотя все современные фреймворки создают «буферную» замену DOM, обращаясь к «реальным» объектам только где без этого совсем никак, это всё равно медленно.
Фактически, нужно просто взять один большой Canvas во всё окно и рендерить всё что нужно на нём вручную. Причём процедур рендеринга нужно написать несколько, под разные виды устройств (в зависимости от того, какие операции попадают под хардварное ускорение).
Второй источник тормозов (и заодно зверского потребления памяти) — сборка мусора вместе с автоматическим управлением памятью. Чтобы решить эту проблему, разработчик должен великолепно знать, как осуществляется управление памятью в Electron и, пользуясь этими энаниями, написать на JS собственный менеджер памяти. Как? Ну, почти так, как это делает Emscripten: создать ArrayBuffer и повозиться со всеми этими типизированными массивами, представлениями и блобами. Причём проблемы возникнут ровно те же, что у плюсовиков: утечки и ситуации, когда указатели внутри этих буферов внезапно начинают указывать куда-то не туда.
Конечно же, стандартные фреймворки, которые не способны работать в таких условиях, сразу же идут лесом — вместо них придётся колхозить своё. В том числе грамотно написать обработчики событий, чтоб всё не вставало колом, а это опять же квалификация.
Но ведь кодер, способный на такое, он и стоить будет как плюсовик. А в чём тогда смысл? Electron нужен-то как раз для того, чтобы любого индуса после трёхмесячных ускоренных курсов можно было посадить за код, и созданный продукт даже как-то работал.
А можно пожалуйста ссылку на мир, в котором плюсовик стоит дороже, чем расфуфыренный JS-developer? Я вот ни разу такой картины не наблюдал.
www.itjobswatch.co.uk/jobs/uk/c++.do
www.itjobswatch.co.uk/jobs/uk/javascript.do
Сравните Salary trends и соответствующие гистограммы на этих страничках. Даже средненький C++ кодер — это порядка £50к, что несколько дороже среднего JS-кодера (£40к). Топовая часть гистограмм говорит сама за себя.
Ну Вы и сократили, там средняя вроде 47.5K для JS и 52.5K для С++ — разница мизерная, как по мне. В топовых — да, по-больше, но что-бы переплюнуть JS много топовых плюсовиков не надо)) Так что в общем случае переплаты минимальны, если вообще присутствуют.
Не холивара ради, но тыкнул по Java — дак они вообще больше плюсовиков получают. ИМХО вот где первые кандидаты на реорганизацию.

Етижи-пасатижи, куда мир катиться?!
Т.е. мы берём веб с кучей средств рисования, ресайза под размер итп итд и выкидываем нафиг, начиная все контролы и прочее с нуля рисовать, мышку обрабатывать итп, как в старые времена. У и ради чего? Ради электрона ради электрона? Ну так взять окно с опенгл и рисовать.

Нет, давайте лучше возьмём из 2000х. Totalcmd, KeePass, PuTTY, WinAMP, позже Foobar, Notepad++, WinRAR/7-Zip, WinHEX

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


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


У меня до сих пор стоит Office 2003 (с Compatibility Pack для поддержки OOXML) потому что, мать его, он работает и выполняет мои задачи

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


Так ли ужасен был QiP 2005?

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


P.S. Вы и сейчас можете взять делфи, он все еще живой. Что ж не берете то?

UFO landed and left these words here
Она не нужна. И есть прекрасные календари без нее.

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

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

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

Имею в виду щелканье по иконке в трее для того, что-бы развернуть окно. Окно то разворачивается, но в течении нескольких секунд рисует всякие овалы вместо контента.
Справедливости ради, возможно на счет 5 секунд я и перегнул, но задержка в 1-3 секунды есть всегда. Зато иногда мы просто зависаем, и что-бы увидеть полученное сообщение приходится убивать процесс и запускать заново.
Комп не топовый, но и не старье, работается вполне нормально.
P.S. Вы и сейчас можете взять делфи, он все еще живой. Что ж не берете то?
Вы это серьезно, без сарказма? Я считаю, что лучше Delphi все еще ничего не придумали для разработки графических программ под десктопы.
Во-первых, все компилируется в нативный код с минимальными накладными расходами. Исполняемый файл получается маленького размера, запускается моментально, работает быстро.
Во-вторых, на Delphi можно писать под Windows, macOS, Android, iOS, и даже веб, используя стандартные компоненты. Для веба Delphi-код компилируется в Javascript-код.
В-третьих, если вам нужно написать какую-нибудь простую программу и быстро, в течение, скажем, 20 минут, Delphi — идеальный вариант. Qt, C#, Mono, Java просто не сравнятся. Такое чувство, что RAD Studio сделана для людей, а все остальное — для свиборгов.

Хмм, каким образом C# (который исторически "более лучший" дельфи, скрещенный с плюсами и подглядывающий за джавой) менее удобен, чем дельфи? Не, я могу понять про сложное десктоп-приложение, где под Дельфи наверное тысячи компонентов придуманы, но вот как раз простенькая тулза на шарпе напишется в полпинка. Удобные новые пакеты, linq, IDE явно удобнее RAD Studio (хотя я там не очень много работал, но в студенческие годы все же прилично посидел в них), ну и может еще что-то, но смысла перечислять не вижу, этого уже достаточно, чтобы сделать быстрое и удобное решение.


Такое чувство, что RAD Studio сделана для людей, а все остальное — для свиборгов.

Расскажите подробнее, что именно вас смущает?

Хмм, каким образом C# (который исторически «более лучший» дельфи, скрещенный с плюсами и подглядывающий за джавой) менее удобен, чем дельфи?
Дык эта… ответ банален — а любой банальный вопрос должен быть обсосан Джоелом… Этот — не исключение.

Расскажите подробнее, что именно вас смущает?
Результат?
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, будет вам один бинарь, не вопрос. Только смысла всё еще не вижу.

Результат?

Результат — работающее приложение. И по моему опыту оно тоже получится работающим.
dotnet publish + ilmerge, будет вам один бинарь, не вопрос.
Вот только проблемы с WPF, с .NET Core и прочим. Да — это работает, но это больше похоже на цирковой номер, чем на что-то продуманное.

Только смысла всё еще не вижу.
Смысл в том, что заказав приложение… люди хотят получить приложение. Бинарник. .exe-файл. Нажми на кнопку — получишь результат. А не гору каких-то непонятных файлов, среди которых неясно — что и запускать-то.

Результат — работающее приложение. И по моему опыту оно тоже получится работающим.
Если прочитать достаточное количество статей и прочего — да, наверное. Но в Delphi — оно такое получается «из коробки».
Вот только проблемы с WPF, с .NET Core и прочим.

Это и есть netcore. Проблем там нет.


Да — это работает, но это больше похоже на цирковой номер, чем на что-то продуманное.

А это и есть цирковой номер. Примерно, как требовать игры не зависеть от C++ Redistrutable.


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

Не знаю, открою ли я секрет, что .net предустановлен во всех виндах начиная с XP, и вы точно так же на нем можете распространять "портабельные" приложения (хотя всё еще не вижу больших проблем).


Вы ведь в курсе, что GeForce Experience и Amd панелька это .net-приложения? И они умудряются как-то запускаться с одного install_driver.exe.

Не знаю, открою ли я секрет, что .net предустановлен во всех виндах начиная с XP
Откроете. Вы из какой-то альтернативной вселенной. Ибо в нашей XP выпустилась с Microsoft Java, а .NET в ней отсутствовал.

Вы ведь в курсе, что GeForce Experience и Amd панелька это .net-приложения?
В курсе. Это сложно было не заметить: когда вместо быстрой и маленькой приблуды мы получили «прогрессивного монстра на сотню мегабайт» — об этом даже журналисты написали некоторые.
Откроете. Вы из какой-то альтернативной вселенной. Ибо в нашей 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 год.


В курсе. Это сложно было не заметить: когда вместо быстрой и маленькой приблуды мы получили «прогрессивного монстра на сотню мегабайт» — об этом даже журналисты написали некоторые.

А я вот не заметил, пока в декомпилятор ради интереса не заглянул.

Странный у вас XP
Это у вас он странный. Непонятно зачем приводить огромную портянку, если можно пойти в Wikipedia и найти даты:
Windows XP: August 24, 2001
.NET Framework 1.0: February 13, 2002

Было бы странно и удивительно если бы операционка, выпущенная в 2001м году содержала бы компонент, выпущенный в 2002м? Они и не содержала…

А уж сколько лет после этого нельзя было ни рассчитывать на то, что .NET у клиента установлен, ни на то, что он «легко» может скачать 20MB (в те времена ещё флоппи в ходу были, 20MB было большим объёмом).
Разговор был не про август 2001, а про то, что в 2018 году простое десктоп-приложение на дельфи написать проще, чем на шарпе.
Конечно приложения на том языке, которому разработчик операционки даёт специальные привилегии писать проще. Будь то C# для Windows или Java для Android.

Хотите более-менее объективного сравнения — сравните C# и Delphi приложения под Android или iOS. Есть ощущение, что на Delphi попроще будет.

Но на тему того, что и кто обсуждал — то фраза Не знаю, открою ли я секрет, что .net предустановлен во всех виндах начиная с XP, и вы точно так же на нем можете распространять «портабельные» приложения была вами произнесена, вас никто за язык не тянул. Дальше, если углубиться в версии .NET, то окажется, что собрать что-нибудь для .NET 1.x соверменными тулами — очень непросто. а .NET 2.0 — это уже 2006й год, XP тут и не пахнет… что, кстати, очень хорошо объясняет почему поддержка XP для многих разработчиков — большая проблема.
Хотите более-менее объективного сравнения — сравните C# и Delphi приложения под Android или iOS. Есть ощущение, что на Delphi попроще будет.

Да пожалуйста, Xamarin получше будет, как мне кажется. Хотя на дельфи под мобилки я не писал, но прекрасно помню, как с ней возился.
Но на тему того, что и кто обсуждал — то фраза Не знаю, открою ли я секрет, что .net предустановлен во всех виндах начиная с XP, и вы точно так же на нем можете распространять «портабельные» приложения была вами произнесена, вас никто за язык не тянул. Дальше, если углубиться в версии .NET, то окажется, что собрать что-нибудь для .NET 1.x соверменными тулами — очень непросто. а .NET 2.0 — это уже 2006й год, XP тут и не пахнет… что, кстати, очень хорошо объясняет почему поддержка XP для многих разработчиков — большая проблема.

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

Удобные новые пакеты, linq, IDE явно удобнее RAD Studio

habr.com/post/423889/#comment_19135891
Это вот этот вот монстр от которого комп можно спасти только полной переустановкой винды лучше радстудио?
Visual Studio 2005 vs Delphi 7 еще может быть, но современные если сравнивать то визуал студио задыхается под собственным весом.
Это вот этот вот монстр от которого комп можно спасти только полной переустановкой винды лучше радстудио?

Минимальная установка VS2017 — 300мегабайт.


Про открытие многомегабайтных файлов отлично рассказывает этот комментарий: https://habr.com/post/423889/#comment_19140333.


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


Если вы постоянно вместо того, чтобы работать с кодом открываете и закрываете огромные XML-файлы, то может RAD studio и лучше.

Минимальная установка VS2017 — 300мегабайт.

И какой у него функционал? Подозреваю что околонулевой.
То есть попросили в 32-битный процесс загрузить 3гб данных и удивляемся, а че оно так не быстро работает… Ну ок.
Если читать комментарии не выборочно, то там же написано что фар не остановило бы ни 32 бита архитектуры, ни ограничение по памяти.
Если вы постоянно вместо того, чтобы работать с кодом открываете и закрываете огромные XML-файлы, то может RAD studio и лучше.
Я ей постоянно пользуюсь, она отзывчивая и без лишнего хлама. Этого мне достаточно что бы считать ее лучшей ide для разработки на десктоп.
И какой у него функционал? Подозреваю что околонулевой.

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


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

Где-то я это уже видел...


Когда наш гипотетический Блаб-программист смотрит вниз на континуум мощности языков, он знает, что смотрит вниз. Менее мощные, чем Блаб, языки явно менее мощны, так как в них нет некой особенности, к которой привык программист. Но когда он смотрит в другом направлении, вверх, он не осознает, что смотрит вверх. То, что он видит, — это просто "странные" языки. Возможно, он считает их одинаковыми с Блабом по мощности, но со всяческими сложными штучками. Блаба для нашего программиста вполне достаточно, так как он думает на Блабе.
Понятия не имею
То есть вы не компетентны, а в спор лезете.
у меня нет проблем поставить 10 гигабайтную IDE со всем, что мне нужно
Рад за ваш жесткий диск, только то что вы можете ее поставить проблем ее перегруженности и тормознутости не решает от слова совсем.
Где-то я это уже видел...

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

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

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

тогда к чему вы привели размер приложения?

Причем язык к ide мне не совсем понятно.

К тому, что если вы не понимаете, к чему часть функционала, это не значит, что это «хлам».

Опять таки поднимается вопрос о вашей квалификации и достаточно ли ее.

Ad hominem, отлично

Тем более в сравнении языков(которые в принципе мало сравнимы).


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

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

Просто тупой вброс
Word не предназначен для вёрстки, для неё существуют совсем другие приложения.
И в целом, расскажите, какие существеннейшие изменения произошли в Word между 2003 и 2013/2016 версиями, что он стал намного тяжелее и медленнее?
UFO landed and left these words here
Набор документа с правильными отсупами, форматированием, заголовками, автоматической нумерацией и прочими прелестями — это верстка.

Если вы не это все не используете, я за вас рад, но Word в таком случае вам просто не нужен, возьмите тот же Sublime.
Действительно, идиоты зачем-то пользуются Adobe InDesign (и даже, страшно сказать, покупают его), когда, оказывается Word — это и есть программа для вёрстки… Да, еще какой-то Donald Knuth придумал какой-то TEX, вот ведь смешной старик, наверное просто не знает про Word… Вы его просветите там, а то он уже 40 лет на него потратил.
То, что функционал Word не хватает на что-то серьезное и то, что он проигрывает TEX практически во всем — это другие проблемы.

Функционал то в нем есть, и он обновляется, а то, что он не нужен вам и скорее всего, значительной куче людей — это другая проблема, правда.
Это вообще не проблемы Word, поскольку он никогда и не позиционировался, как система верстки. Это текстовый процессор.
А что там появилось в Word 2013/2016 вы так и не ответили. Именно потому, что ничего принципиально нового и полезного в т.ч. лично для вас там не появилось, ибо иначе вы легко и непринужденно ответили бы на вопрос вместо описания несуществующих проблем.
В Word 2010 появилась возможность форматировать и отпечатеть документ в виде книги. Ранее это делалось с плагинами. В одной из компаний это был частый случай использования.
Принято. А теперь вопрос: сколько занимал тот плагин и сколько занимает MS Office 2016? В памяти и на диске? И почему нельзя было просто использовать плагин, вместо того, чтобы превращать офис в монстра?
Так это один из примеров доработанного функционала. Сколько их ещё? Я думаю, что вы можете найти ответы в списках изменений по версиям.
Могу. Но все они не дадут ответа на вопрос: зачем. Зачем нужна вся эта архитектурная астронавтика, если все полезные фичи можно сделать аддонами для MS Office 2000 (а то и для MS Office 97)?

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

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

Всё тот же самый «секрет айсберга» — но уже по отношению к руководителям компаний…
UFO landed and left these words here
Не нужно называть версткой форматирование, вот и всё.
Форматирование является подмножеством верстки.

Сейчас бы называть создание автономной формы или диплома форматированием.


Вы из тех, кто нумирует формулы в ворде вручную?

UFO landed and left these words here

Ахахахаха, очень смешно.


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


Но это все равно лучше. чем в ворде, да.


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

Но вообще-то, ворд умеет.

UFO landed and left these words here

Ну, очевидно, потому что у вас так себе подходят к проверке на соответствование госту.


У вас тут как минимум нет:


  1. Шрифта Times New Roman
  2. Размер шрифта не 14
  3. Не вижу директиву для полуторного интервала, может пропустил
  4. Ну и у вас катастрофически неправильно оформлена библиография.

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

UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
Потому что правило 80/20. Для добавления 20% нехватающего функционала нужно в четыре раза больше усилий и кода.
UFO landed and left these words here
Не нужно быть ученым, чтобы понимать, что полноценный продукт содержит на порядок больше кода, чем прототип, который визуально делает то же самое. Это как истории, когда человек показывет JS-прототип без бэкенда, а клиенты уже думают, что на 90% реализовано. А потом не понимают, почему релиза все нет и нет…

Ну например, новая версия может содержать интернационализацию на много языков. Тут возникает проблема с тем, что в кнопки не влезают тексты. Окей, запиливаем модуль масштабирования текста, причем так, чтобы с ним работали даже программы, которые про него не знают. Фух, написали кучу сложного кода, но работает, из коробки и правильно! Отлично. Ан нет, пришли из отдела эргономики, говорят, что у арабов от менюшки слева голова кругом идет, нужно чтобы было справа. «Окей» говорим мы, и начинаем воротить систему автоматического зеркалирования интерфейа (но не всего, а то не дай бог отзеркалировать что-нибудь не то, что надо), опять начинаем тестировать, находим кучу несовместимостей с существующими приложениями вроде игр… Продолжать можно до бесконечности, но именно все эти «свистоперделки» это то, что хотят пользователи — чтобы из коробки всё работало, как надо, и не важно, сколько лишнего места на винте оно займет.
Ну например, новая версия может содержать интернационализацию на много языков.
Зевает. Да-да, MS Office 2000 так умел: много языков, можно одновременно целую кучу поставить на машину, пакет с десятком языков в Enterprise версии. Про Office 95/97 не скажу, врать не буду, но MS Office 2000 всё вами перечисленное умел.

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

Всё понятно, кроме одного: что мешало просто взять — и сделать так, как это было задумано (и работало!) 20 лет назад?

Фух, написали кучу сложного кода, но работает, из коробки и правильно!
Нет. Работает неправильно. Глючит. Кнопки разъезжаются и нам приходится костылять новые костыли поверх старых. И потом обматывать это скотчем и эвристиками. Потому что если разработчик об этом не задумается во время проектирования программы, то сколько костылей не пристраивай — а всё равно что-нибудь, где-нибудь да отвалится.

Ан нет, пришли из отдела эргономики, говорят, что у арабов от менюшки слева голова кругом идет, нужно чтобы было справа.
И это тот же MS Office 2000 умел, да.

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

Если же не ставить задачу как: «у нас есть куча дерьма, но мы хотим сделать вид, что это такая конфетка», то… всё это не нужно.

Количество людей, работавших как с классической линейкой (MS Office 95-2003), так и с новомодными извращениями (2007-2016) и при этом не оплакивающих «почивший в бозе» «старый мир» — ничтожно мало. Большинство «фанатов» нового интерфейса — это люди, которые старого в глаза не видели… в чистом виде стокгольмский синдром.
Одно изменение, которое я точно помню произошло после 2003 — появление риббона. Супер-удобная штука, которая является объективным шагом вперед. Но у вас видимо клин сошелся на 2003.

Пользователи хотят, чтоб оно работало, а не глючило, на самом-то деле. А все эти потуги сделать так, чтобы работало без того, чтобы на это внимание разработчики программ обращали — ничем хорошим не кончаются. Результат всё равно напоминает руссификацию DOS'овских квестов со всеми этим «Окрт» (вместо «Open»).

У меня ни один ворд никогда не глючил и работал, что 2003, то 2007, что 2010, что 2013, что 2016. Может, вы не правильно его готовите?

Большинство «фанатов» нового интерфейса — это люди, которые старого в глаза не видели… в чистом виде стокгольмский синдром.

Хех, согласен. только это скорее синдром утенка, что люди не захотели учиться ничему новому, а первый увиденный интерфейс остается самам удобным навсегда. Тот же риббон сюда же «староверы», которые в ворде почти не работают любят вздыхать «ах вы, куда вы дели мои менюшечки. Клятый майкрософт».
Одно изменение, которое я точно помню произошло после 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 жрал больше ресурсов и тормозил… а сегодня — вот так…
Угу. На разработку 4 года ушло, да. И в результате получили нечто, что работает заметно медленнее, требует куда больше ресурсов (в давнном случае места на экране) и не даёт возможности сделать ничего нового. Именно то, о чём статья.

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

А вот ribbon — это да, MS Office 2007 насаждали «огнём и мечом»… Если бы MS Office 2003 продавали и поддерживали бы сейчас — он вполне бы пользовался спросом…

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

То, что мне кажется и вам кажется — это одно. А я читал анализ UX-дизайнера всех ключевых особенностей. И статистика не на вашей стороне — время совершения частоиспользуемых функций с риббоном снижается вполне объективно.
Как вы умудряетесь замечать лаги ворда? Как я печатал, так и появлялся символ за 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 больше купить было нельзя.
Очень просто: берёте «печатную машинку» на Atom'е с 2GB памяти и весь этот монстр успешно уходит в своп. А если своп идёт на HDD… совсем плохо будет.

Со свопом что угодно плохо работать будет.
Я буквально пару недель назад купил «печатную машинку» за 20к — очень бюджетно для ноута с IPS монитором скажу вам. И ворд там не лагает.

Я тоже так думал, пока не увидел его на «компьютерах для бухгалтерии», где в ТЗ было «общая цена — $300 за рабочее место, включая монитор и либо мини-корпус, либо моноблок».

300$ это около 18 тысяч, близко к озвученой цене.

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

Сразу после пересадки с MS Office 2003 на MS Office 2007 эффективность работы падала катострофически, но через две недели скорость возвращалась — однако не до конца, всё равно задачи решались медленнее, чем в MS Office 2003. При переходе на OpenOffice.org катастрофического падаения не было, но и возврата назад не было тоже.

Видимо, надо было провести замер еще через месяц и год, нет? 2 недели — достаточно, чтобы понять основную логику, но не достаточно, чтобы начать её полноценно использовать. Примерно как на этом графике:
image

В вашем случае замеры производились в точках A, E, F.
ну да только риббон)) почем у он всем должен быть удобен??? да еще и в разных версиях в разные места там функции убегали…
вот радости-то помнить для всех версий что и где…
как и предыдущий пост давно пользуюсь «экселем» от опенофиса, а поддерживался бы старый оригинальный «эксель» пользовался бы им по-прежнему…
Выше ответил. Потому что снижается количество кликов для выполнения частовыполняемоей операции Х. В итоге интерфейс не такой — да, надо переучиваться -да, но он не плохой — нет.
UFO landed and left these words here
Переделать под себя надо, да, но кстати эти настройки можно сохранить вроде и с собой везде таскать.

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

Было ли сравнение «человек эксперт в старом офисе, но ничего не знает про риббон» я не знаю, а если и было, скорее всего его результаты для внутреннего использования в стиле «насколько сильно пользователи будут нас ненавидеть на запуске».
Я тоже с радостью пользовался бы, но… многий корпоративный софт всё ещё заточен под микрософт офис, там где заявлена поддержка опенофиса — она номинальная и через костыли.
Кроме того, по какой-то причине редактор макросов в опеноофисе, либреофисе лагает с подсветкой синтаксиса к тому же неотключаемой. На один экран кода лаг незаметен, но когда кода уже два экрана лаг заметен и вызывает полную перерисовку подсветки КАЖДЫЙ введёный с клавиатуры символ. на 300 строках работать уже невозможно — на каждое нажатие кнопки происходит 2-3 секундная перерисовка. Почитал форумы… оказалось так не повезло лишь пользователям с AMD-шными процессорами. Спустя год проблема с перерисовкой не решена, этот баг видимо не в приоритете.
Если мне нужно писать что-то сложное, то я просто пишу это на Python. Не самый лучший в мире язык, да, но для него есть куча инструментов и он, по крайней мере для меня, резко удобнее встроенных языков как LibreOffice, так и MS Office.
Так питон и есть встроенный язык в опенофис. И этим встроенным языкам нет альтернативы, если нужна работа с документом.

Крайне не согласен, обслуживаю в промышленности промышленники на dos/98 и на winxp. Скады на xp валются, для них куча заплаток (прям как в статье написано: скрипты на перезапуск), 98 работает, как ни в чем нк бывало.
От датчика идет провод, все работает, но там, где вместо провода радиоканал-это просто дерьмо, но все вынуждены мириться даже сверху. Могу написать целую статью в поддержку автора и не понаслышке.

Это круто, а вы разобрались в причинах или просто «ну, на 98 работает, а на winxp — нет, значит новомодные программисты виноваты»?

На win xp sp3 разбирались многие, даже представители скады, в итоге (не разобрались) только заплатка, которая через ~пол года дает сбои.

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

За 15 лет ничего такого о чем Вы пишите, потому что это промышленник (арм), там только и должен работать этот софт от лета до следующего лета.

Не знаю про 90е, но вот я помню как работал в 3D редакторе — Maya 7 с 1 ГБ оперативки и все летало, на больших сценах у меня начинала тормозить графика, в итоге докуил еще 1 ГБ оперативки и программа стала просто нереально быстрой.
а вот emacs'ом я и до сих пор пользуюсь, второй после IDEA инструмент для написания кода.
UFO landed and left these words here
Я на "древнем" емаксе за 2 минуты делаю то, что любители всяких студий от некрософта пыхтят и мучаются мышкой по полчаса.

Если сравнивать тот же emacs с продуктами от JetBrains он проигрывает практически во всем, в чем сильна ide.
Если же сравнивать emacs с чем-то не ide, например, sublime — все работает практически так же быстро, если не наставить кривых плагинов.


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

О класс, и я так делаю. Я использую awesome WM и давайте я перечислю список того, что работает плохо:


  1. Lock screen по факту нормальный сделать нельзя или ад с xscreensaver или костыли с light-locker
  2. Виджеты — этой вещи практически не существует. Календарь, монтирование дисков, панель доступа в выключению — всего этого нет. Все нужно писать самому на lua или доставать из интернетов, а оно оказывается потом не работает или работает плохо, потому что в одном дистре поменяли формат работы с батарей, во втором поломали логику монтирования так далее. Реально хорошо работают только те программы, которые не привязываются к DE напрямую.
  3. Низкоуровневые баги, которые DE фиксят за вас. Например, из-за того, что я переключаю клавиатуру через xkbswitch оно все переодически отваливается и больше не переключает. Печалька.

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

UFO landed and left these words here
Вот почему в полноценных DE подобное не запилят? И под виндой? Пробовал тайловые менеджеры, все очень приятно и удобно но не готов я сотни часов своего времени на их настройку и написание своих плагинов тратить… Тем более когда и так разного рода глюки вроде нерабочего японского ввода в части программ.
UFO landed and left these words here
Тем что есть я пользуюсь, вот только это не дотягивает до тех же awesome и i3 на порядок.
И не нужно мне так как хочу именно я. Я просто не понимаю (не возмущаюсь, а именно не понимаю), почему я вынужден либо выбирать комфорт и красоту кед (или винды), или удобное управление окнами но полностью убогое окружение в остальном.
UFO landed and left these words here