Comments 2474
'кусочками' научно называется memory mapped files :)
А что значит «но в память приложения данные придётся копировать»?
Upd.: А, всё, я кажется, понял. При read происходит перенос данных в уже выделенную пользователем память. При этом эта память уже контроллируется приложением, т.е. оптимизировать это каким-то ре'map'ингом страниц (или как там ОС это делать может) не выйдет.
И вот это AST во первых весит больше исходника…Кстати, необязательно. Это AST может:
- во-первых, не содержать в себе сами строки, а лишь ссылаться на позиции в исходном файле;
- во-вторых, быть не полностью детализированным (т.е. условно говоря, мы распарсим первую функцию в файле-исходнике полностью на всю глубину, но если она выше екрана, то тут же забудем результат парсинга за исключением её собственно начала и конца (т.е. удалим все узлы глубже узла самой функции), а если она снова попадёт в экран — распарсим заново (т.е. детализируем этот кусочек дерева)).
Memory mapped files — это просто немного удобства для программиста. Под CP/M-80 (в которой ещё не было не то что mmf — банальных file handles) текстовый редактор wordstar спокойно правил файл больше размера оперативки.
Вообще по опыту там дико тормозит подсветка кода, и такая беда не только там.
Я тоже отказался от него в больше части предыдущих операций и перешёл на AkelPad. Он оказался лучше Notepad++.
Для перевода делаю копию файлов. А им нужно иногда конвертирование между форматами (из 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
Если уж вы решили комментировать, то будьте добры, потратьте своё, безусловно бесценное, время и прочитайте уже комментируемое!
Опять же, программисты наверное предполагают, что у вас есть возможность хоть на чем-то написать маленький скрипт. Наверняка, не пытаясь этим вас обидеть.
Ну а айконв, наверное, посоветовали, поскольку вы писали свой велосипед.
Никоим образом не пытаюсь оскорбить ваш разум. Может, я не совсем понял, что он писал и как думал, поэтому заранее прошу у него прощения.
Надеюсь, мой незаангажированый комментарий убедит вас, что вас не хотели обидеть.
Что до сотен файлов открытых в редакторе — то, очень интересное наблюдение. Прям как в том анекдоте, на любую бензопилу, найдется рельса которая её сломает. Интересно, сколько сотен или тысяч файлов повесят редактор окончательно.
Да, так и не понял каким именно вы пользуетесь.
долго пытался понять, автор какого именно оригинала купил огрызок, и почему он, автор, решил сохранять в Юникс-формате.
Автор оригинала (файлов), переводимого мной (слово перевод вам надеюсь понятно?)
Формат Юникс, потому что огрызкобук же, потому что там этот формат вообще-то по умолчанию в его редакторе. А не самого мак-а, потому что его редактор — *никсовый, а не яблочный.
Опять же, программисты наверное предполагают, что у вас есть возможность хоть на чем-то написать маленький скрипт. Наверняка, не пытаясь этим вас обидеть.
…
поскольку вы писали свой велосипед.
Так я и написал. Хотя это не скрипт и уж точно не велосипед! Нормальная команда запуска редактора без гуя (консольно), с параметрами конвертирования из одной кодировки в другую. И я сразу же объяснил, что конвертировать надо «два раза», но нет… начинается снова предложение вначале одного, на перле, потом второго на пхп, да и вообще не под ту ось. Это же клиника!
Что до сотен файлов открытых в редакторе — то, очень интересное наблюдение.
Я же говорю, это бывает нужно редко, ну какие буквы-то незнакомы? :(
Тем более, не важно — отдельно я сконвертирую или вместе, мне же всё равно эти файлы открывать и редактировать.
Всего файлов там около 3800, но ни разу ещё не было чтобы «испортилось» больше пары сотен.
И я описал почему я так же отказался, как и автор комментария, прокомментированного мной.
Раньше использовал EditPlus2 (не помню, почему отказался частично)
0xd34df00d в репах есть:
безазотистые вещества (6,5 %), азотистые вещества (1,1 %), жиры (0,2 %), минеральные соли (в нём очень большое содержание кальция), витамины (А — 0,04 мг, С — 8—20 мг, B1 — 0,08—0,11 мг), значительное количество сахаров и витамина PP. Богата янтарной кислотой.
Никаких dos2unix там нет! Это ген такой или вещество?
Какая разница какой фон под символом?
Красный, белый или зилёный?
Почему белый фон под символом рендерится за 10мс, а красный фон за 100мс?))) Цыфры условные.
Вы вообще понимаете, что разницы в принципе нет никакой? И не должно быть.
Разница получается в таких вот поделиях исключительно потому, что поделие сделано из говна и палок. Подсветку прикручивают не на том уровне абстракций. Всего навсего…
Вы еще скажите, что отрисовка процессором символа с фоном медленней, чем определение того какой под символом фон нужен.
У вас решение какое-то дичайшее.
Вы говорите что парсить строчьку дороже, чем символ с красным фоном рисовать.
ВЫ ОБЪЯСНИТЕСЬ ХОТЯ БЫ КАК-ТО??? Как такое может быть вообще?
Или вы что не понимаете, что вы люто бредите??
А вообще мне кажется, Вы с VolCh о разных вещах говорите. Вы — о времени выполнения, а он — о времени разработки.
У вас строка бывает длиной в несколько мегабайт? И зачем подсвечивать эту строчку длиной в мегабайт?
Вы про какой парсинг сейчас говорите?
Давайте разбираться. Парсинг всего документа целиком — это одно. И да, совершенно прав человек, когда пишет, что если начало комментария 900 строчками выше, то надо парсить весь документ. Так символ комментария может быть не только на 900 строк выше, а выше еще и на 1800-ой строке. Комментарий кто-то попытался сделать вложенным например. И не надо говорить что где-то это запрещено, а где-то разрешено, и где-то документ будет валидным, а где-то нет. Суть не в этом. Парсить ДОКУМЕНТ в любом случае нужно. Но я не про парсинг документа) Я про парсинг строки. Т.е. где в строке подсветить символы. Я про графику. И только. Т.е. есть строка, уже распарсенная. Так вот вам в этой строке нужно подсветить исходя из распарсенного — символы 10,11,12, 34,35,36 и т.д. Вот это и тормозит. А тормозить не должно никак. Имея именно распарсенный документ любой, т.е. абсолютно любой — тормозит именно подсветка символов. Это же увидеть абсолютно легко. Берете документ на 10кб и на 10мб — подсветка тормозит в обоих случаях. И тормозит именно определение того, где какой символ подкрасить, т.е. фон поменять. А фон меняют через лютые костыли зачем-то. Вот это и тормозит больше всего.
Выходит так, что тормозит не парсинг документа, а графика. Это как с курсором выжирающим ядро. Типа того.
Рисовать буквы одним цветом, цифры другим, прочие символы третьим — элементарно и почти ничего не стоит. Подсветка ключевых слов, строк, комментариев — уже зависит от синтаксиса языка. Выделить имена классов, элементы перечислений, парные скобки — нужен полноценный парсер. Неиспользуемые параметры? Неинициализированные переменные? Теперь рисование разноцветных символов требует транслятора с анализом dataflow…
Во втором случае понадобится всего несколько строчек кода, а в первом месяцы или даже годы работы (если делать в одиночку, придумать кучу всяких тем, поддержать 100 языков программирования, для каждого из которых нужен синтаксический анализатор, сделать всё оптимайзно, красиво в архитектурном плане и т. д.).
Так вот, Notepad++ решил пойти по странному пути. Потратить годы работы на подсветку синтаксиса — это ок, а потратить 5 минут времени на Tab indent space align — не ок, хотя эти две фичи одинаково важны.
Если отключить из редактора intellisence, подсветку синтаксиса, то вероятнее он откроется быстрее. Тот же sublime, если автоматом не поставит подсветку синтаксиса, то может открывать файлы в разы больше чем с подсветкой. Хотя Vim например и с подсветкой открывает достаточно шустро.
1. подсветка. У многих она тормозит. У некоторых — безбожно.
2. Весь файл в одну строку. Такая подстава многие редакторы ставит на колени. Как пример: PSPad с подсветкой справляется, а вот с однострочниками нет. Более того, там даже прокрутка будет безбожно тормозить (если вкл автоматический перенос)
- Написал бы, но я работаю с другими языками программирования.
- Это странно, для такой базовой функциональности писать плагин. Давайте ещё напишем плагин нажатия клавиши Enter, чтобы перенести курсор на следующую строку, предваритально создав её, потом напишем плагин для стрелок — а чё, хочешь перемещаться по коду, ставь плагин! и т. д.
- У notepad++ есть какие-то баги с плагинами — не сохраняются настройки.
- Но конечно же всегда можно сделать Pull Request! Но даже если бы я писал на этом языке, то не знаю, стал ли бы я делать. Потому что когда языки совпадали, я пулл реквестил аж в 5 проектов. В двух из них авторы до сих пор рассматривают их уже 2 года (хотя перед pull request'ом я с ними общался, они были не против изменений). Казалось бы, всё готово, им нужно только одну кнопку нажать и смержить изменения, но нет. В одном проекте исправил ошибку, но pull request тупо отклонили, сказав, что не хотим мы ваших исправлений. И только в двух проектах pull request'ы без проблем приняли.
Выяснять отношения и годами просить принять pull request поднадоедает. Хочется просто взять, реализовать фичу, и всё, а не заниматься не пойми чем. Хочется заниматься именно программированием.
- вы перемещаетесь по коду стрелочками
- «Выучить новый язык программирования» на уровне написания плагина непосильная задача
да практически герой статьи в топике.
И самое главное — ради чего? Ради того, чтобы следующий человек пришёл и сказал «А где tab indent space alignment?»? Ну да, наверное, найдёт плагин в гугле. По факту плагин уже есть давно. Но работает плохо. +В Notepad++ не сохраняются настройки плагинов.
Ну сделай ты подсветку синтаксиса отдельными потоком, чтобы не мешать пользователю пользоваться твоей программой.
Сперва разработчики для 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ГГц каждое.
любопытно за счет чего
Напомнило, как я в своё время всадил фееричную багу.
После нескольких часов работы программа начинала тормозить. Причина: в ней было отладочное окошко с текстбоксом лога, в который я при обработке очередного блока данных добавлял точку (что-то тип dbgForm.textboxLog.Text.Append(".") — дело было на дельфях). Что с каждой точкой оказывалось всё медленней...
Это драйвер, т.е. критичный к производительности код. Для мобильных устройств. От Qualcomm.
Да возможно все гораздо проще — исходно надо было сортировать небольшой массив или его часть, сделали пузырек, потом требования изменились и оказалось, что нужен только один элемент, а пузырек остался, т.к. не стали все переделывать.
Почему-то многие забывают, что код не всегда пишется оп и сразу, зачастую он не раз рефакторится, прежде чем дойти до продакшена.
То ли в 2014, то ли в 2015 у нас налоговая приняла законы, по которым XML-ины электронной отчётности по размеру стали допустимы до 10гб (вроде бы с изначального «копеечного» лимита 10-100мб), так все решения на DOM'ах очень красиво посыпались, когда пошли клиенты с громадными «контролируемыми сделками» и «книгами для ндс». Потому что DOM одной только памяти жрёт х10 от размера файла, и если раньше (100мб-1гб) на это закрывались глаза, то на 100гб глаза уже не закроешь, не говоря уже о платформе х86.
Делал в те времена в системе электронной отчётности проект по уходу с DOM (легаси было крепко на него завязано, XPath и прочие плюшки активно использовались) на SAX в один пробег, с «эмуляцией» плюшек или обоснованным отказом от них — веселья было много. Теперь в резюме указываю тег XML, а на собеседованиях периодически посмеиваются, мол, что там знать-то, древовидная структура, теги/атрибуты и всё. Так-то оно да, но, как и в физическом мире, когда масса объекта пересекает определённые границы, проявляется много интересных эффектов, о которых даже не думаешь, щупая маленькие объекты.
Парсер просто выдаёт ленивое дерево нод
А как парсер сможет выдать дерево нод (не важно лениво или нет), не зная структуры документа?
Вообще по такой логике можно любую задачу решить за О(1) — объявить что ф-я, которая делает то, что нужно, ленивая, и не запускается, т.к. оказывается не нужна.
В итоге можно мгновенно решать np-задачи.
Есть док, у которого в самом начале ссылка на картинку с обложкой, которая лежит в конце. Когда клиент захочет сразу же отобразить обложку (ну он же работает с dom и уверен, что она уже загружена) вы предлагаете:
1. загрузить весь документ до обложки и работать как с обычным dom?
2. дропнуть всё до обложки а потом начать парсить сначала, когда клиент продолжит читать документ с начала первой главы?
3. ???
Когда клиент захочет сразу же отобразить обложку (ну он же работает с dom и уверен, что она уже загружена)Даже если она уже загружена — поиск в нём долог и дорог. И да, сложить две строки — это тоже дорого и сложно. Как и выделить подстроку. И как изменить регистр. И как многое другое. Лучше всего про эту банальность (как и почти любую другую банальности) описал Джоел…
Если вы будете помнить, о том, что поиск в DOM — это дорого и долго, то у вас всё будет работать быстро и с DOM'ом и, чуть медленнее (но со значительной экономией памяти) — с «ленивым» DOM'ом. Если же вы будете считать, что складывать строки легко и быстро — то вам, извините, никакие абстракции не помогут. Скорее помешают.
У меня есть ощущение, что вина всему — то, что начинающие программисты больше не начинают с Бейсика на C64. Когда вы писали на языке, который был в 100-500 раз медленнее (не в 100500, а в 100-500 — это довольно точная оценка), чем тот же алгоритм в машинных кодах и при этом процессор у вас был частотой 1 (один) мегагерц… то увидеть, что операции со строками — таки медленные можно было почти что невооружённым глазом. А сейчас — сеньор-программисты об этом не подозревают… а абстракции… абстракции могут быть любыми — важно только не забывать, что все они — дырявые…
А если вы работаете проходами, то на кой чёрт вам dom, если всё равно алгоритм работы полностью меняется. IMHO ленивый 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-парсеру размеры файла совершенно не важны.
Время есть время. Тот п#зд$ц, который мы тут наблюдаем в Хроме вот на этой самой странице с вероятностью 99% связан с тем, что кто-то исходил из логики: на загрузку там тратится на много порядков больше времени, чем на доступ… но применение этой логики достаточное число раз привело к тому, что… имеем то, что имеем то, что имеем: Chrome 54 — работает быстро, а «ускоренный» Chrome 69-70… вот так, как он работает…Если доступ к памяти занимает 100 наносекунд, то на 10Гбит/с канале вы за это время загрузите 120 байт.Это сравнение апельсинов с бегемотами. Сравнивать задержку доступа с устоявшейся скоростью передачи несколько странно.
А если произвольный доступ не нужен, то можно снова лениво стримить всё дерево в DFS-порядке, и мы вернулись в начало.Не совсем. На SSD «ленивое» построение дерева приведёт, скорее всего, к ускорению. В оперативке — вряд ли. Но в случае, если человек считает, что произвольный доступ не стоит ничего и не учитывает того, что он, в общем-то, не так далёк от скорости работы сети… не поможет ничего!
А зачем парсеру знать структуру? Парсер — это синтаксис, структура — это семантика конкретных элементов.
Парсер же возвращает АСТ (ну, условно, в общем АСТ может быть произвольным графом, а не деревом)? АСТ — это и есть структура документа, разве нет?
Внутренние ссылки, перекрёстные, циклические, рекурсивные и т. п. уже не относятся, как по мне, к синтаксическому разбору, это уже дальше этап разбора дерева.
В лиспе АСТ является произвольным графом.
Штука в том, что ридер-макросы не являются токенами, и в них вы можете производить произвольного вида вычисления. Например — взять кусок АСТ и замкнуть его самого на себя:
для
#1=(yoba . #1#)
получится бесконечный АСТ '(yoba yoba yoba yoba yoba ....)
можно сделать такой цикличный АСТ, отдать на евал и он повиснет, например, ну или построить граф любого вида.
С чего вы взяли что оно ему надо было?
Он же не полную реализацию стандарта заваял. Полная реализация вообще никому не нужна, никогда.
Человек отбросил лишнее, и алгоритмически оно у него полетело. При этом совместимость осталась.
В чем собственно проблема?
А проблема в том, что стремятся создать универсальную библиотеку, а это полная чушь. Потому что даже математически это невозможно. Если вы разгоняете что-то, то что-то просядет в другом месте.
В идеале же одна универсальная библиотека пусть будет, я не против, собрать проект не вдаваясь в подробности нужно быстро. Но для случаев кода дом не нужен полностью, должны быть другие реализации. И их должно быть много. Выбираете под себя вам нужную, т.е. ту которая максимально заточена под вашу конкретную задачу, а не ворох, а остальное там вообще не должно быть реализовано, ну потому что не нужно оно.
И кто так делает?) Никто. Потому что мозгов нет совершенно.
И поможет ли оно? Нет) Потому что нужно понимать из вороха узкозаточенных реализаций что они могут. А значит нужно все равно глубоко знать реализации. Так таких людей опять нет)
В итоге — вменяемых реализаций нет. Людей понимающих реализации тоже нет.
Что остается в сухом остатке, впрочем на самом деле в жидком? Правильно: только гавно.
Но для случаев кода дом не нужен полностью, должны быть другие реализации. И их должно быть много.
Так а почему вы их еще не написали? Идите и пишите, вместо того чтобы в комментах говно обсуждать.
Или снимаешь галочку отображения списка клиентов в виндовом DC клиенте и получаешь тот же результат. При количестве пользователей в десятки тысяч этот список все равно смысла не имеет. Это не местечковый хаб с чатиком из начала 2000х, не нужен там этот список, там большая часть не люди, а приставки к ТВ.
Я ещё и чат отключал. Запуск приложения и подключение к хабу — секунда, ну может две.
9x до самого своего упора, до ME, была допиленной 95 виндой на которую в 98 накатили IE4… да и закопали её потому что «переписывать» было себе дороже
Именно так. Лично мне пришлось пару лет назад купить новый телефон, потому, что полностью устраивающий меня galaxy s2 открывал сообщение в скайпе за 30 секунд. К слову, прямо сейчас при наборе этого сообщения и пришедший ему на смену s6 подтормаживает. Неужто разрабы хабра тоже вирусом поражены?
1. Нажмите на этой странице Ctrl+U
2. Нажмите Ctrl+A на открывшейся вкладке
3. Кликните по выделенному тексту правой кнопкой мыши в любом месте
4. <>
5. <>
6. <>
7. Снимайте процесс, если надоело ждать.
Прошло полгода — спустя минуту исходный код страницы так и не открылся...
Вивальди 2.5.1525.43 (64-bit)
Примерно так же. Единственно, исходник открывал почти минуту, зато открыл сразу полный текст.
Palemoon 28.5 x64
Конкретные лаги и фризы, до десяти секунд, на протяжении всех пяти минут проверки. Исходный код открыл очень быстро, секунд за десять, но догружал до полного все ту же минуту.
IE11 приятно поразил почти полным отсутствием лагов при прокрутке после загрузки страницы. Но дальше…
Дальше начались сначала фризы при вызове контекстного меню, потом попытку открыть исходный код после пятиминутного ожидания пришлось прерывать снятием задачи в таскменеджере, потом и окно браузера со страницей пришлось убивать через таскменеджер, поскольку никакой вменяемой реакции добиться уже не получалось.
Вердикт: за Palemoon обидно.
Страница
UPD. Отправился коммент мгновенно, а вот полное обновление заняло таки двадцать две секунды.
UPD2 — но лагов не было никаких. Десктоп, седьмая винда, 8 гигов оперативки и i5-2320.
Вот тот же Web. Да, если каждый раз с нуля переписывать все эти библиотеки и фреймворки, то конечно. Только нужны ли они на 99% сайтов? Веб — это информация, текст, таблицы, картинки. Для этого всего вообще не нужен ни js, ни всякие библиотеки/фреймворки. уберите бессмысленное и бесполезное украшательство — и веб начнет летать на самых убогих компьютерах.
А там, где они нужны, как правило, хватило бы ресурсов и для написания «с нуля». Но незачем, ибо пипл и так хавает.
По словам разработчиков, процесс ухода с jQuery занял годы.
Кто за это платит? По своему желанию переделываются только пет-проекты.
В случае больших проектов, переделать все это далеко не копейки.
Забавно, что даже при редактировании файла на Github.com страница весит
лишь 1.63 MB (а там ведь подсветка кода, AJAX-запросы, живой поиск, предпросмотр, и другие полезные функции).
«Вы ничего не понимаете, веб-программирование — это крайне очень супер сложно и вообще сперва добейся (закончи месячные курсы фулл-стека на пайтоне)».
Ну и конкретно на facebook большинство запросов это статика. Как прикажите картинки то грузить?
Насчёт аналитики — даже Google Analytics и Яндекс.Метрика с Вебвизором вместе взятых не занимают больше 250 KB. Тут проблема не в аналитике, а в том, что разработчики банально не используют условные загрузки. По моему мнению, незачем загружать стили/скрипты комментариев, чата, списка друзей, редактирование профиля и других функций недоступны неавторизованных пользователей. Но, возможно это лишь мои иллюзии, ведь я не работал в крупных корпорациях.

А то, что там после загрузки еще больше, ни о чем не говорит. Вполне вероятно, что на странице логика грузятся только те библиотеки, которые делают изначальное отображение интерфейса и общие для всех пользователей. А после авторизации уже происходит фактические наполнение данными, но пользователь сразу видит уже какой-то каркас интерфейса.
К сожалению, сам на мобильном интернете очень многих постов и картинок просто не увидел — тупо не дождался их загрузки, дольше 10 секунд загрузки — это уже бесполезная трата времени и вещь уходит куда-то далеко в бесконечную ленту событий, возврат к которой в будущем маловероятен.
Вы предполагаете, что разработчики заранее кэшируют данные, а я не думаю, что они отличаются от тех, кто подключают jQuery на всех страницах сайтах, когда данная библиотека будет использована только на странице контактов, и то, чтобы анимировать одну кнопку, если пользователь открыл страницу 29 февраля в полночь. Во-первых, если бы они заботились об активных пользователях, они бы использовали условные загрузки по крайне мере после авторизации. Во-вторых, они подключают мегабайтные скрипты на всех страницах. В-третьих, пару мегабайт до авторизации лишь «цветочки» по сравнению, с тем, что происходит после. Если бы Вы проверили Вашу «теорию» о кэшировании, то заметили бы, что после авторизации сайт совсем «не летает», даже если все скрипты загружаются из кэша. Он и не будет, ведь это не SPA, и мегабайтные скрипты выполняются каждый раз, когда пользователь переходит на другую страницу.
Facebook и Twitter лишь примеры, но они далеко не единственные кто не допускают, что пользователь не будет использовать даже 10% функционала. Посмотрите, сколько ненужных стилей, скриптов и медиа файлов загружаются на веб-сайтах; какие права требуют простые приложения; какие спецэффекты используются, дабы рассказать какие «мы современные»; сколько шрифтов подключаются лишь, чтобы «показать красивое название сайта». Практически все с каждым днём «улучшают» свои программы и сайты, но, к сожалению, это происходит только в пресс-релизах.
Напоследок, хотелось бы напомнить, что даже js-файл размером в 1 MB это довольно много для сайта, где пользователи пишут и читают обычные посты. И, тем не менее, Вы хотите оправдать разработчиков, которые подключают десятки мегабайт JavaScript. Боюсь, я не могу согласиться с Вами, поэтому, прошу Вас, не вздумайте переходить на сторону зла!
Еще напомню, что эта компания стоит сотни миллиардов и каждый день ее сервисом пользуется больше миллиарда человек и этого бы не было, если бы они разгильдяйски относились к таким важным элементам, как главная страница сайта.
С вашей стороны очень самонадеянно считать что вы знаете лучше, как надо делать и что решение сделать именно такой механизм работы страницы авторизации у Фейсбука продиктован ленью или некомпетентностью разработчиков.
У них есть огромное количество данных о том, что происходит на сервисе на каждом этапе его работы, данные о сотнях миллионах пользователей (если говорить о веб версии). Равно как и есть возможность протестировать и сравнить множество альтернативных вариантов.
Догрузить пару мегабайт библиотек в фоновом режиме, пока юзер вводит логин и пароль, чтобы после авторизации интерфейс с базовом виде прорисовался как можно быстрее — вполне здравое решение.
Единственный сценарий, при котором такой подход может навредить, это если посетитель не будет авторизироваться, а просто зайдет на страницу. В этом случае загрузятся лишние мегабайты.
Но сервис вполне логично ставит интересы таких посетителей ниже тех, кто авторизацию пройдет.
Еще напомню, что эта компания стоит сотни миллиардов и каждый день ее сервисом пользуется больше миллиарда человек и этого бы не было, если бы они разгильдяйски относились к таким важным элементам, как главная страница сайта.
Наивное утверждение. Сервис настолько огромен и популярен, что у существующих пользователей просто-напросто нет выбора (нет аналогов, куда перейти, ведь все друзья в сидят в фейсбуке). А с новыми пользователями то же самое — в мелкую соцсеть типа MySpace идти нет смысла, так как там почти никого нет.
А если вы почитаете, что люди пишут про скорость работы (что веб версии, что мобильного приложения в том же Google Play), то вы увидите, что негативных отзывов гораздо больше, чем позитивных (я правда читал только русскоязычные комментарии, но можно начать хотя бы с России как частного случая). Вы только вспомните: мобильное приложение фейсбука стало настолько тяжёлым, что из него выпилили мессенджер и выпустили отдельным приложением! А потом ещё выпустили Facebook Lite, к слову…
Действительно, сверхпопулярные компании могут позволить себе очень многое. И если они изначально работают над привлечением новых пользователей, то став популярными, чаще всего в первую очередь они думают, как извлечь максимальную прибыль. Как монополисты они уверены, что пользователи никуда не убегут, а значит, они могут творить любую дичь. Правда, некоторые из них (например, IE, ICQ, MySpace, Yahoo) поплатились за это.
Дорога ложка к обеду. Очень хороший пример тут — 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.com как неавторизованный пользователь, страница занимает 6.16 MB и браузер отправляет 65 запросов
Вам эти данные приходят в сжатом виде и весят никак не 6 с лишним мегов.
1МБ нa страничку, учитывая шрифты/иконки/картинки — это более менее.
Нa мобильной версии приходит около 300кб нa всю страницу.
Так что не сгущайте краски.
Цифра в 6 мегабайт не характеризует ничего, в отличие от сжатого размера, который реально передавался по каналу пользователю.
Это нет так. Реальную память занимает *результат* исполнения кода, а не исходный текст. Короткий код может легко занять много памяти, достаточно насоздавать много объектов в цикле.
Еще как сложно! Там могут быть оптимизации, ленивые вычисления, которые сэкономят память.
Гадать о производительности кода по его размеру — такое себе занятие. Именно поэтому размер сжатого кода еще имеет какое-то значение, то разжатого – цифра ни с чем ни связанная.
Вы думаете, что все пользователи получают данные в сжатом виде?
У 99% браузеры поддерживают сжатие.
Или, что сжатие даётся пользователям даром
Да, почти даром.
мегабайты хлама никак не влияют на производительность
Вот это ужe под вопросом. Возможно, как написали выше, они грузят что-то заранее, чтобы потом нe «лагало» и нe погружало ничего.
Например, у меня в телефоне браузер крашится, если веб-страница пытается съесть больше 12-13 мегабайт
Он крашится если вкладка загружает больше 13 мегабайт? Чего? Диска или памяти?
Одни фотки сейчас весят по 2-3, если не больше. Может вам надо обновить телефон?
Краш скорее всего был по оперативной памяти. Наверное, не на 15 мегабайтах, а на 40-50 (это вроде предел для одного приложения в Андроид 2.3), при доступных 150 мегебайтах всего на все приложения в сумме. Это число я написал по ошибке, перепутал с размером кэша после вылета.
Видимо, посчитали что лучше пусть у тех, кто просто открыл и не авторизировался, делались лишние запросы, чем заставлять дополнительно ждать загрузки тех, кто таки авторизировался с этой страницы.

На пике первая загрузка гмейла в последней лисе.
То есть полифил на 20MiB(!).
Но ведь это не вина гугла, что в Firefox не реализовали ShadowDOM v0
Embrace, Extend, Extinguish нового поколения.
А разгадка проста — из-за сильной интеграции с другими сервисами гугла, в первую очередь с андроидом, гмейлом пользуются все и писать они могут практически любой говнокод. Сравните даже хотя бы с яндексовой почтой.
Почему это был не его изобретатель
Изобретатель чего, 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.
В лидеры Хром выбился благодаря монопольному положению Гугла на рынке поиска и агрессивному маркетингу.
И не надо про эти ваши «большие проекты». Реальность в том, что именно «большие проекты» в большинстве случаев нафиг не нужны, их лепят вместо простых сайтов с текстом и картинками потому что это «стильно, модно, молодежно», а не потому что необходимо.
а не потому что необходимо.
Если бы это не было необходимым, то простые сайты с текстом и картинками выигрывали бы в конкурентной борьбе, но мы наблюдаем обратную ситуацию — выигрывают те самые "большие проекты".
Так уж вышло, что в 2018 разница между десктопным приложением и сайтом в интернете стала бесконечна мала, можно сколько угодно по этому поводу плакаться, но фарш провернуть назад не удастся.
Можете себе свой гипертекстовый фидонет замутить и там делать свои страницы с простым текстом и картинками. В вебе поезд ушел.
Если бы это не было необходимым, то простые сайты с текстом и картинками выигрывали бы в конкурентной борьбе
Если бы были сайты с равноценным контентом, но в вариантах с рюшечками и без — то так бы и было. Но в погоне за модой сайты с хорошим контентом превратились в монстров. А одной скорости для выигрыша в борьбе мало.
И нет, разница между сайтами и приложениями никуда не делась.
Если бы были сайты с равноценным контентом, но в вариантах с рюшечками и без — то так бы и было.
Так этих сайтов нет, потому что они проиграли конкурентную борьбу.
А одной скорости для выигрыша в борьбе мало.
Ну вот видите, вы сами ответили. Производительность должна быть достаточной, прирост производительности выше чем нужно — уже не дает никакой пользы. И если клиента устраивает производительность на уровне 1% от возможной, то ПО работающее на уровне этого 1% будет иметь конкурентное преимущество над тем, что работает на уровне 90%. Потому что пользователю на эту разницу плевать, а вот затраты на разработку — возрастут.
Так этих сайтов нет, потому что они проиграли конкурентную борьбу.
Нет, они проиграли борьбу не потому что на них не было рюшечек, а потому что современные монстры раньше были нормальными легкими и быстрыми сайтами, их аудитория в значительной степени сформирована за много лет, а поведенческие факторы позволяют и сейчас удерживаться в топе поисковиков.
Ну вот видите, вы сами ответили.
Нет, просто вы меня поняли так, как хотели понять.
Дело не в том, что если сайт грузится за 10 секунд, то это нормально и быстрее не надо. Дело в том, что между сайтом за 10 секунд с хорошим контентом и сайтом за 1 секунду с плохим любой нормальный человек выберет первое. Зато между сайтами с хорошим контентом но загрузкой в 10 и 1 секунду — второе. Это не та разница, на которую можно наплевать.
И дело, кстати, не только в загрузке, но и в последующем скроллинге и т.п.
Зато между сайтами с хорошим контентом но загрузкой в 10 и 1 секунду — второе.
Если бы это было так — мы бы видели в топе сайты с хорошим контентом и загрузкой в секунду. Но это не так.
а потому что современные монстры раньше были нормальными легкими и быстрыми сайтами
Но их потом взяли и специально сделали ненормальными, тяжелыми и медленными? Зачем? Заговор рептилоидов?
Я серьезно спрашиваю. Как вы объясняете этот парадокс?
Избежать всего этого можно — если делать простые и не очень красивые сервисы с небольшим количеством функций. «Дёшево и сердито». Но на такое меньше спрос, людям это уже приелось, им чего-то нового хочется. А за новое порой приходится платить тормозами, увеличившимся трафиком, необходимостью обновлять браузер и даже ОС…
И не надо говорить, что «компании все просчитывают перед тем как сделать». Ярчайший пример эпик фейла — Кинопоиск 2.0. Просто если изменения не такие резкие, то пользователи просто потихоньку привыкают, но это вовсе не значит, что они в восторге от всего этого.
Тем, что модно и тем, что можно (в смысле «гляди, как мы могЁм»). Туда же и регулярные редизайны.
Модно и можно кому? Вы же понимаете, что решение принимается не программистами? Зачем бизнес в это деньги вкладывает, если это ничего не дает?
Потому что бизнесу кажется (ключевой момент), что так будет лучше («патамушта какнкуренты так сделали, давай и мы сделаем»). Но «кажется» и «будет» — разные вещи.
Почему-то успешным оказывается именно тот бизнес, которому так кажется. А которому не кажется — успешным не оказывается.
Видимо, "кажется" обоснованно, в итоге.
попытка ошибкой выжившего оправдать неверную логику?
При чем тут ошибка выжившего? И логика вполне верная.
Еще раз — у нас, фактически, нет успешного бизнеса, которому не кажется (или есть, но это какие-то единичные и малоизвестные случаи).
Если бы данный фактор не влиял на результат, то мы бы не наблюдали такую ситуацию.
Доказывайте.
Зачем? Это очевидное для любого пользователя интернетов в 2018 наблюдение. С-но, именно это наблюдение стало причиной появления обсуждаемой статьи. И 2к комментов к ней. Вы сейчас будете придуриваться и делать вид, что всего этого нет? Ну если нет — то и обсуждать нечего, сайты быстрые, весят мало.
А не те, которым не казалось, а когда достигли успеха — стало казаться.
А какая разница, стало или было? Это совершенно несущественный фактор.
Итак, если бизнес достиг не думая, сейчас сидя на достигнутом стал думать, то успех и думанье за — никак не связаны.
Так никто и не говорит, что успех связан. Речь не о том.
Речь о том, что либо те, кто занимается успешным бизнесом — умные люди, и, с-но, если они считают правильным вешать на сайты свистоперделки, а Am0ralist не считает, то это потому, что они знают что-то такое, чего не знает Am0ralist.
Есть второй вариант — на самом деле отбор отрицательный, с-но условный Ларри Пейдж — тупой. Именно потому что он тупой, он и стал миллиардером (и остальные тоже). Из-за своей тупости он любит свистоперделки. А вот Am0ralist — он умный. По-этому он свистоперделки не любит, он знает, что все это просто каргокульт. И по той же причине миллионов Am0ralist не заработал — для этого надо быть тупым. Как Ларри.
Ну и третий вариант — все это просто такое большое совпадение.
Вариант по душе выбирайте уже сами.
Зачем бизнес в это деньги вкладывает, если это ничего не дает?За 4 года Webmoney сделали редизайн, по-моему, 6 раз, или даже 7. Зачем — непонятно.
За 4 года Webmoney сделали редизайн, по-моему, 6 раз, или даже 7. Зачем — непонятно.Не только Webmoney, но и много крупных банков и магазинов часто меняют дизайн. ИМХО это сильно раздражает постоянных клиентов, которые привыкли к прежнему. ИМХО многие начальники, принимающие решения, просто не знают основ психологии, а исполнителям нужно показывать свою необходимость делая ненужную работу.
ИМХО многие начальники, принимающие решения, просто не знают основ психологииОни как раз либо знают, либо догадываются.
Просто у них нет задачи понравится всем и каждому. И если старые пользователи ворчат, но не уходят, а новых сколько-то появляется — то цель достигнута, можно получить бонус.
Я в курсе, что есть новые тренды. Но тут получается массовый «вирус» — 25-30 процентов сайтов делают редизайн (не обязательно самые крупные), они становятся «модными и современными», и остальным уже как-то неловко оставаться со старым — в частности, они боятся, что новые клиенты начнут не так охотно прибывать :)
Но новые появились бы и без смены дизайна, разве нет?Статьи на Хабре и в других издания, шумиха в разных соцсетях и прочем. Ну а дальше — работает правило «не важно что о тебе говорят, лишь бы фамилию правильно называли».
Конечно тут важет факт редизайна, а не его тормоза, но… тут уж как получается…
Но тут получается массовый «вирус» — 25-30 процентов сайтов делают редизайн (не обязательно самые крупные), они становятся «модными и современными», и остальным уже как-то неловко оставаться со старым — в частности, они боятся, что новые клиенты начнут не так охотно прибывать :)И они, к сожалению, правы. Мода тоже часто заставляет носить одежду, которая откровенно неудобно, а иногда и опасна для здоровья. Но ведь носят. Тоже самое и тут.
Но тут получается массовый «вирус» — 25-30 процентов сайтов делают редизайн (не обязательно самые крупные), они становятся «модными и современными», и остальным уже как-то неловко оставаться со старым — в частности, они боятся, что новые клиенты начнут не так охотно прибывать :)И они, к сожалению, правы. Мода тоже часто заставляет носить одежду, которая откровенно неудобна, а иногда и опасна для здоровья. Но ведь носят. Тоже самое и тут.
Причём как раз некоторый парадокс в том, что айтишникам это очень тяжело понять, так как очень многие их них скорее готовы прослыть «немодными», тем мучиться с неудобной одеждой… но ведь людей, «следящих за модой» — куда больше.
Мода тоже часто заставляет носить одежду, которая откровенно неудобна, а иногда и опасна для здоровья.ИМХО с модой сложнее см. Википедию:
Сегментами рынка модной индустрии являются категории, на которые подразделены различные марки и бренды, в зависимости от своих параметров — качества изделий, способа выпуска коллекций и ценовой политики производителяЕсть «Высокая мода», «Средний ценовой сегмент», «Массовые марки». В свою очередь в них есть под-сегменты.
Просто у них нет задачи понравится всем и каждому.Не всем и каждому, а удержать постоянных клиентов. Нпр., если клиенты массово забирают вклады из банка — он может рухнуть.
И если старые пользователи ворчат, но не уходят,Обычно уходят. В развитой экономике есть большой выбор. И внутри одной структуры часто бывает выбор. Нпр., операции по банковскому счету можно делать он-лайн, а можно в отделении. Если клиентам неудобно он-лайн, они будут использовать отделения банка загружая работников, а эффективность сайта упадет. Многие магазины торгуют не только по сети. Будет больше покупок вживую, больше заказов по телефону, а прибыль через сайт упадет.
1) решение «добавить вот эту рюшечку» обычно принимается не программистом, а каким-нибудь продажником или маркетологом (по крайней мере, в случае малого и среднего бизнеса, а не контор уровня Facebook), большинство из которых — это гуманитарии из тех, что называет процессором системный блок. Соответствено, о том, что это повлияет на скорость, они просто не думают.
2) у программиста, реализующего это решение, обычно не хватает либо квалификации (просто не знает, как сделать ту же асинхронную загрузку или догадаться повесить подгрузку скрипта на подходящее событие), либо времени (когда задача ставится в духе «это надо было сделать вчера, а ты тут собираешься еще два дня с оптимизацией возиться»), либо мотивации («зачем тратить усилия и оптимизировать, если все равно никто этого не оценит толком»).
3) выросло поколение пользователей, которое толком не знает, что такое по-настоящему быстрые сайты, и сложившуюся ситуацию воспринимает как норму (поэтому и не уходит к конкурентам, даже если они есть).
4) отношение к пользователю как к слепому и умственно отсталому существу, которое неспособно самостоятельно найти кнопку «подписаться» или «задать вопрос» и его необходимо потыкать мордой в баннер на полэкрана.
5) всеобщее убеждение, что программа или сайт должны постоянно обновляться вместо «хорошо сделанное и выполняющее свои задачи ПО в обновлениях не нуждается» (кроме разве что исправления уязвимостей в безопасности, если таковые будут найдены).
А те, кто без рюшечек — должны искать посетителей иначе. Своё ядро преданных пользователей, сарафанное радио. Я вот вспоминаю, многие паблики в вк вроде «Подслушано» в начале своего пути так развивались. А вовсе не через поиск, рекламу или оплаченные посты в других сообществах.
Гмейл выиграл не потому, что он свистит на компьютере пользователя.Как раз за счёт этого. В 2004м, когда он появился большая чем почты в браузере была на обычных формах и потому работала гораздо медленнее, чем AJAX-подобный GMail…
Конечно в современных реалиях быстрого интернета и многомегабайтных страниц GMail'а разница невелика — но тогда GMail был меньше, а «обычная почта» — тормознее.
И оно не свистело. Оно было удобно и по делу.Так всегда бывает. Вначале добавляются фичи, которые реально удобны (AJAX позволил резко снизить задержки), а потом, через несколько лет — получаем монстра.
Во многом и Chrome был рождён из-за того, чтобы GMail-подобные сайты можно было писать не опасаясь добавить пару строк JavaScript'а… ну а потом, как и везде — оптмизаторы V8 упёрлись в возможности железа, а астронавты продолжили решать несуществующие проблемы…
Только вспомнить, сколько всего редко используемого (и в целом опционального) было напихано: Flex, CSS Grid, WebSQL (на страницах MDN как-то осторожно пишут, что лучше этим не пользоваться, поскольку разработка стандарта была приостановлена на стадии драфта), SPDY/HTTP2, WebRTC, WebAudio с кучей фильтров, больше подходящих для работы со звуком в проф. аудиоредакторе типа Nuendo/Cubase, чем для применения на сайтах или в JS игрушках (который сначала добавили, потом убрали, потом снова добавили в сокращённом варианте, но только в Chrome, в Firefox не стали).
HTTP2 ускоряет загрузку
Тогда почему я так мало где его вижу?
CSS Grid был бы полезным
Он не то чтобы бесполезен. Он сложен в освоении. По крайней мере для тех, кто пос старинке верстал на блоках.
Flex позволяет наконец нормально верстать
Вот здесь поподробнее, плиз. Чем до этого было не нормально?
И кстати с корректностью отображения у этой технологии всё плохо. Я молчу про Оперы на Presto, которые не умеют Flex, потому что его ещё не было, и Хромы версий до какой-то там. Но ирония в том, что даже в Firefox дизайн, сделанный на Flex-ах, безбожно корёжится аж до версии 51 включительно (она вышла, на минутку, не так уж и давно). Если кто не верит — можно открыть Twitch с помощью сервиса-эмулятора, позволяющего просматривать сайты в разных версиях браузеров под разными ОС.
Как по мне, при такой вёрстке как минимум меньше контроля над происходящим (хотя всё ещё можно корректировать огрехи расположения с помощью position: relative, но получается, что эти корректировки ещё и должны быть browser specific).
Фейсбук выиграл не потому, что у него пердящая форма авторизации. Гмейл выиграл не потому, что он свистит на компьютере пользователя. Ну и так далее.
Возможно, но мы же наблюдаем четкую корреляцию. Если пердящие формы и свистящие гмейлы сами по себе не являются причиной победы, то этой причиной является, по крайней мере, нечто с ними связанное.
Если "простые и легкие" сайты заменяются на свистящие и пердящие — значит в этом есть какой-то смысл, ведь это все требует каких-то дополнительных телодвижений, согласитесь.
Веб — это информация, текст, таблицы, картинки.
Эм, нет. Веб — это добавление информации, текста, таблиц, картинок… А для этого нужен и js, и фреймворки, и на фронтенде, и на бэкенде. Предпросмотр нового коммента все-таки удобнее, чем перезагружать страницу отправкой формы и проверять как оно выглядит, не так ли?)
P.S. Никогда не люблю юзать сторонние решение, особенно если они явно избыточны.
Откройте любую статью, посвещенную опенсорсу. Как там хорошо, что много глаз код просматривают и все такое… (заметите под ковер heartbleed). А потом разверните аргументы на 180* и получите перечень проблем, которые возникают от «всего своего». Начиная от качества этого «своего» и заканчивая временем нового разработчика для понимания.
Нет ничего «крутого» в том, чтобы сделать медленну, кривую, работающую только в пачке браузеров реализацию, вместо того, чтоб взять нормальную.
Потому что вы обрекаете пользователей на баги, которые давно починены в библиотеках.
Надо просто писать без багов.
Начиная от качества этого «своего»
Зависит от того, кто и как реализует (и насколько ему интересно/приятно этим заниматься).
и заканчивая временем нового разработчика для понимания
Опять же, если код аккуратный, с комментариями (а ещё лучше, self-docemented, не нуждающийся в комментариях) — порог вхождения нового разработчика будет не очень высоким.
чтобы сделать медленную
В том-то и дело, что как правило, это будет в 2-3 раза быстрее, чем на каком-то фреймворке/движке, как минимум из-за отсутствия лишней логики.
работающую только в пачке браузеров
Так надо писать так, чтобы работало во всех, а не в пачке! Где я за «пачку» агитировал?
Единственные плюсы фреймворков — это обход особенностей и багов старых браузеров, о которых разработчик банально может не знать, и большая компактность получающегося кода.
Но с другой стороны, для старых браузеров можно использовать условно подключаемые полифилы, и результат будет надёжнее и предсказуемее, так как фреймворк неизвестно насколько большой совместимостью в сторону старых версий обладает, особенно если брать динозавров вроде IE 6-8 и новые версии JQuery. Причём даже если фреймворк обладает такой совместимостью, то вот плагины к нему (на примере того же JQuery) с вероятностью 99,9% — нет, и всё равно в старом браузере сайт сломается и будет нерабочим. Кроме того, в случае 90% проектов на совсем старые браузеры вроде IE до версии 9 можно вообще забить, поставив заглушку с просьбой обновиться.
Что до компактности, то из-за неё сложность исполнения кода браузером увеличивается если не на порядок, то в разы, также растёт и количество потребляемой памяти: например, известный факт что движки обычно работают с синтетическими объектами событий (заворачивая внутрь них обычные как одно из полей), оборачивают HTML элементы в специальные объекты, возвращая результаты из функций-селекторов, и так далее).
А другой человек подумает, возьму я JQuery (который, к слову, давно уже пора закопать) и буду анимировать всё на нём. И конечно же будем вычислять каждый кадр каждого свойства каждой анимации на CPU, и каждый раз будем сбрасывать кеш всей страницы. Это ведь на порядок, как вы говорите, стабильнее. А на пользователей нам плевать.
Верно я понял вашу мысль на тему «JQuery для анимаций»?
Долго я там не проработал, но осадок остался…
В любом случае визуализация должна быть на стороне css — это точно, а на JS уже бизнес-логика. Если ваш calc только для позиционирования элементов, то не вижу ничего страшного в этом, сам с недавнего времени начал активно его использовать и не понимаю теперь как жил без него.
Я привёл в пример всего лишь один из случаев, когда кто-то, не зная одного инструмента, но зная другой ненамеренно всё усложняет. По-этому весь софт и становится медленнее.
Конечно, есть и другие критерии. Например, дополнительные абстракции ради снижения сложности поддержки ПО. Как раз тот из вариантов, когда JQ можно использовать для селекторов. Хотя, лично я в этом вижу не слишком много смысла, благо 2018год на дворе и давно есть querySelector, но мнение имеет право на существование.
по этому лично для меня, написание нативных решений js, в любом случае подразумевает дополнительные затраты по времени
Вы полагаете, изучить и научиться применять на практике такую большую библиотеку, как jQuery (пусть и не самую сложную из тех что есть), будет быстрее? Тут смотреть надо
Тот же GitHub заменил jQuery на querySelectorAll и fetch с полифиллом.
Предпросмотр нового коммента все-таки удобнее, чем перезагружать страницу отправкой формы и проверять как оно выглядит, не так ли?)
То есть в эпоху стамегабитного интернета Вам западло лишний раз "перезагрузить страницу отправкой формы"? Если уж Вам тяжело перещагружать страницу со 100500 комментариями — загрузите окно предварительного просмотра в iframe, наконец!
Если на каждой странице будет по iframe со своей разметкой на каждое действие, то мне кажется ресурсов это будет занимать еще больше. Вместо 20 вкладок в памяти браузера будет 60-100. А если и нет, все равно это менее удобно, почему и стали делать на js.
Тот же Хабр в данном случае исключение, здесь комменты могут быть даже интереснее статей. Но в подавляющем большинстве случаев комменты прямо на странице нафиг не нужны, а вот малый вес и быстрая работа еще никому не вредили. Хотите пообсуждать — вот вам ссылка на форум. Легко и просто, но не модно, это да.
Критикуешь — предлагай. Если это легко и просто, покажите, что сделали лично вы и сколько времени на это потратили, без js и библиотек/фреймворков. Причина идет из создания кода, а не из моды. Я этим занимаюсь, и утверждаю, что не легко и не просто.
В конце концов есть простое и абсолютно элементарное решение — кнопка или ссылка, по которой пользователь переходит на страницу, где вы можете хоть гигабайт жабаскрипта навешать. Хочет какой-то пользователь пострадать — пусть страдает. Не надо делать тормозные страницы, только из-за того, что кто-то захочет что-то прокомментировать.
И даже на более интерактивных сайтах можно что-то такое придумать, чтобы страницы, где 99,99% пользователей только читают, не загружали весь мусор, необходимый для интерактивного взаимодействия.
Сайты на которых интерактивное взаимодействие — основная, критическая часть функционала — это одно. Где совершенно необязательная — совсем другое. Но вторые почему-то маниакально изображают из себя гибрид фейсбука с твиттером.
Я говорю о конкретной и при этом самой распространенной категории сайтов. Сайтов информационных, на которых контент генерирует только автор сайта.
Таких сайтов сейчас практически нет. Интернет-магазины, соц-сети, веб-интерфейсы к сервисам типа почты — это самые распространенные категории, и везде есть функционал, который требует действий от пользователя. Даже на сайте газеты 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-уведомления и вовсе молчу. Или, скажем, онлайн-чаты, которые сейчас на каждом втором магазине висят. В принципе, неплохая вещь, если их делать нормально, то есть сначала видна только кнопка «Задать вопрос» (еще для привлечения внимания по ней можно какой-нибудь блик пустить), а при щелчке по ней подгружаются необходимые скрипты и начинается чат. Но нет же, делают загрузку скриптов сразу и сразу же разворачивают окно чата.
Если на фреймворке прототип делается за час, а без него за неделю, тут не надо никаких парадигм.
Так речь же о том что на фреймворке у конечного пользователя тормоза начнутся.
Ну вот этот come_block надо добавлять в каждый блок, и желательно в обертку, чтобы собственным классам не мешало. Суть же не в том, что сделать нельзя, а в том, что поддерживать надо. А еще оно все равно на клиент поедет.
come_block — Это и есть собственный класс в примере выше)<button class="display_inline_block come_block"></button>Ну если вы вот так сделаете, то верстка может поехать, там же display другой задан.
Думаете не хватает на разработчиков?
Мы пользовались софтом, который работал на компьютерах в сто раз медленнее нынешних смартфонов, при этом он был значительно более функциональный, отнюдь не стоил космических денег для пользователя, а разработавшие его программисты были ничуть не менее богатыми, чем современные. Так что проблема отнюдь не в том, что для разработки более качественного ПО нужно намного больше денег.
Мобильный софт — это вообще издевательство. Там количество фич только уменьшается. Старые гугл.карты (еще на Андроиде 2) умели трекать остановки транспорта. В новых появилась прекрасная фича «потряси телефон, если нашел ошибку», зато они перестали показывать таймлайн с остановками маршрутки. Хотя, вроде в этом году вернули эту фичу обратно…
Атом (который редактор) в принципе не умеет того, что умеет мой emacs.
Про новый скайп уже говорили.
Даже в новом MSPaint потеряли какую-то фичу, которой многие пользовались в оригинальном приложении. Извините, не помню деталей.
При желании, этот список можно продолжать еще долго.
Скорость работы именно программы выросла — Эксель научился нормально использовать многопоточность для расчетов (сравнивал 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) достаточно хорошо развито.
что умеет мой emacs.
Только вы почему-то не упомянули что емакс тормозит ;)
за возможность играть в новую игру хоть каждый день
А можно поподробнее, что в этом инновационного по сравнению с, к примеру, приставками из 90-х?
1. Вам не нужно убеждать магазин в том, чтобы он начал распространять ваш продукт. Зарегистрировались, выложили. А дальше уже покупатель голосует рублём/долларом/юанем.
2. Магазин не имеет никаких прав на ваш продукт, ни даже эксклюзивного права на распространение. Как вам больше нравится — так и распространяйте. Издательство же вас сожрёт с потрохами.
3. Магазин у вас не требует никакой финансовой доли в бизнесе. Он продал ваш софт — он взял свою комиссию, не продал, он ничего не потребовал. Насчет того, что комиссия большая, вопрос спорный. Сколько вам не жалко отдать денег посреднику за продажу вашего товара, которой без него вообще бы не было? Особенно если учесть, что тиражирование этого товара не стоит вообще ничего.
И они даже не берут некоторый процент с продаж?
Ну, на ваши расходы на создание продукта это уж точно никак не влияет. Согласитесь, факт, что магазин берёт свою наценку при продаже вашего товара, абсолютно естественен и логичен.
А зачем аппстору юридические эксклюзивные права, если 99.9% пользователей iOS не имеют других источников?
Зато пользователи Андроида тоже с удовольствием поиграют в те же Растения против Зомби, что и на аппсторе. А вот издатели иногда трясут ананайкой перед студиями, дескать, «хочу, чтобы в ЛастОфАс играли только на нашей любимой плейстейшен, и нигде более».
Не напомните, какой размер указателя в байтах был на windows 98, и каков он в «современных приблудах на телефоне», раз уж взялись мерить?Припомню, да. 4 байта размер указателя в Windows 98 (сегмент 16 бит, смещение 16 бит), 4 байта сегодня (да, большинство приложения 32-битные до сих пор). И?
При этом с помощью этого браузера я могу решить в тысячи раз больше задач, чем с помощью вашего 97го офиса, 98 винды, и каждого по отдельности приложения для нее.Замётано. Не расскажите — как именно с помощью вашего браузера создать табличку с формулами и посчитать что-нибудь в ней. Сделать каталог с книгами и найти там чего-нибудь? Ну или, на худой конец, подготовить и распечатать книжку с картинками? Это всё Офис делал в 97й версии без каких-либо дополнительных аддонов или чего-либо ещё…
Я про существование таких знаю, могу даж пример привести. Целое одно приложение, вы не поверите.
Все остальные — либо ABI-agnostic (то есть там может быть любой поинтер), либо с поддержкой armeabi-v7a.
P.S. Да, я знаю, что в мире iOS всё не так — ну так это, опять-таки, чисто и исключительно хотелки чьи-то. То ли Тима Кука, то ли духа Стива Джобса, я не знаю. Никакой объективной необходимости в таком «форсированном» переходе на 64-бита нет и не было.


Интересно, как ей бы было с 32-битными указателями.
Иногда удивляюсь, почему "compressed pointers" так мало распространены. Выравнивание по 8 байт — и можно адресовать 32ГБ, используя 32-битные указатели. Немного памяти сбережёт.
Не расскажите — как именно с помощью вашего браузера создать табличку с формулами и посчитать что-нибудь в ней. Сделать каталог с книгами и найти там чего-нибудь? ...
Гуглодокс и прочие веб приложухи.
И не говорите мне что 97ой офис не тормозил нa компах того времени. Еще как тормозил. Ворд частенько падал при сохранении/загрузки нетривиальных документов, все они нe показывали контент при скролле и т.п.
Попробуйте собрать себе старый комп с 98ой виндой и поработать под ним. Очень быстро захочется обратно в «тормозное будушее»
А бразуер, грубо говоря, парсит и генерирует http, и может открыть некоторые файлы для чтения.
Как верно заметили выше, браузер только парсит HTML, применяет CSS и исполняет скрипты; в довесок он умеет определять геопозицию юзера, показывать картинки и сохранять их на диск, проигрывать аудио и видео (уже лет 7-8 как), выводить и подсвечивать в консоли JS код, а также исполнять пользовательский код прямо там же. Но это обстоятельство не позволит вам сделать электронную таблицу, сверстать книгу или статью, или сделать слайд-шоу. Для всего этого нужно облачное приложение — браузер же может его только исполнить. Некорректно говорить, что функционал, предоставленный этим приложением, предоставлен непосредственно браузером. С таким же успехом можно сказать, что мы обязаны всему JVM или компилятору (браузер по сути такой же JIT-компилятор/интерпретатор).
А может и в 1000-100000 раз быстрее. Смотря что…
Через веб-приложение — да, но при чём тут браузер?
Ээ… А браузер без веба зачем нужен то вообще?
P.S. Это если забыть про то, что начиная с MS Office 2000 в офис и «настоящий» браузер входит. Кокретно в MS Office 2000 — MS IE 5.0
У меня вопрос по существу вашего примера имеется. Код простой, но у меня он, однако же, не работает. Ошибка очень забавна: "
document.querySelectorAll(...).forEach is not a function". Перед этим я заменил стрелочную функцию на обычную, так как моя версия Хрома стрелочные ещё не поддерживает. Но тем не менее подсчёт итоговой суммы не работает. Я так понимаю, querySelectorAll возвращает в моей версии не массив, а NodeList или что-то вроде того, и у этой сущности отстутствуют методы массивов. То есть надо делать Array.prototype.forEach.call(...). Вопрос, почему у Вас работает без этого?P.S. Не знал про темплейты, спасибо, теперь где-нибудь применю при случае :)
ЗЫ foreach работает не везде
И не говорите мне что 97ой офис не тормозил нa компах того времени. Еще как тормозил.
На новом компе 1997-го (а это был бы Pentum 133+ с 16 Мб памяти и выше) года он работал адекватно, не тормозил. На компе 1999-го уже бы летал. Сложно сравнивать производительность тех лет с современной, т.к. тогда за год-полтора производительность вырастала в разы, а сейчас лет за пять процентов на сорок.
У меня на новом компе 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 диске.
Ну и скайп никогда вроде как не был эталоном производительности и вообще хорошего софта.
Договоритесь со знакомым Васей, он вам сделает Ворд, а вы ему Эксель) Можете обсудить стоимость. Только она не важна) Вы можете сделать друг-другу куски офиса скажем за мильярд долларов. Хватит? Но взаимозачет же. Он вам. Вы ему.
Только фишка же получается не в деньгах вовсе) Ни он ни вы абсолютно ничего не сделаете.
Выводы.
Причем тут фишка еще и в том, что тут совсем деньги ни при чом. Потому что вы и так знаете, что Вася вам ничего в итоге не сделает) А значит и вы не захотите. Смысла же нет.
Если вы ваш скил обратите в экономические бумашки — эти бумашки вообще ничего не будут стоить. Потому что вы ничего не можете вовсе) Потому что есть другие, которые могут. Которые сделают круче, быстрее и дешевле, а скорее всего вообще задаром.
И да, браузер тут вообще не нужен.
Договоритесь со знакомым Васей, он вам сделает Ворд, а вы ему Эксель) Можете обсудить стоимость. Только она не важна) Вы можете сделать друг-другу куски офиса скажем за мильярд долларов.
Идея богатая и в некоторых кругах весьма уважаемая. У каждого фигуранта в этом случае остается компания с миллиардным оборотом.
Остается отрастить бороду, подвернуть штаны — и на ICO, а того краше — на IPO.
Отображать pdf
Только если стоит плагин от Adobe, либо, опять же, через JS расширение, написанное сторонним разработчиком (да, его иногда включают в поставку, но у меня даже нет уверенности, что его пишут те же люди, что сам браузер).
Предоставляет инструменты для их верстки.
Да, но это верно только для HTML, в какой-то другой формат экспорт сделать будет вряд ли возможно)
С помощью браузера и написанного на коленке скрипта, я могу p2p позвонить знакомому по webrtc, без всяких скайпов.
Окей, что-то такое анонсировали, как минимум в Mozilla. И как это сделать? Что для этого нужно знать, куда нажать и что куда ввести?
И делается это движением мизинца правой ноги.
Вы сильно утрируете. Хотя в целом такое и правда возможно, для создания веб-приложения не нужен сервер, можно работать и локально, и даже делать импорт/экспорт в файлы, и использовать прикольные штуки вроде Indexed DB, WebSQL и Local Storage.
При этом все это очень быстро работало на мобильных процессорах того времени (200-500 МГц), 64-128 МБ памяти.
Но глючновато, винмобайл часто любил зависать наглухо.
Кстати, а почтовые клиенты прошлого умели передавать файлы больше 100мб? а 10Гб? Сейчас это на уровне средних потребностей.
Кстати, а почтовые клиенты прошлого умели передавать файлы больше 100мб? а 10Гб? Сейчас это на уровне средних потребностей.
Ну не перегибайте, ни раньше, ни сейчас почтовые клиенты для передачи подобных файлов не используются. И проблема тут не столько в клиенте (дайте ему достаточно памяти и времени, он вполне себе сжуёт такой файл), сколько в ограничениях на размер вложений у почтовых сервисов. Что касается самой возможности обмена крупными файлами, то она не слишком-то и изменилась, единственное, сейчас у вас будет файлообменник с веб-мордой, а двадцать лет назад у вас был бы файлообменник с FTP-клиентом. И дисковая квота, конечно, с поправкой на размеры файлов тех лет :)
Технологии вроде бы как не изменились, но пользовательский опыт — очень сильно.
Почему, кстати, досихпор не видно отдельных нативных почтовых программ способных автоматически передавать большие файлы вложений через файлообменники?
Почему же? вот совсем недавно отправлял фото для печати в онлайн-сервис, почта… 5Гб.
Ну а я так ни на одном из своих ящиков не смогу. И никто из тех пользователей, у кого нет специального корпоративного ящика с отсутствием лимита на вложения, так не сможет. Gmail сейчас имеет лимит на вложения 25 мегабайт. Mail.ru — 20 мегабайт. И подобные лимиты практически везде. У вас это редкое исключение, связанное с профессиональной деятельностью.
Почему, кстати, досихпор не видно отдельных нативных почтовых программ способных автоматически передавать большие файлы вложений через файлообменники?
Кстати, идея очень даже неплохая :)
Да, если все вокруг пользуются GMail'ом и GDisk'ом — то это работает. Но шаг вправо, шаг влево… и нет больше прозрачности…
один робот мне ответил что их предел 25Мб,
второй — что 20,
один человек — «шлите все только в pdf, картинки не открою»
и двое — «приложенные ссылки гуглдиска не открываются, шлите только вложением»
и это при том что мобильный клиент гугла умеет напрямую с интернет-диска гугла же только ссылки шарить (хорошо что наоборот еще отключить не догадались — с приложения гуглдиска можно отправить письмо с вложением)
так что «вжжух и ушло» — это несмотря на 2018 ситуация до сих пор из серии «любой каприз за ваши деньги»
Google Drive запрещён как файлообменник.
А для чего он тогда создавался, для личного архивирования? Там вроде в пользовательском соглашении ничего нет про запрет передачи ссылок.
В целях безопасности у многих сотрудников там вообще интернета нет.
Чтобы не слили данные по операциям (соблюдение банковской тайны)? Разумно. Но у кого совсем нет интернета, там и почты не будет. А у кого интернет есть, те обычно к особо секретным базам и не допущены (отдел по работе с клиентами какой-нибудь).
Почта с внутрикорпоративного сервера работает. Через почтовый клиент типа Outlook или Lotus.
Нет, ну это для компании логично. Я имел в виду, у кого нет физически доступа в сеть. То есть значит сеть есть, но лишь локальная, нет именно интернета? Я просто уже привык, что это синонимы, сорри.
Зачем отделу по работе с клиентами интернет?
Например, чтобы работать с CRM. Хотя скорее всего, она тоже локально развёрнута, в интрасети.
А ещё чтобы уточнить детали тарифа/услуги, хотя наверное для этого у сотрудников стоит специальный справочный софт, не нужно даже корпоративный сайт открывать.
Почему, кстати, досихпор не видно отдельных нативных почтовых программ способных автоматически передавать большие файлы вложений через файлообменники?
Thunderbird умеет. Outlook тоже умеет.
Вспомните, какой прорыв в голосовой связи через интернет произвёл скайп. Который не надо настраивать, не надо вручную прокидывать какие-то там порты в NAT(ещё одно страшное слово для пользователей) и куда-то вводить адрес прокси-сервера. Он просто работает. Запустил и работает. В этом плане потребности пользователей уменьшились, они хотят и получили заветную кнопку «сделать всё хорошо».
То есть пользователь, конечно, не обязан становиться разработчиком и даже админом. Но всё-таки… Хоть для себя-то какой-то кайф получить от того, что сделал, настроил, и оно заработало в итоге
Хоть для себя-то какой-то кайф получить от того, что сделал, настроил, и оно заработало в итоге
Кайф можно получить один раз — когда вы решаете новую для себя задачу. Когда вы настраиваете софт на своём десятом компе, эта задача вызывает у вас уже не кайф, а раздражение и скуку.
Так что проблема отнюдь не в том, что для разработки более качественного ПО нужно намного больше денег.ИМХО нужно больше времени. Раньше обновления были не очень часто, а сейчас лидеры индустрии ПО похоже считают, что чем чаще — тем лучше для их фирмы-производителя этого ПО.
А все остальные мегабайты «нод джс», «джкверри», другие фреймворки и прочие кучи дерьма работают лишь ради «красивеньких» анимаций и прочих перделок.Но ведь это же нормально!
Люди, которые думают иначе либо не читали пресловутого секрета айберга, либо не до конца осознали его.
Прицитирую самую важную часть:
Вы знаете, что 90% айсберга находится под водой? Ну и с большинством программ то же самое – есть красивенький интерфейс, который занимает 10% работы и потом 90% программистской работы «за кулисами». И если вы примете во внимание, что около половины времени уходит на исправление ошибок, то на пользовательский интерфейс уходит только 5% работы. И если вы ограничиваете себя только визуальной частью интерфейса, картинками, которые показываются в PowerPoint, то мы говорим сейчас менее, чем об 1%.Сейчас мы наблюдаем простое и естественное следствие из этого закона: если люди озабочены только и ислючительно пискелями на экране — то только на оптимизацию этого параметна и будет обращено внимание.
Это не секрет. Секрет в том, что люди, которые не являются программистами, не понимают этого.
И, кстати, зря он програмисстов отделил. Они точно также считают. Я это понял, когда увидел фразу Есть еще Gerrit, который там как-то с этим борется, но интерфейс из 90х убивает все желание пользоваться этим. Речь шла об управлении VCS для программных проектов. Уж гиковей задачи быть не может. И… всё равно: пиксели — важнее.
Кстати разработчики Gerrit'а отреагировали адекватно: последняя версия выкинула нафиг «устраевший» интерйес, который позволял мне с клавиатуры сделать то, что мне нужно за секунды. Теперь это «чудо природы» грузится многие секунды (иногда десятки секунд), глючит, но… зато у него теперь современный интерфейс! Победа!
Автор статьи вообще не понимает, где причина, а где следствие: машину с потребелением топлива 1000 листров на 100 киломестров — никто не купит. А сайт, который теряет данные, будет пользоваться большей популярностью, чем сайт «с интерфейсом из 90х». Вот и всё. Вот и вся «тайна».
Люди — вы получаете ровно то, за что вы платите (деньгами или времегнем — неважно), почему вы недовольны? Пока куча дерьма в красивой обёртке пользуется большей популярностью, чем маленькая, быстрая, но «негламурная» программа — люди будут порождать эвересты дерьма.
Почему автор вообще к разработчикам обращается? Не в них ведь дело!
Тому кто не может планировать — кредиты с конскими процентами. Тому, кто озабочен статусом — оверпрайснутые цацки. Тем, кому промыли мозги и насадили чувство неполноценности — уколы силикона в губы и амулеты на успех.
Дурака растят под рынок и рынок под дурака, конвергенция-с. Но это только часть вопроса, ибо цифровая техника и все эти айтишные абстракции крайне тяжелая и не очевидная для человеческого мозга вещь! Так как не имеет привычных аналогий в реальном мире. Если, например, файл на диске можно сравнить с вещью, то жесткую ссылку уже намного сложнее.
Т.е. требовать от большинства людей хотя бы базового понимания как это все устроено нерационально. И сопоставимо с требованием от всех понимания физиологии человека или электродинамики. Это в мире где большинство верит в ящериков и думает, что Солнце вращается вокруг
Причем тут капитализм? Просто производство хламья очень просто, дешево и удобно — думать не надо в первую очередь разработчикам и производителям.
Сейчас зачастую даже имея неограниченные деньги, некоторых нормальных вещей не купить — разве что в виде завода, и потом дрючить его до тех пор, пока руки переместятся с места ниже поясницы на свое нормальное.
Еще вмешательством в образование, которое (мало того, что само превращается в модную услугу, впариваемую родичам через тревогу за детей) не позволяет сформировать у человека целостную картину мира. Производя «радостных олигофренов» чья уверенность следствие эффекта Даннинга-Крюгера.
Ничто не мешает писать не кривой софт, и сократить число обновлений до одного в год-два вместо бешеного клепания бесконечных обнов, которые делают только хуже. И это будет даже дешевле, чем сейчас, но никто это не делает, потому что производители живут в своем вымышленном мире и пытаются следовать его законам, которые в реальном мире не работают или работают не так.
Только вот я с сотню людей спрашивал — все они ненавидят обновления лютой ненавистью, и зачастую не ставят их.Вот только выход обновлений — приводит к увеличению продаж/скачиваний/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, я не искал там уязвимости, но по субъективным ощущениям количество индусов, пишущих под неё софт, ничуть не меньше, чем в других сферах.
А пока такие программы выходят в свет лишь в надежде что АЛУ процессора нас не подведёт, и как правило так и бывает. Но есть ньюанс…
Ошибки в арифметике процессора в истории были, так что даже алгоритмы которые мы считаем надёжными на самом деле таковыми не являются и по большому счету даже такие элементарные вещи нуждаются в проверке и доказательствах.
Что касается доказательства корректности алгоритма, даже математически точное доказательство не даёт гарантии отсутствий ошибок в самом алгоритме. Ну да, алгоритм делает то что должен делать. Но то ли он делает что НАМ нужно?
И это не абстрактная хрень, так баги в реальном софте находят:
Btw, this bug was found while trying to prove soundnes of (an idealized version of) Mutex. Yay for formal methods :D
Более подробно можно почитать в блоге парня, который это нашел.
research.jetbrains.org/ru/groups/group-for-dependent-types-and-hott
github.com/JetBrains/Arend
gearbox, вам тоже интересно посмотреть, наверное )
А как доказать, что ваша система, проверяющая корректность доказательства, сама корректна?
Если вы формально верифицировали код, то на выходе вам не надо ВЕРИТЬ в его корректность, достаточно ВЕРИТЬ в то что корректны аксиомы, на базе которых строилось доказательство И верны методы доказательства. Но доказать все и вся — не будет :)
Ну если уж говорить о вере, то мы вообще сразу попадаем в область субъективного. Кто-то 100% покрытие тестами выдрочил и верит теперь, что все работает идеально.
Аксиома — это просто гипотеза. Математика занимается поиском ответов на вопросы вида: "что, если Х?", при этом истинность Х (аксиомы) где-то за пределами исследования.
Так что верить в аксиомы не требуется, можно даже быть уверенным в том, что они все ложны. С математической точки зрения это ничего не меняет.
Если же это мой проект и мне реально дороги пользователи, то я сделаю нормально за минимальные затраты для пользователя. Но это вложение души. Почему я должен вкладывать душу в какое-то левое предприятие или дело. Почему я должен тратить свою душу на каждую вебвизитку?
А потом заказчик хочет прикрутить ещё пару фич, через месяц, нанимает ещё людей на сдельную, они могут заметить говнокод и комментарий «не связывайтесь» и наговнокодить ещё больше, или вообще новые фичи навернуть поверх всей старой архитектуры (что очень часто и происходит).
Новички же делают ещё больше гавнокода, даже если хотят сделать хорошо. Уровень их «нормальной работы» и моего говнокода различаются. Если бы всё, что делается сейчас «нами» делалось бы новичками…
Раз уж начали придираться к символам, то числительные пишутся через дефис.
На вскидку, раз
На вскидку, два
В обоих случаях виновником была страна с капиталистическим укладом экономики.
2. Первая мировая. Напомню, что развязали ее страны с капиталистическим укладом экономики.
2. Первая мировая. Напомню, что развязали ее страны с капиталистическим укладом экономики.
Исследование показало, что все дыщащие воздухом люди умирали.
И не надо про то, что «это были далёкие колоннии, о том, что там происходит никто не знал». Ирландия рядом с Англией всегда была, никуда не отплывала…
Ваш сарказм был бы уместен, если бы никаких других стран, кроме капиталистических, в природе не было.
Погодите, сколько всего существовало стран за последние 200 лет и сколько из них не были капиталистическими?
массовое уничтожение людей в других странах
То есть если в своей — то это ок?
Погодите, сколько всего существовало стран за последние 200 лет и сколько из них не были капиталистическими?Несколько сотен. Капиталистических было примерно половина.
С точки зрения жителей других стран? Да, разумеется.массовое уничтожение людей в других странахТо есть если в своей — то это ок?
Своих жителей гробят все страны: и капиталистические и социалистические и феодальные. А вот чужих… только давно забытый рабовладельческий строй и капитализм… забавно, кстати, что капитализм, как раз, возродил рабство (чтобы потом с пафосом с ним бороться, да)…
ИМХО, весьма гуманно обошлись еще с немцами.
Если бы до этого Германи не напала на СССР — то не было бы ни грабежей, ни убийств, ни мародёрства. А если вы считаете, что уничтожение индейев и индусов, ирладцев и африканцев — это вещи того же, плана, то вам, вне всякого сомнения, не затруднит составить списочек:
1. Когда ирландские войска высадились в Великобритании.
2. Когда африканские войска высадились на территори Бельгии.
3. Когда вооружённые индусы прибыли в Европу.
4. Когда китайцы совершили высадку в Японии.
Для начала — хватит, я думаю.
Если же вы такого списка предоставить не можете — то и заткнитесь на тему «зверств русских в Германии».
Своих жителей гробят все страны: и капиталистические и социалистические и феодальные. А вот чужих… только давно забытый рабовладельческий строй и капитализм…
Вы, кажется, перепутали. Все страны грабят чужих жителей, потому что интересы своих жителей для нормального государства всегда должны ставиться выше, и если можно ограбить соседа- это следует сделать, иначе такое государство ненужно.
И только рабовладельческий строй и прочий социализм замечен в гноблении собственного народа на потсоянной основе.
Если же нет, то как в вашей истории пропали такие куски, в которых говорилось про феодальное общество и про монархии
Феодальные общества в итоге представляли либо то же рабство, либо и не было там никакого гнобления. Монархии у нас и сейчас есть, что-то не наблюдаю гнобления британских граждан.
а так же как минимум про капиталистические общества начала прошлого века?
Ну и кто кого гнобил-то, вы пальцем укажите?
Альтернативная история в треде!
Никакой альтернативной истории.
Хотя где вы там хоть какую-то полноценную монархию увидели сейчас — ума не приложу.
Ну вы же понимаете, что у вас теперь ненастоящий шотландец?
Не, конечно не было ничего в истории монархии Англии с постоянным гноблением своего населения.
Ну подробнее можно?
А с шотландцами я ваша попытку пошутить не понял совершенно.
Какая шутка? Я указал вам на то, что вы вместо аргументации используете вполне конкретный полемический прием.
История Европы с падения Рима и до начала 20 века. Примерно там.
Чего не история Земли с вымирания динозавров до наших дней? Конкретные примеры можно?
Феодальные и монархические государтсва в европе были как раз в указанный период.
В указанный мной период они тоже были.
Я вас не спрашивал, в каком периоде были примеры. Я вас попросил указать эти примеры. Не период. Сами примеры. Вы понимаете разницу?
что имел ты ввиду про шотландцев
Применяя к нашему случаю — какую бы монархию я вам в пример не привел, вы просто объявите, что это "ненастоящая" монархия (ненастоящий шотландец), а потому мой пример нерелевантен.
Так что в том виде, в котором вы это формулируете — это не аргумент, это полемический прием. Это вы должны пояснить, почему по-вашему Великобритания монархией не является, и что надо, чтобы государство являлось таковой. Ведь, согласно общепринятым критериям, Великобритания — монархия.
ну вот и доказывайте, что при динозаврах она была.
Если что-то было в период Х то оно было в любой период, содержащий Х. Указанный мной период содержит ваш, ч. т. д.
Но это все не важно, еще раз. Я не задавал вам никаких вопросов про период. Я просил вас привести конкретные примеры. Не период, в котором были примеры, а примеры. Непонятно, что тут сложного для понимания.
Ага, аргумент к личности. За меня решили что я буду считать, а что нет
Я ничего не решал о том, что вы БУДЕТЕ делать, я констатировал факт того, что вы УЖЕ сделали — применили полемический прием "ненастоящий шотландец" вместо аргументации.
Еще раз — УЖЕ применили, по факту.
Что вы там дальше будете делать — мне искренне наплевать.
Ага, аргумент к личности.Это не аргумент к личности. Аргумент к личности это «ты не прав потому, что лысый».
А касаемо всё же не капитализма — там ведь принцип был иной, делалось многое для удобства «пользователя»
Што, простите? Это в СССР многое делалось для удобства пользователя? А примеры можно увидеть? А то я сколько ни встречал советских изделий, начиная от мелких штучек типа посуды, и заканчивая заводами и жилыми домами — всё сделано через ЖОПЕНЬ, за очень редким исключением.
последние лет 30-35 страна не развивается вообще
Если вы под развитием подразумеваете шагание строем в ногу в сторону очередной «великой цели», то да, не развивается, и нафиг бы оно упало, такое «развитие».
А еще есть подозрение, что вкуса придавал факт стояния в многочасовой очереди, известно ведь, что чем труднее достается что-то, тем больше ценится. В «Контрольной Закупке» помню чуть ли не на МРТ проверили, как человек пьющий одно и то же вино но из дешевой бутылки и из дорогой по разному его описывал. И не потому, что он понтовался, а на МРТ было видно, что при испитии напитка про котороый была априорная информация, что он дороже, просто тупо больше отделов мозга активировалось.
Просто производство хламья очень просто, дешево и удобно, вот при этом и капитализм: если это сделать просто, дешево и быстро, то значит и прибыль получишь быстрее.
Ясное дело, что в утопиях Стругацких или Ефремова, производители бы думали об улучшении качества вещей, о том чтобы производить вещи развивающие человека и тд.
Разница в том, что в нормальных условиях капиталист может себе позволить вложить больше денег в производство, создание инфраструктуры и тп, и в долгосроке получить прибыли намного больше
Вот что пишут люди из самого сердца мира наживы и чистогана
На бизнес-встрече представителей венчурного капитала с «господами учеными» инвесторы, то есть те, кто реально финансирует прикладные исследования, на пальцах объясняли некоторые прописные истины. К примеру, одним из первых тезисов был таков: We do not need cure, we need treatment.
Это как, «нормальные условия»? Или капитализм какой-то неправильный, цветов радужных?
Какой-то чувак в ЖЖ
«Какой-то чувак в ЖЖ» уже 22 года живет и работает в Университете Нью-Йорка биохимиком и профессором. Зовут его Виталий Эпштейн.
Про коммунизм никто и не говорил, кроме Вас. Приписывать мне то, чего нет в моих словах точно не стоит. А вот что стоило бы (мечты, мечты) — так это иметь инструмент давления на всех этих «инвесторов» чтобы, например, разработке новых антибиотиков они бы уделили финансирование в таком же объеме, что они тратят на цитостатики. Пока же большинство крупных фармацевтических компаний забросили свои программы разработки антибиотиков к 1995 годую
лекарство от гепатита C было наконец изобретено пару лет назад.
Не спорю, что находятся и среди руководителей фармы вменяемые люди, понимающие, что HCV безразличен твой размер счета. Но большинство напоминает азартных игроков, которым главное отчетность перед акционерами показать хорошую, да бонус свой годовой получить за продажи.
Я уж не говорю о генетических лекарствах, которые сейчас горячая тема.
… и с эффективностью работы которых пока что как с УТС — вроде движемся, но сильно медленнее, чем нужно. А вот пиара и понтов — выше Эвереста.
И не очень понятно, почему второе безусловно хуже первого
Что тут непонятного? Вылечивание — это точка в истории болезни, а tretament — это деньги, вытягиваемые зачастую пожизненно. При таком раскладе тот, кто поставляет препараты, становится просто на сторону заболевания, а не пациента. Что неясно-то?
Причем тут капитализм?При том ИМХО, что у капитализма есть свои плюсы и минусы. Минус, о которм речь — это потребительская культура — покупать как можно больше и чаще. Я про это писал (вслед за другими):
Казалось бы, ко всем этим выводам можно придти, и не прибегая к примерам типа ранних версий Windows, а используя только здравый смысл. Однако так называемая культура общества потребления вносит заметный деструктивный вклад в сознание людей.
В большинстве мы не стремимся к «прекрасному завтра», мы стремимся не провалиться прямо сейчас.
Постоянная гонка по времени за конкурентами, бешенные бюджеты на эту самую конкуренцию, и самое главное — высокая фрагментированность всего, включая платформы или сами конкурирующие продукты
Конкуренкция — это хорошо
любой продукт изначально создается в условиях риска провала
То ли дело работать, когда знаешь, какое Г не произведи, его обязаны у тебя закупить.
То ли дело работать, когда знаешь, какое Г не произведи, его обязаны у тебя закупить.
Че-то при капитализме оно именно так и происходит. «Невидимая рука рынка» творит чудеса. Телефоны на полгода и еда из пенопласта в тренде.
Да, но с КБ это был управляемый процесс. Эта куча КБ не тратила деньги на борьбу друг с другом, и уж точно не стремились слепить Г поскорее конкурентов и сплавить.
А чем же они занимались?
Че-то при капитализме оно именно так и происходит. «Невидимая рука рынка» творит чудеса. Телефоны на полгода и еда из пенопласта в тренде.
Нормальные телефоны и нормальная еда, не знаю, что там у вас происходит.
К слову, у нас есть исторический период двух разных мироустройств с одинаковыми исходными параметрами. И я прекрасно представляю, с какой завистью относились к людям с не то, что заграничными вещами, а хотя бы экспортными вариантами отечественных.
А чем же они занимались?Не поверите — работали над продуктом.
исторический период двух разных мироустройствОчень не хотелось бы переводить разговор в политическую плоскость, но если справедливо делить тот мир на 2 части, то в «ненашу» часть попадало куда больше стран, чем только страны западного мира. И средний уровень жизни тут и там будет выглядеть несколько иначе. И насколько жители какой-нибудь Либерии и прочих Гондурасов могли себе позволить эти заграничные вещи, вызывавшие зависть советского потребителя — большой вопрос.
Не поверите — работали над продуктом.
Так конкуренция заключает в том, чтобы сделать продукт лучше! В чем же тогда разница?
Очень не хотелось бы переводить разговор в политическую плоскость, но если справедливо делить тот мир на 2 части, то в «ненашу» часть попадало куда больше стран, чем только страны западного мира. И средний уровень жизни тут и там будет выглядеть несколько иначе. И насколько жители какой-нибудь Либерии и прочих Гондурасов могли себе позволить эти заграничные вещи, вызывавшие зависть советского потребителя — большой вопрос.
Ну, в данном случае я про два «полюса» рассуждаю (раз уж про них зашла речь), ведь даже я считаю, что второй «полюс» не настолько плох был, чтобы сразу уж с гондурасом сравнивать.
А вы изучите вопрос получше, мемуары почитайте что ли. Да даже официальные отчёты о том как те же автоматы принимали на вооружение: реально конкурсы между КБ проводилис, из нескольких разработок выбирали одну. Официально лучшую по совокупности характеристик, по мемуарам и прочим свидетельствам что только в дело не шло, чтобы убедить членов госкомиссий. Особенно когда дело касалось выбора между изделями от КБ, которые «крышевали» разные властные кланы.
Игры с рисованием красивых пикселей нормально справлялись ещё в 90х — на компах, которые сейчас даже свежую винду не потянут (интерфейс которой выглядит примитивнее, чем у старой винды). Фейл по всем фронтам: даже красивые пиксели рисовать ниасилили, на четырёхядерных процах на 2 ГГц.
И если люди отказываются пользоваться интерфейсом 90х, а требуют продуктов в стиле Windows 10 (или в «материальном дизайне»), то, стало быть, цель достигнута.
Что там сказал бы Роден на тему этих интерфейсов — неважно…
И если люди отказываются пользоваться интерфейсом 90х, а требуют продуктов в стиле Windows 10 (или в «материальном дизайне»), то, стало быть, цель достигнута.
Начнём с того, что использовать Windows 10 пользователей просто вынуждают. Лично я на свой компьютер 7ку или более ранние версии просто физически не могу поставить. Начиная с того, что там не работает Docker, заканчивая тем, что то ли процессор (i7 7600k), то ли оперативка (DDR4) несовместима и из-за этого вылетает синий экран при установке. Интерфейс у 10ки неприятный и отталкивающий, а в более ранних версиях вообще отвратный. Глаза кровоточили, когда видел иконки не по гайдлаинам (в свой время занимался вёрсткой и получал люлей от дизайнера, если где-то какой-то пиксель вылезал).
Управление окнами удобное
Чем оно хуже в семёрке?)
по моим ощущениям поживее шевелится на удивление
А по моим дико тормозит. По крайней мере в виртуальной машине. Версия 1609 ещё кое-как ворочалась, после апдейта до 1803 — это просто слайдшоу с загрузкой по 7-8 минут.
А в целом насколько удобнее чем Win7?
Больше софта ставится из коробки. Сюда же можно отнести, что после установки винда сразу готова. Не надо ставить 350 обновлений, которые вышли за все эти годы. Да, есть репаки, но я им не доверяю.
Ну а в целом это та же семерка, только с небольшими бонусами вроде перечисленных + напирмер красивый слайд-шоу скринсейвера. То есть все ровно то же самое, глобально внешне ничего не поменяли.
Например, у кулера в вашем офисе есть только режим «налей холодную» и «налей горячую». Чтобы налить воду комнатной температуры можно было бы просто сделать кран, чтобы подавать воду напрямую из бака, но вместо этого предлагается смешивать холодную и горячую, хотя это и не оптимально.
Когда в убунте мне нужно компилить из исходников драйвер на вай-фай, потому что разработчики сочли это «очередной платой расширения», это очень неудобно и раздражает.
Внезавно если у вас есть узкий кейс, вы можете самостоятельно пропатчить установочный образ, вырезав лишнее. Поэтому принципу небезызвестные ZVER EDITION были построены.
Или претензия к МС, что они умолчания используют для общего сегмента ПК, а не для сегмента оборудования с фиксированным набором компонентов? И не выпускают по эдишну на каждую комбинацию этих самых устройств?
Иначе что придётся сделать? Надо будет пересмотреть всё разнообразие девайсов, сопоставить к ним драйвера которые есть в системе и удалить их сделав уникальную сборку. А потом… при каждом апдейте проверять что в этой сборке ничего не поломалось, что хватает всех файлов, все имеющиеся драйвера не конфликтуют друг с другом. Кто это всё делать будет и за чей счет? Дешевле взять уже существующее, запускается? запускается! так чего ещё надобно? Ну подумаешь с флешки 2-3гб меньше стало, кого это волнует — если вам из 16гб не хватает 2-3гб то это лишь означает что железка была выбрана сильно в притык и дешевле удвоить память чем ковырять свою сборку и поддерживать её в дальнейшем.
И потом ты подключаешь к устройству физический расширитель шины и внезапно оказывается возможным подключить к девайсу все эти устройства.
Иначе что придётся сделать? Надо будет пересмотреть всё разнообразие девайсов, сопоставить к ним драйвера которые есть в системе и удалить их сделав уникальную сборку. А потом… при каждом апдейте проверять что в этой сборке ничего не поломалось, что хватает всех файлов, все имеющиеся драйвера не конфликтуют друг с другом. Кто это всё делать будет и за чей счет?
Это аргумент, почему МС не должна этим заниматься.
Вот совсем недавно наткнулся на такой мост — USB3->PCI-E не было шины, и тут вдруг она появилась. Нежданчик для операционки.
Видел где-то использовали для организации фермы для майнинга.
Ограничения есть конечно, по скорости и отзывчивости но всё что можно подключить к PCI-E и не требовательное к производительности интерфейса можно использовать.
voron.ua/catalog/034118
А как вам невозможность уменьшить громкость не дефолтного звукового устройства?
Или в процессе очень важной работы вам понадобилось перезагрузить машину, а винда задумалась на час.
А вы видели как на ходу винда вытягивает обновления для драйверов видеокарты и в процессе меняет два монитора местами? Один раз я выцарапывал уи с телевизора, вторая раз эта гадина вообще не смогла отрисовать уи изза частоты в 120гц (о как это весело было).
Не видел. На двух разных компах пользуюсь 2 мониторами (в одном случае — вообще ноут, где родной монитор выключен). Всё, что замечал — после установки через пару минут винда может мигнуть экраном, доустанавливая драйвер. Хотя верю, что такое может произойти.
А как вам невозможность уменьшить громкость не дефолтного звукового устройства?
Хм, не знаю, я обычно уменьшаю громкость текущего. То есть включил наушники — регулирую наушники, зачем мне что-то другое? Через 2 устройства одновременно слушать как-то странно, мне кажется.
Или в процессе очень важной работы вам понадобилось перезагрузить машину, а винда задумалась на час.
Видел много сешных роликов в интернете на эту тему, но у меня почему-то ни разу не было. Ставлю себе активные часы с 10 до 20 и всё, в это время точно ничего не перезагрузится.
Через 2 устройства одновременно слушать как-то странно, мне кажется.
У меня телек вторым.
в это время точно ничего не перезагрузится.
А я и не говорю что само, но будто вам никогда не требуется)
Через 2 устройства одновременно слушать как-то странно, мне кажется.
Телевизор для одного члена семьи, наушники с монитором для другого. У нас дома каждый вечер так.
у меня была более веселая ситуация:
Включаю комп, биос, логотип винды, окно логина… бац монитор в standby
в безопасном режиме все работает… причем ничего не помогает, не снос дров (точнее удаление устройств из диспетчера) ничего
кое как обходными путями ставлю radmin… гружусь… после загрузки винды висит окно «Обнаружено новое устройство: Монитор SVGA, продолжить?» жму «да!»… монитор включается… пипец.
а косяк был в драйверах на видеокарту ATI которые обновились и они решили что если монитора нет в системе то и видеосигнал выдавать на VGA не стоит
В таких случаях (если игра закрывает весь экран и диспетчер задач не виден) помогает его открытие не по комбинации Ctrl+Shift+Esc, а Ctrl+Alt+Delete -> «Запустить диспетчер задач». Это если у него в параметрах не стоит «Поверх всех окон». Если же стоит, проблем обычно не бывает.
И вообще, давайте раскритикуем, что они 98 не поддерживают до сих пор?
Я специально уточнил, что нельзя во всём винить MS/Google/%company_name%. Естественно, нельзя требовать «столетней поддержки». Тем более, что, как я уже сказал, у них свои резоны — никто и не обещал этой поддержки, да и рынок требует.
И всё ж таки, как пользователь, я имею право возмущаться, что в новой версии windows/android/skype/etc всё не так хорошо, как в моей любимой.
Внезапный отказ? Или запланированный?
Сам по себе «отказ от поддержки» ничего плохого не несёт. Ну не поддерживают, и фиг с ним. Никто же не возмущается, что у чайника гарантия три года, а не сто лет?
Плохо здесь то, что во многих случаях новое программное обеспечение перестаёт быть совместимым со старыми версиями ОС, без технической необходимости в этом. Просто ради маркетинга. Т.е. не потому, что разработчики там какой-то новый API заюзали, а просто потому, что вставили строчку if (OSVersion < LowestSupported) { SayByeBye(); }
Полагаю, что обширный перечень накопившихся костылей препятствует желанию поддерживать софт в старых операционках вроде XP. Во первых, это поддержка старых интерфейсов API, которые могут нести с собой нехилые уязвимости для системы — вспомните SMB v1, v2 и нынешнее v3… некоторые концепции были переосмыслены и некоторый функционал закрыт для прямого доступа в новых операционках, только через новый API другим способом и т.д. ради обеспечения безопасности операционной системы и т.п. вернуть прежний доступ будет означать открыть давно залатаную уязвимость системы. Конечно, часть подобного API эмулируется через различные ухищрения но не в полной мере и с дырами в абстракциях — всякие там режимы совместимости, прозрачное перенаправление доступа в системную папку на пользовательский профиль и т.д. всё это вроде бы работает, но не так хорошо как хотелось бы.
if (OSVersion < LowestSupported) { SayByeBye(); }Ооо, нет. Именно так и делает Apple. Помню правил iso образ OS X чтобы поставить, кажется, Lion на старую модель ноута (беленький пластиковый), т.к инсталлятор утверждал, что железо устарело. Ось встала и заработала на ура. Единственное, что изменил — значение переменной а-ля LowestSupportedHwVersion в каком-то файлике.
Вряд ли кто так делает.
support.microsoft.com/en-us/help/4012982/the-processor-is-not-supported-together-with-the-windows-version-that
8-ка на 7+ поколении процессоров Интел не получает поддержку из-за наличии буквально такой функции. Если пропатчить пару функций в памяти — все начинает опять работать.
support.microsoft.com/en-us/help/4012982/the-processor-is-not-supported-together-with-the-windows-version-that
Ставьте 10ку — и не волнует.
Правда… Есть один маленький патчик. Он подменяет пару вызовов библиотечных функций. После чего пропадает голубое окошко и апдейты становятся без дальнейших танцев с бубнами!
И это называется «вменяемые границы поддержки»? По моему это просто — наипалово типичное.
Им же, как выше указали, никто не мешает обновление поставить, пусть и с костылем. Просто никто не гарантирует что все будет хорошо.
Ну все правильно, что не так-то? Костыль же не поддерживается.
Типа, в микрософте такие — «А нам лень писать патчи для новых ядер — идите нахрен! И пофиг.»
Я даже не знаю, что делать, когда восьмёрку перестанут поддерживать. Видимо — прийдётся жевать кактус линукса, ибо 10ка — это за гранью приемлемого для меня.
Впрочем, дизайн у десятки действительно не очень, и не с точки зрения оформления, а с точки зрения эргономики. Проводник это вообще какая-то свалка.
support.microsoft.com/en-us/help/4012982/the-processor-is-not-supported-together-with-the-windows-version-that
а требуют продуктов в стиле Windows 10 (или в «материальном дизайне»
Не требуют, а навязали. И даже многих обновляли принудительно. И XP заранее объявили end of life, хотя могли поддерживать ещё года 2-3 как минимум, не было там особых проблем. Новые протоколы шифрования бы завезли, aac и h264 кодеки, DirectWrite, и IE9 с ним вместе — и была бы сказка. Вы вот спросите пользователей честно, многие ли довольны новым интерфейсом десятки. Мне кажется, результаты вас удивят.
А современные тяп-ляп сайты создаются на дни, иногда за часы…
А куда спешить-то? Чем круче проект, тем больше времени можно потратить на разработку. Но даже сайт-визитку чтобы сделать прилично, нужно потратить 2-3 дня в идеале. И это не так уж и много. В веб-студии, кстати, если несколько человек будут работать параллельно, получится быстрее.
==
все идет все изменяется, а придирки старые
Не требуют, а навязали.В том-то и дело, что требуют! Я про это уже писал: человек на полном серьёзе отказывается смотреть как и что работает в gerrit'е, потому что у того, ай-ай-ай — интерфейс из 90х.
Сейчас, впрочем, запилили моднючий интерфейс c «материальным стилем», так что всё стало жутко тормозить… но может теперь этим начнут пользоваться?
И если люди отказываются пользоваться интерфейсом 90х, а требуют продуктов в стиле Windows 10 (или в «материальном дизайне»), то, стало быть, цель достигнута.ИМХО десятка слишком молодая и про ее интерфейс мнение не успело сложиться, а вот некоторые более старые решения Микрософта вызывали бурю возмущения — вспомнить, нпр., пресловутую скрепку-помощника в офисных программах. Не все решения бывают хорошими даже у лидеров.
И че все так прицепились к «красивым» пикселям?
Гуглокарты со стритвью — это красивые пиксели? Запусите на свой любимой 98ой винде тогда в 3ем фаерфоксе.
Другой вопрос почему такого софта нет?
Другой вопрос почему такого софта нет?Почему нет? Есть. Поставьте MS Office 2000 на современную систему и он будет запускаться за такое время, что вам покадрово видеосъёмку нужно будет изучать, чтобы заметить, что он делает это не мгновенно.
И да — он вполне работает:

Собственно это основная беда софта: суперкар выпускать выгодно, так как в нём может не быть хитрых подставок для кофе — но скорость окупит всё и его купят.
А быстрый софт выпускать невыгодно: разработка быстрого софта со всеми-всеми-всеми фичами, которые есть в той куче… добра, которое сейчас стоит на полках — невозможна (пока вы будете его разрабатывать выйдут ещё версии с ещё большим количеством фич), а с ограниченным — не нужно, так как старые-то версии не протухают!
Есть довольно большое количество софта, маленького и шустрого (тот же FAR) — но это всё некоммерческие проекты. Ибо заработать на этом нельзя!
Да, накладки возможны — ну так они и в рамках одной версии возможны и указывают, скоре на то, что OOXML — плохой стандарт. Но да, это стандарт и да — он поддерживается.
Автор статьи вообще не понимает, где причина, а где следствие: машину с потребелением топлива 1000 листров на 100 киломестров — никто не купит. А сайт, который теряет данные, будет пользоваться большей популярностью, чем сайт «с интерфейсом из 90х». Вот и всё. Вот и вся «тайна».
Сайт, который теряет данные? Хаха. Сайт, который пойман на воровстве данных и передаче их левым людям, до сих пор наверное топ1 по популярности в мире, если не брать поисковые сайты.
Люди — идиоты, вот и вся тайна. Есть только очень малый процент людей, которые не совсем идиоты, но и то зачастую лишь в какой-то ограниченной очень маленькой области своей компетенции.
машину с потребелением топлива 1000 листров на 100 киломестров — никто не купит.
а кроссовер за 2 тонны вместо городского компакта для покатушек на работу вполне. Разница не настолько впечатляет (всего лишь в 3 раза), смысл тот же
И написал я именно
кроссовер за 2 тонны вместо городского компакта для покатушек на работу
поскольку в случае когда вместо дорог уже направления — нужен полноценный внедорожник а не кроссовер
И полноценный внедорожник нужен в основном только для тех, кто по направлениям вместо дорог ездит постоянно. Для периодической езды по засыпанным снегом улицам — очень годный компромисс.
Пока куча дерьма в красивой обёртке пользуется большей популярностью, чем маленькая, быстрая, но «негламурная» программа
Возможно просто вы не видите каких-то фичей которые на самом деле привлекают пользователей, а «куча дерьма» на самом деле на другой стороне.
платить вместо условной тысячи долларов за новый телефон — платить 50 000?
А придется.
Физика круче психологии.
В этом можно убедиться,
Предел кремния где-то 3нм и 5-6ГГц для десктопа.
Но раньше все упрется в тепло — навскидку, 200 Ватт для десктопа и ватт 5 для смартфона.
Больше —
Предел кремния где-то 3нм и 5-6ГГц для десктопа.
Но раньше все упрется в тепло — навскидку, 200 Ватт для десктопа и ватт 5 для смартфона
исключительно если делать чипы двумерными
технологии уже сейчас (на примере МЭМС) позволяют делать трехмерные микросхемы с принудительным распределением тепла жидким теплоносителем.
у смартфонов же ограничение не столько по теплу сколько по автономности
банально батарея не тянет более мощные процессоры. Рассеять же несколько десятков ватт не настолько большая проблема.
Да и частоты больше зависят от топологии чем от техпроцесса
Стоимость разработки в пересчёте на устройво копеечная.
Веб-сайты по моему личному опыту прекрасно пишутся вообще без фреймворков. И таки да написанные мной spa летают даже на древних нетбуках. Чего не скажешь о любом сайте на современных фреймворках
ну вот вам скриншот написанной с нуля админки
ibb.co/bVTANK
96кб не минифицированного javascripta
148кб общий вес с серверной частью
как нынче говорят юзабилити нужно,
функционал нужен
а любоваться дизайном это не к админке
примеры того как дизайн убивает удобство в админке большинства современных роутеров.
по качеству же размеры кода я написал, функционал по скриншоту прикинуть +- лапоть можно, а пускать вас в закрытую часть сайта чтобы вы убедились что это летает или открывать исходники естественно никто не будет
Когда вы пишите код для своего проекта в 1-2 файлах и вы все помните — где что лежит, что как работает и т.д.
Но попробуйте разобраться в чужом таком 'pet' проекте — сразу поймете в чем проблема. К тому же качество кода из примера ниже явно хромает.
ПС
Дизайн не обязательно должен быть «крутым», достаточно быть нe вырвиглазным, а для этого хватает простейшего цсс.
Вот этот момент порадовал:
// Пошла магия
...
хотя пару незначительных правок в нем таки делал.
сейчас точно не скажешь
но человек семь до меня точно в коде отметились
но всегда найдутся желающие придраться
на данном сайте на данный момент с нуля мной написана только админка ибо старая безбожно тормозила. Все остальное планируется к замене но еще не заменено. Есть и другие сайты написанные полностью мной но они «для внутреннего пользования» и посторонние дальше запроса пароля ничего не увидят
Если на пример "сайта без современных фреймворков" не взглянуть без слез, то это очко в пользу этих самых современных фреймворков, вы же понимаете?
вот тебе пример современных фреймворков
вот где глаза кровоточить начинают и шаринган пробуждается
ibb.co/hSwOsK
В целом я согласен, при наличии хорошего дизайна, прямых рук, и понимания, что ты делаешь и зачем — реально написать хороший, быстрый и надёжный код без использования фреймворков вообще. Мой скромный опыт в 2-3 проектах это подтверждает :)
Не пользоваться фреймворкаи это как не пользоваться IDE, не пользоваться средствами ОС, не пользоваться драйверами, а пытаться всё-всё-всё запихнуть в одно приложение. Есть хорошие принцицы SRP и DRY, которые дико нарушаются таким подходом.
Неудачно человек выступил)
Веб-сайты по моему личному опыту прекрасно пишутся вообще без фреймворков. И таки да написанные мной spa летают даже на древних нетбуках. Чего не скажешь о любом сайте на современных фреймворках
Только вот при устройстве на работу в требованиях для Веба, по причине КАРГО-культа, маячат требования знать очередной новомодный фреймворк.
В 90-х что-то не приходилось платить 50к за Windows 95, хотя зоопарк устройств был тот ещё: и дискеты, и сидюки, и диски увеличенной ёмкости разных форматов, далее — пяток производителей «графических ускорителей», пара производителей звуковых карт (что это?) и тд
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 ;)
Таким образом, сравнение 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 файле лежит. Это все, что нужно знать про современный фронтенд.
Это все, что нужно знать про современный фронтенд.
Вы взяли сайт где люди под статьями оставляют коменты. Там думаю действительно можно ограничится одним js файликом. (Причем в первом же комменте там приводится пример того почему это не масштабируется)
Напишите фронт к какому-нибудь гмэйлу в одном файле, еще и командой из 20ти человек, раз у вас так от фронтов бомбит.
Напишите фронт к какому-нибудь гмэйлуНаписать интерфейс к почте сильно сложнее, чем к сайту, где люди под статьями оставляют коменты?
Ценность представляет сервис — почта.
Почта — не сложный сервис.
Почта не требует сложного интерфейса.
Если у простого сервиса сложный интерфейс, то это недостаток, а не достоинство.
Обычно сам пользователь формулирует задачу как «чтобы почта работала». Ему знакома сущность «письмо», но не «TCP-порт». С помощью telnet-клиента редкий бухгалтер отправит письмо, а с помощью SquirrelMail — запросто.
Но у всех пользователей разные запросы.
Например, я хочу иметь возможность галочками отметить нужные письма из списка и перетащить их мышкой в другую папку. Загружать аттачменты перетаскиванием файлов. Иметь нормальный wisywig и так далее.
Базовый интерфейс всего этого не покрывает. Поэтому гмэйл для меня удобен — а squirellmail это когда нету альтернатив.
галочками отметитьЭто может быть нужно и для писем, но и для комментариев. Всё ещё непонятно, чем почта сложнее сайта, где люди под статьями оставляют коменты.
перетащить их мышкой
нормальный wisywig
Или отображать один комментарий в нескольких «папках»Это называется «теги». Они удобные, хотя я их и не просил.
Зачем вам комментарии таскать мышьюЗатем же, зачем вам перетаскивать письма.
Я могу придумать множество юзкейсов и для работы с комментариями, вы — с письмами, но показать принципиально бо́льшую сложность почты всё равно не получится.
Наверное, если хочется порассуждать на эту тему, надо описать объекты, с которыми нужно работать. И прикинуть возможные действия.
Что в почте, что в «сайте с комментариями» объект — это набор текста, картинок, вложений, с отправителем и получателем в метаданных. На мой взгляд, объекты одного порядка сложности. А в мейлинг-листах они вообще срастаются в одно.
Только вот 99,999% остальных сайтов в аналогичном стеке не нуждаются, но используют, зачастую еще и очень криво. В результате все безбожно тормозит.
Тут, вроде как, никакие фрэймворки на фронте не используются (подключен jQuery 1.8.3) и большая часть рендерится на сервере.
Может если бы они использовали современный фрэймворк и, например, сделали ли бы ленивую подгрузку/отображение комментариев — то так сильно не тормозило бы.
Напишите фронт к какому-нибудь гмэйлу в одном файле
Это же невообразимо сложно подгрузить json'ку с заголовками с сервака и отобразить их построчно, припорошить кучей иконок, а по нажатию на заголовок уже подгрузить само письмо. Это элементарнейший веб-интерфейс, в котором ничего не может работать медленно. У Яндекса работает быстро, у Мыла, прости господи, работает быстро, навороченный и кастомизируемый интерфейс ProtonMail работает быстро. И вот ирония, у гугла есть HTML версия, которая, ну вы поняли — работает быстро. Так как же вот эта элементарщина в основной версии у них умудряется лагать сильнее, чем их же убогие карты? А все просто: огромная команда разработчиков гугла просто оправдывает свое существование. Сначала им, видите ли, не понравился простой и функциональный дизайн, поэтому напрягли команду дармоедов испортить интерфейс, потом напрягли пару сотен дармоедов испортить фронт, потратили на это год, а может два и теперь примерно столько же будут героически превозмогать. А потом новый фреймворк, над
Та же фигня у них с картами. Наступил коммунизм и мы теперь можем рендерить страницы на RTX2080 с рейтрейсингом, поэтому почему бы нам не воткнуть кучу 3D в КАРТЫ! А, нет, коммунизм не наступил и люди пытаются пользоваться этим на Intel HD4000 с 4 гигами оперативы и, о неожиданность, оно лагает.
Веб стал слишком переусложнен. Где достаточно открыть новую вкладку — мы начнем рендерить в той же. Динамическая подгрузка вместо пагинации, раздутый дизайн, куча анимаций, хотя они нафиг не упали — зачем все это? Это не имеет никакой полезной нагрузки, так зачем все это запихивать на страницу? А потому что иначе мы уже завтра увидим сокращение штата в каждой крупной конторе процентов эдак на 30. Но работа есть работа, свое существование надо оправдывать.
Это же невообразимо сложно подгрузить json'ку с заголовками с сервака и отобразить их построчно, припорошить кучей иконок, а по нажатию на заголовок уже подгрузить само письмо. Это элементарнейший веб-интерфейс,
Согласен, только это не интерфейс гмэйла.
Специально для таких как вы у них есть html-only версия, там именно так все и работает как вы написали.
//Если уж говорить о мусоре, то Хабр теперь в моем топе вплотную приблизился к лидерам: перейти из профиля к своему комментарию в этом треде занимает аж полминуты. Т.е. всего чуть менее чем 2к комментариев кладут Хабр на лопатки. Зато красивенько, да.
Я занимаюсь разработкой ПО уже много лет и вижу (на живых примерах, т.к. сменил с десяток компаний уже), что может оказаться дешевле писать качественные программы, чем некачественные… и конечно никто не хочет делать себе плохо (ну может эмо, но мы не про них), просто люди где-то поленились (+1 контринтуитивный интерфейс), где-то поторопились (+1 порядок тормознутости программы, где человек не разобрался как в том кривом интерфейсе обновить данные и просто переполучил заново всю пачку), недальновидность (следующий разраб не стал пытаться улучшить что есть, а просто разделил это на воркеров в микросервисах и развесил на кластер, чтобы выдержать возросшую нагрузку)… Но страшно даже не это, страшно то, что работая с хорошей программой хороший программист сразу понимает что и почему тут там сделано и куда именно ему нужно внести правки, чтобы добавить нужный функционал. А с плохой так не прокатывает и ты либо тратишь гору времени на изучение всех хитросплетений костылей, либо просто втыкаешь ещё парочку (первый — чтобы сделать функционал, второй — чтобы подпереть то, что отвалилось из-за первого, который не на месте)… В итоге ты тратишь на задачу много времени, начальство недовольно и ты решаешь, что можно и без тестов нормальных, абы как, вроде работает… А в следующий раз тебе уже и страшно выдёргивать какие-то костыли, даже если время есть, потому что тестов то нету и вдруг ты не все хитрости понял и что-то сломаешь?
Ну а у Демминга ещё ПО не было, он обсуждал, что дешевле заказать более дорогую доставку, но чтобы товар доставили ровно в 9:05 к воротам цеха, чтобы рабочие занесли материал и сразу пошли его обрабатывать, без склада, кладовщика и перетаскиваний между помещениями. А дальше он писал и вовсе чудестные вещи, что произвести качественный товар даже дешевле — если покупатель видит, что у вас товар лучше, то он и брать будет у вас, т.е. в долгосрочной перспективе реклама почти не нужна; если рабочий будет видеть, что его товары лучше всех — он будет испытывать гордость за свою работу, а не стыд — это мотивация не увольняться; если будет меньше брака — будет меньше затрат на доделку на выходном контроле и меньше возвратов от клиента и т.д.
А с плохой так не прокатывает и ты либо тратишь гору времени на изучение всех хитросплетений костылей, либо просто втыкаешь ещё парочку (первый — чтобы сделать функционал, второй — чтобы подпереть то, что отвалилось из-за первого, который не на месте)… В итоге ты тратишь на задачу много времени, начальство недовольно и ты решаешь, что можно и без тестов нормальных, абы как, вроде работает… А в следующий раз тебе уже и страшно выдёргивать какие-то костыли, даже если время есть, потому что тестов то нету и вдруг ты не все хитрости понял и что-то сломаешь?
У меня на прошлой работе так было. Только там было еще веселее — выдернутые костыли требовали вернуть обратно, ибо "вдруг что сломается", а в качестве верного решения предлагалось закостылить вот этот конкретный кейс из джиры.
Мой любимый случай был когда мне упала задача на дыры в API, я нашел больше сотни дыр, которые позволяли одним пользователям управлять аккаунтами/данными/… других. Подумал немного, сделал один аутентифицирующий фильтр, который закрывал разом все возможные дыры, и отправил на ревью. Ревью оно не прошло — "слишком много изменений, ты же всю платформу затронул, кто это тстировать будет?!?!". Итоге — решение не принято, все эти дыры так и висят до сих пор, насколько я могу судить.
Это с чего бы это вдруг?
Здесь же речь не о новом функционале, а о том, что не должно сломаться то, что и так работало — с-но, уже должны иметься тесты, которые проходит текущая реализация. И добавлять к ним ничего не надо.
Это сильно напомнило Генри Форда.
Мне проще работать на unity, которая даст доступ к необходимым инструментам и позволит реализовать идеи заказчика, чем конструировать инструмент или подбирать что-то, что будет реализовывать аппаратный потенциал.
Тем более что это невозможно.
Дело в том, чтобы не добавлять немного своего дерьма на каждом шаге разработки (компилятор-среда-ядро-система-окружение-фреймворк-ПО) к общей куче дерьма, которое выльется на пользователя.
С++ хороший язык, но я на него обижен, что слишком много неявных преобразований и других способов «выстрелить себе в ногу»
С# тоже хороший язык, на него я обижен за отсутствие множественного наследования и автоматическое управление памятью
Области оптимального применения этих языков пересекаются, но совсем не совпадают и совместить их, скорее всего, не реально
Не люблю С++ за ручное управление памятью
Не люблю C# за автоматическое управление памятью
Вы уж извините, но тут третьего пока не придумали :)
Бтв, множественное наследование реализации — известное зло, а множественное наследование интерфейсов в C# есть.
Что касается множественного наследования реализации, когда-то читал книгу по ATL — очень понравилась идея, когда нужный базовый функционал соответствующих интерфейсов добавлялся как классы-примеси и оставалось только добавить собственный специфический код (причем обычно сравнительно немного)
Воспользоваться, правда, не успел — похоронили раньше чем могло понадобиться.
Мне кажется, в некоторых случаях, наследование классов-примесей, может помогать получить более компактный код, чем использование классов шаблонов алгоритмов. Могу и ошибаться — соответствующего опыта не имею.
Ручное управление памятью в C++ это не совсем правда — вы вполне можете, если это вам нужно, пользоваться собственными аллокаторами, включая автоматическую сборку мусора и сжатие свободного места (правда, подозреваю, код будет довольно громоздким в написании)
Если всё строить на умных указателях — то вы почти в безопаности. Плюс шаред_птры построены на атомиках, поэтому от многих будет еще и негатив в стиле "разбазаривает процессорное время".
Но чаще везде какие-то полуавтоматические меры, которые постоянно взрываются так или иначе. По крайней мере реальный код, багрепорты и прочее говорят об этом.
Что касается множественного наследования реализации, когда-то читал книгу по ATL — очень понравилась идея, когда нужный базовый функционал соответствующих интерфейсов добавлялся как классы-примеси и оставалось только добавить собственный специфический код (причем обычно сравнительно немного)
Воспользоваться, правда, не успел — похоронили раньше чем могло понадобиться.
Ну, смотрите. У вас есть множественная реализация интерфейсов. Интерфейсы идут с методами-расширениями или дефолтной реализацией. То есть поведение (некоторое) наследуется. Есть наследование реализации от одного базового класса — тоже всё ок.
Вся разница — нету множественного наследования виртуальных методов. Но если вдруг такое понадобилось, то я скорее предположу проблему в архитектуре. Разобраться потом с этим будет крайне тяжело.
Смотрите, сначала вы говорили, что множественное наследование — зло.
Теперь вы приводите пример, что кто-то говорит, что наследование — зло.
Я просто хотел начать с более простого примера. Ведь если отсутствие множественного наследования это по вашему ошибка, то отсутствие наследования вообще наверное выглядит как бред и искусственное ограничение. Дальше, порассуждав о причинах подобного, было бы проще обсуждать отсутствие наследования только реализации. Как с гнутой палкой — чтобы её выпрямить, нужно перегнуть в противоположенном направлении.
В моем видение код должен быть написан как можно проще, если можно обойтись без наследования — отлично. Но если проект у вас не тривиальное CRUD приложение, то рано или поздно придется строить сложные иерархии, т.к. это будет проще, чем страдать от того, что кто-то решил, что наследование — зло, запретить, множественное наследование — зло, запретить.
в ФП тоже строят сложные схемы, но наследования там нет.
Я не говорю, что эти утверждения не верны. У меня вопрос другой, зачем самому себе искусственно ограничивать возможности моделирования предметной области?
Это вопрос из разряда «зачем делать модификаторы доступа public, зачем самому себе искусственно ограничивать возможности» :)
У вас есть базовый класс А, к нему пристегнут интерфейс iA, у этого интерфейса метод defm(). Есть производный класс Б, т.е. Б.А, и соответственно Б.А:iА, и т.к. деф.метод скопируется полностью, то будет Б.defm(). У другого производного В от А будет такая же история, т.е. В.defm(). Вызовы всех трех методов как раз таки нарушают ооп. Потому что метод на самом деле один, и он А.defm(), а все остальное — его копии. И зачем это копирование метода? Что бы его вызывать из Б и В уже щяс достаточно Б.defm() и В.defm(). Могу предположить для «инлайна» реализации defm() в классы-наследники — но зачем? Тут уж наверное проще было бы завести какое-нить ключевое слово хоть то же «inline», т.е. если метод имеет инлайн, то он и заинлайнится в наследников, а не будет висеть только у родителя. Оно было бы понятно как и что. Но ооп-то тут причем? Если нынешняя реализация деф.метода — это костыль для может быть увеличения производительности, но это разрушает ооп. Ключевое слово было бы понятнее, и не разрушало бы ооп.
А еще не вижу, как МН ломается в этом случае. У нас всегда есть статически известная функция, которая вызывается, либо виртуальная функция, которая тоже однозначно задается.
Какой тип у выражения 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) и уже потом сократится по идемпотентности |. Но если | в языке нет то и не получится результата, если только не закостылить вот один этот конкретный кейз.
А ещё придётся платить за каждый веб-сайт
Кому, посетителю? Заказчик и так платит.
Не надо нанимать никого нового, нужно уволить прежних дураков вместе с менеджерами и нанять небольшое количество, но квалифицированных.
Они у вас, как мухи, самозарождаются из воздуха? Или, всё-таки, должны получить свою квалификацию, поработав на каких-то проектах перед этим?
Тогда какие-то проекты должны быть написаны обычными слабоквалифицированными программистами
перед тем как начать делать свою работу качественно, работник имеет право некоторое время выпускать брак, пока не научится. В любой другой профессии это подвело бы человека если не под статью, то по крайней мере под заключение о профнепригодности с последующим увольнением. Но ИТ-шникам всё сходит с рук, толи потому что никто не понимает что возложенная на них ответственность не меньше чем в любой другой профессии, толи потому что никто в принципе не понимает чем они занимаются.
В любой другой профессии это подвело бы человека если не под статью, то по крайней мере под заключение о профнепригодности с последующим увольнением
Нет, в любом другой профессии точно такое же отношение к новичкам.
Низкоквалифицированный = умеет делать работы низкой сложности
Квалифицированный = обычно имеют в виду «имеет высокую квалификацию и может делать работы высокой сложности» (здесь я не про токарей, а опять про программистов)
А проблема брака везде решается выходным контролем — даже квалифицированные могут ошибаться + возможен брак материалов (а здесь я уже про любое производство, включая программы)
Проблема не в стоимости, проблема в особенностях рынка. Нужно успеть первым. Пользователи НЕ ЛЮБЯТ ПЕРЕУЧИВАТЬСЯ. Ваше приложение может быть гораздо лучше. Но если кто-то уже занял нишу, потеснить его непросто. Поэтому скорость разработки стала для многих видов ПО самым главным. А из этих областей идея верховенства скорости над качеством расползается на всю отрасль.
Я начинал не 15, а, страшно представить, 50 лет назад. Алгол, Фортран и программирование штырьками на Промини со 100 ячейками памяти. В те времена программисты были учеными. Не было еще инженерной дисциплины программирования. Очевидные сейчас приемы придумывались у меня на глазах. Зачем исторический зкскурс? В книге 1961-го года издания доказывалось, что языки высокого уровня не имеют экономического смысла: машинное время, потраченное на трансляцию стоит много дороже времени, которое экономит на этом программист. Основной проблемой почти любого программиста было поместить в компьютер задачу, которая ни по времени, ни по памяти помещаться туда не может.
Привычку экономить биты и такты я потом годами по капле из себя выдавливал. Экономное программирование нужно для критически важных фрагментов. В остальных случаях оно замедляет разработку. Другое дело, что после ученых пришли инженеры, а потом кодеры. И отличить критически важные фрагменты от остальных они не могут, и экономить ресурсы совсем разучились. Отсюда и описанные в статье проблемы.
Пользователи НЕ ЛЮБЯТ ПЕРЕУЧИВАТЬСЯ
И тем не менее в последние 8 лет практический каждое приложение или веб-сайт поменяли дизайн, и скорее всего не однажды.
1.Когда не могут добавить полезный функционал, а нужно как-то обосновать полезность перехода с версии 14 на версию 15. Тогда привлекается группа дизайнеров и продавцы начинают расхваливать их творчество.
2.Когда новый функционал требует нового интерфейса. Например, для программы расчета трубопроводной сети добавили к табличному интерфейсу картографический. Стало возможным вводить огромные сети с минимальными ошибками, автоматически определять длину участков, строить пьезометрические графики и продольные профили, выводить на карту результаты расчетов и т.д.
В обоих случаях пользователи ворчат. Но во втором они видят пользу.
Я вас разочарую: в 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-интерфейс… я вот сходу не назову ни одной фичи ни в одном продукте, которую нельзя было бы вписать в старый дизайн… вы вот можете показать хоть один редизайн, который реально принёс возможность что-то принципиально новое делать, чего нельзя было делать в старой — хоть в одной реальной программе (а не в гипотетической программа рассчёта трубопроводов)?
Многие специализированные CAD-системы получили 3D окно, что также упростило пользование и позволило решать ряд дополнительных задач.
Много раз обруганный переход на «ленточное меню» для некоторых программ имел смысл. Когда количество используемых команд велико, высокая вложенность стандартного меню замедляет работу. Если экраны стали достаточно большими, почему бы не сделать как можно больше команд доступными в один клик?
Хоткеи? нет, не знаем…
Большой экран берут чтобы в него поместилось больше редактируемого документа, а не команд.
Вообще, настройка интерфейса для действительно сложных программ дело разумное. Вот только нужно иметь возможность свои настройки таскать с собой в маленьком файле, а то, действительно, приходится искать в чужих настройках нужную команду среди сотен.
Впрочем, в основном мы согласны: чаще интерфейс меняют ради изменений, а не ради практической пользы.
Во-вторых, некоторые сценарии работы вообще не подразумевают использование клавиатуры или её использование исключительно для ввода текстов, вплоть до переключения между полями ввода в форме мышью, а не, например, табом.
Про макросы вообще молчу, «мощные системы» больше похожи на язык программирования.
Не, не быстренько, он же будет плохо написан. Сначала ему придется себя оптимизировать. И это займет бесконечное время, так что на ПО у него времени уже не останется.
Дейв Вудбери и Джон Хэнсен, неуклюжие в своих скафандрах, с волнением наблюдали, как огромная клеть медленно отделяется от транспортного корабля и входит в шлюз для перехода в другую атмосферу. Почти год провели они на космической станции А-5, и им, понятное дело, осточертели грохочущие фильтрационные установки, протекающие резервуары с гидропоникой, генераторы воздуха, которые надсадно гудели, а иногда и просто выходили из строя.
— Все разваливается, — скорбно вздыхал Вудбери, — потому что все это мы сами же и собирали.
— Следуя инструкциям, — добавлял Хэнсен, — составленным каким-то идиотом.
Основания для жалоб, несомненно, были. На космическом корабле самое дефицитное — это место, отводимое для груза, потому-то все оборудование, компактно уложенное, приходилось доставлять на станцию в разобранном виде. Все приборы и установки приходилось собирать на самой станции собственными руками, пользуясь явно не теми инструментами и следуя невнятным и пространным инструкциям по сборке.
Вудбери старательно записал все жалобы, Хэнсен снабдил их соответствующими эпитетами, и официальная просьба об оказании в создавшейся ситуации срочной помощи отправилась на Землю.
И Земля ответила. Был сконструирован специальный робот с позитронным мозгом, напичканным знаниями о том, как собрать любой мыслимый механизм.
Этот-то робот и находился сейчас в разгружающейся клети. Вудбери нервно задрожал, когда створки шлюза наконец сомкнулись за ней.
— Первым делом, — громыхнул Вудбери, — пусть он разберет и вновь соберет все приборы на кухне и настроит автомат для поджаривания бифштексов, чтобы они у нас выходили с кровью, а не подгорали.
Они вошли в станцию и принялись осторожно обрабатывать клеть демолекуляризаторами, чтобы удостовериться, что не пропадает ни один атом их выполненного на заказ робота-сборщика.
Клеть раскрылась!
Внутри лежали пятьсот ящиков с отдельными узлами… и пачка машинописных листов со смазанным текстом.
Вы бы купили машину с расходом 100 литров на 100 километров? Как насчёт 1000 литров?
Разумеется. Ведь машина на десять литров требует большой штат инженеров для её поддержки, к тому же ценник на неё в десятеро выше.
10 лет уж точно, особенно японцы преуспели (panasonic) а ещё они з.ч. (платы) выдают только оф. сервисам в обмен на сданные вышедшие из строя по цене 30-40% от стоимости устройства в момент старта продаж :)
1. Массовый продукт должен работать в руках любого идиота
2. Юзвери будут ставить самые дешевые аккумуляторы
3. У дешевых аккумуляторов высокое внутреннее сопротивление — камера будет постоянно просаживать напряжение аккумулятора — в результате, перезагружаться.
Через несколько секунд/минут напряжение на аккумуляторе будет восстанавливаться и т.д. по кругу
4. Юзвери будут вопить — камера говно — и с этим придется разбираться техподдержке и маркетологам
То что оно там все тормозило опять же отсылает нас к прочтению статьи и тотальному негодованию.
Если код нормальный — то довольно простая. А если у NaN брать младшие 16 бит и что-то с ними делать...
Как инженеры, мы можем и должны, и сделаем лучше.
Как инженеры то да, можем, должны, сделаем. Но решения принимают не инженеры, новые «красивые и удобные» дизайны придумывают и одобряют тоже не инженеры, и сверху спускают планы за сколько что нужно выполнить тоже не инженеры. ИМХО инженеры уже давно исполнительное звено, и просто делают то что от них требуют. Время инженеров осталось в начале 2000х, теперь время менеджеров…
По сути, в ядро готовы принять что угодно, если это не ломает существующие механизмы и есть люди, которые готовые это поддерживать.Вот уж чего нет, того нет. Любая фича, которую добавляют в ядро, в первую очередь оценивается на тему: а мы точно получим от этого существенный выигрыш, стоящий усложнения ядра? В результате какой-нибудь overlayfs включили в ядро в 2014м году. Притом что первая версия (ну… плюс-минус...) под именем IFS — вот она… 20 лет, однако…
А что включается «без вопросов» — так это драйвера… но тут всё просто: если у вас нет соотвествующей железяки — то и от наличия драйвера вам не горячо и не холодно…
Ваша поддержка сколько занимала в памяти в случае отсутствия такого телефона? 100 мегабайт? Или «нисколько»?
Авторам Go все эти годы приходится иметь иметь дело с обиженными экспертами, которым не хватает в языке дженериков, концептов и прочей мути
Потому что без этого мутью становится сам код. Либо пиши версию функции под нужный тип каждый раз, либо прокидывай через интерфейс и кастуй… Ну бред же.
которым не хватает в языке дженериков, концептов и прочей мути
Даёшь копипасту, ага.
Авторам Go все эти годы приходится иметь иметь дело с обиженными экспертами, которым не хватает в языке дженериков, концептов и прочей мути.
Дженериков действительно не хватает (если их в консервативную джаву добавили...), и вроде обсуждается, чтобы добавить их в Go
А вот с остальным вопросы — наверное, действительно не нужно, т.к. идеи и реализации спорные, и будут противоречить основной идее Go как "простого" языка.
Авторам Go все эти годы приходится иметь иметь дело с обиженными экспертами, которым не хватает в языке дженериков, концептов и прочей мути.
Дженерики и нормальная система типов скорее и продукт ускоряют и код упрощают. Единственное что они увеличивают — порог входа.
Наверное, именно поэтому во второй версии го есть генерики и обработка ошибок.
Судя по draft фич golang, то "раздует" — это 4 новых слова в спеке языка. Вы о чем-то не том...
Зачем вы переподите дискуссию в область поддержки и развития кода? Я эту тему не затрагивал.
вы использовали «в несколько раз» — хорошо бы показать, что добавление 4х слов в спеку сделает это «несколько раз». ну или это ваши фантазии.
p.s. еще полезное упражнение попробовать официальный путь generics через генераторы и пожить с поддержкой этого… годик. мнение резко меняется.
В браузерах накопилось столько пограничных ситуаций и исторических прецедентов, что никто не осмелится писать движок с нуля.
А как же Firefox? Они не просто написали движок с нуля. Но даже рахзработали новый более безопасный язык для этого…
Проблема не в количестве погромистов, а в их качестве. И в качестве архитекторов, которые этим заправляют…
Особая ирония — современные методологии управления.
Начальника нет, ответственность общая, все равны, все компетентны, все архитектора.
Тимлидами становятся номинально, не неся за собой никаких реальных навыков руководства.
Блоги компаний "как мы управляем проектами/как мы делаем собеседования" множатся в геометрической прогрессии, но, похоже и до единства и до здравого смысла еще далеко.
На собеседованиях все такое же ощущение, будто основная обязанность тимлида — владеть Jira, а никак не умирающее желание пихать(порой совершенно бесполезные) задачки превращает собеседования в игру на случайность, в которой не выигрывает никто.
Конечно мир, где все люди равны одинаковы может выглядеть интересно, но ведь это не реальный мир. Задумываешься — "может мне кажется", но когда, скажем, на мобильном хабре(без обиды, хабр, ты исправляешься) неприлично долго висит кнопка "проголосовать", бесполезная для ~95% аудитории сайта, а прокрутка комментариев политических статей позволяет сгибать пальцем металлические пруты, это ощущение резко пропадает.
А вы хотя бы спецификации W3C возьмите.
Это огромное, сложное и недоработаное ТЗ с большущими легаси проблемами в архитектуре. Самое интересное что в его разработке активно участвует не так и много людей, ибо порог вхождения также огромен.
Полностью переписать с нуля, согласовать и оптимизировать такую систему невероятно сложно.
Так причина то на поверхности, другая компания получив некоторую долю начала добавлять расширения на любой чих, без которых ломалось отображение в Opera, а т.к. ресурсы были несопоставимы(причём не только финансовые) то результат очевиден.
Сколько я бы вкладок не открывал, никогда больше 3-4 гиг не сжирало( при 32 гигах на моем ноуте)У меня только основной процесс 6 гиг занимает, хотя у меня вкладок не большо пары сотен сейчас открыто. Хотя некоторые вкладки открыты больше месяца назад, это да.
Единственное исключение — вкладки с юдубом, которые постоянно выжирают память.На рабочем компе я YouTube не открываю…
вкладок не большо пары сотен сейчас открыто
Вот это меня удивляет. У себя не могу насчитать более, ну максимум, 20.
Что вы делаете с таким количеством одновременно открытых вкладок? Читать их все одновременно, да и попеременно, вы едва ли способны. Держите на случай веерных отключений Интернета? Связь нестабильная? Закладками не пользуетесь?
Не первый раз вижу такие комментарии от людей, бывает еще пишут 500 вкладок. Теряюсь в догадках.
Просветите? (интересно)
Когда «работа» закончена — окно закрывается. Arena Allocator. Но некоторые вещи могутделаться неделю или месяц.
1) Неудобный интерфейс закладок
2) Проблема, как раз описанная в статье: сайты стали слишком жирными, ждать их загрузки из Интернета — никаких нервов не хватает.
Касательно доков/спеков, особую боль вызывают сайты с доками, грузящие тонны js (и не функционирующие без js!), в основном, для того, чтобы отобразить анимированный аккордеон оглавления.
В такие моменты хочется осыпать автора малоприличными выражениями из числа наиболее сочных, имеющихся в русском языке, но переживаешь молча, стиснув зубы.
Я лично в процессе написания какой-то фичи. Это могут быть вкладки с поисковыми запросами в гугл, докумкентация, ответы с SO, примера на медиуме, обсуждение подводных камней на реддите… Всё это мне нужно в течение работы, т.к. я могу переключаться между ними, если во время реализации я понял, что мне нужно Х, а я это видел в статье/ответе/… в одном из табов.
Например, сейчас мои табы на домашнем компе выглядят так

Почта/гиттер/хабр/гитхаб/пара статей/пара роликов на ютубе/пара статей/гуглодоки по работе/описание стратегий за некоторые страные в EU4/еще пара роликов/смешные картинки (открыл для просмотра комментариев)/снова EU4/снова картинки.
Даже на домашнем компе я могу открыть полсотни табов, очень простым способом: захожу на сайт картинок, если вижу интересное обсуждение, я его открываю в новом табе, и продолжаю листать общую ленту. Прокрутив ленту до того места, которое я вчера (или в прошлый раз) уже видел, я закрываю ленту и начинаю последовательно смотреть комментарии к понравившимся картинкам.
Всё это мне нужно в течение работы, т.к. я могу переключаться между ними, если во время реализации я понял, что мне нужно Х, а я это видел в статье/ответе/… в одном из табов.
Но это жрёт дофига оперативки. Я в этом случае банально пользуюсь историей просмотра, благо, ссылки не успевают спуститься далеко вниз (у меня 3,75 Гб RAM всего доступно, а браузер — хром, и потребляет он немало).
Но это жрёт дофига оперативки. Я в этом случае банально пользуюсь историей просмотра, благо, ссылки не успевают спуститься далеко вниз (у меня 3,75 Гб RAM всего доступно, а браузер — хром, и потребляет он немало).
Обойтись можно, но неудобно.
Поэтому я еще в 2014 году купил себе 16 гигов памяти и с тех пор не знаю бед. И SSD тоже. Вложился один раз, теперь серфинг не доставляет мучительных ощущений :)
С ностальгией теперь вспоминается 2012-ый год, когда я в Opera 11.64 на WinXP мог открыть 50-60 вкладок вк, и оно даже не тормозило. И вылетало только на 70-75 вкладке. С Хромом и обновлённым вк так уж не получается… Хотя хром потенциально может выдержать больше, но с моим объёмом памяти своппинг начинается уже на 30-35 вкладке, а дальше — ужасные тормоза при смене вкладок, листании фотографий и страх, что браузер вот-вот вылетит.
Что касается 75% памяти — то винда всегда старается всю свободную память занять, ибо пользователю пофиг, 5% или 50% свободно, а вот если что-то будет запрефетчено и открыто на пару секунд быстрее, то ему будет счастье. Поэтому чем больше свободной памяти, тем больше всяких кэшей, и тем быстрее и комфортнее работа.
16 гигов занять сложно, а вот 12 у меня периодически получалось.
Например на прошлой работе мне дали убогий ноут с 8 гигами памяти, где мне приходилось постоянно запускать тяжелые докер-образы и несколько студий (дебажить 2-3 проекта параллельно, микросервисы, чтоб их). Так вот — скрин в студию

У меня бло занято 21 гигабайта(!!) из восьми, остальное лежало в свопе и постоянно шерстило диск, всё дико лагало и не вызывало желания что-то оптимизировать (всё равно не пройдет ревью, и меня спросят за зря списанное время), а вот желание кого-то убить появлялось…
Кстати, если запустить виртуалку в VMware, и в её настройках указать лимит памяти, превышающий мой размер RAM, и при этом гостевой ОС удастся достичь лимита по физической памяти хостовой ОС, то Win XP просто зависает намертво. Помогает только ребут :)
И да, вкладки с видео мало памяти жрать не могут, надо ж его где-то кэшировать…

9 вкладок ~ 15 ГБ
Это далеко не предел, может и один процесс выжрать 10+ ГБ.
Пример: 22 вкладки из них 6 — ютьюб с запущенным видео и одна — эта страница с 1500 тысячами комментариев.

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

Перечисляю открытые вкладки
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
В целом рекомендую открыть
about:memory, нажать кнопку Measure и посмотреть что там действительно жрётP.S. я знаю, что 64 битный более безопасен, но мне ок.
мониторим свободную память и использование свопа, если память нужна другим приложениям или её мало, то освобождаем»
Разве это не работа операционной системы?
Варианта «вот эта память нам пригодится, но не то чтобы сильно нужна, сообщите, если кому другому надо вдруг» я ни в Win, ни в POSIX не встречал.В POSIX этого нет, он на большие системы рассчитан. А в Windows — есть, конечно. Вернее… было. Можете почитать — статья большая, если хочется сразу к сути ищите по слову discardable.
Есть также в Android и в MacOS X/iOS. В MacOS (классической) тоже вроде было, но я даже не знаю где доку на неё в онлайн найти…
Это ещё VS висит с большим проектом

Нет, не было.
С учетом того, что весь софт сейчас пытаются запихнуть в браузер, осталось запихнуть туда и операционную систему.
Это еще не катастрофа. Вот подождите выйдет ваша ос на JS тогда по-другому запоете.
С учетом того, что весь софт сейчас пытаются запихнуть в браузер, осталось запихнуть туда и операционную систему.
Сейчас на рынок выходит KaiOS — операционная система, в которой нельзя писать небраузерные приложения. Она позиционируется как ОС для слабых телефонов.
Какая демагогия.
Если автор хочет программировать под DOS — пусть программирует под DOS. Но внезапно окажется, что на дискете с DOS нет ни голосовых помощников, ни словарей и шрифтов на все языки мира, ни сотен драйверов под сотни возможных устройств, ни реализации десятков сетевых протоколов, ни надёжных и быстрых файловых систем, ни работы с защитой памяти, etc, etc; и, боюсь, даже стандартная библиотека C++ на дискету не влезет. Да что там, сейчас только заголовочные файлы OpenGL занимают 300КБ. При этом систему нужно было регулярно переустанавливать.
А сейчас у нас на "дисках" гигабайты всякого хлама, и этот хлам более-менее нормально работает. Конечно, работает не идеально, проблемы бывают, но вот с этим:
нынешняя ситуация — полное дерьмо
я не могу согласиться.
Зато сейчас, с десятками ГБ памяти на борту, я могу спокойно загружать в ОЗУ mesh'и с десятками миллионов треугольников и задействовать какой-нибудь OpenCL, когда того требует задача. Даже с учётом того, что несколько ГБ и миллионы тактов отъедает ОС, это намного удобнее, чем использовать "экономные" системы прошлого.
Если "удобнее" позволяет решать какие-то новые задачи, или упрощает решение старых, то как раз это значит "лучше". И решение большой доли задач как раз экономит какие-то ресурсы.
Люди: Мы хотим кошечек!
Государство(?): Нет, кошечки это низменная потребность, на самом деле ты хочешь запуск ракеты на Макс. На, держи кусочек ракеты, это теперь твоё! Ну что, рад?
Люди:…
Спрос-предложение отличный механизм, где люди сами решают, что они хотят получить. Поэтому мне совсем непонятны претензии к «кошечкам». И никакие ресурсы к слову не тратятся, ибо никаких невозобновляемых ресурсов на это не тратится, а при изменении приоритетов индустрия перестроится. Понадобится завтра отказаться от всего легаси х86 и перейти на RISC-V? Ну значит так и сделают. Раз не переходят, значит никто этого не хочет, а заставлять — значит ущемлять других людей ради того, что кому-то кажется «более достойной целью».
Что понимать под прогрессом? Если это великая цель, которой все должны стремиться по вашему мнению, а они этим не занимаются, то это скорее говорит о том, что вы чего-то не понимаете.
Как раз индустрия "котиков" создала удобные портативные ПК (вместо тех ужасов со стиками под названием кпк), быстрые сетевые протоколы (чтобы котики быстрее грузились), адаптивные фреймворки… Это всё чушь и нинужна?
К слову про космос — он в известной мере переоценен. Оказалось, что там делать особо нечего, особенно если говорить про межзвездные перемещения. Легче заселить дно океана, чем Макс или там Венеру. Зачем вкладываться в неоптимальные проекты? Просто потому что Am0ralist так захотелось?
Что такое прогресс? Почему "вчера люди не могли смотреть котиков из туалета", а "теперь могут" не прогресс?
Спутники не нужны? вот эта вся навигация, спутниковые съемки земли — это всё не нужное барахло?
подмена тезиса, про ненужность никто не говорил. Про переоцененность — да, я говорил. Точнее это было в 60-70е. Сейчас люди поняли, что там делать особо нечего, и занимаются чисто практическими проектами: прогнозы погоды, там, интернет, GPS, вот это все. Никаких дурацких планов о создании городов на орбите, заселении венеры и т.п.
Никаких Масков с полетом на Марс, никаких Наса с исследованиями дальнего космоса, сплошь энгриберды на афйонах занимают умы абсолютно всего человечества… А уж сколько сэкономили, отказавшись от таких дурацких планов, как разработка термояда, коллайдера и прочих бесполезных с точки зрения всего человечества вещей!
Вы не передергивайте. термояд — крайне полезная штука, очень надеюсь, что её реализуют. А вот полет на Марс — нет.
И да, никто не говорит про запреты. Хочет маск на марс — пусть летит, он заработал это право в прямом смысле этого слова. Это его деньги, он может ими распрояжаться как считает нужным. А получил он эти деньги занимаясь полезными вещами — автомобилями, платежами и прочим.
а ведь спутников и прочего не было бы без ракет. Людям ракеты были нужны? Нет. Прогресс сейчас без ракет достиг бы таких высот? С чего бы? Без них тогда сейчас не было бы того, что я перечислил. Но ведь людям тогда это же было не нужно. И?
Людям нужны были ракеты, чтобы воевать. GPS с той же целью был разработан. Если бы они не были нужны, ни ракет ни спутниковы бы не было. Но они как ни странно понадобились. А вот пулеметы, стреляющие точными приборами не понадобились, и их нет, даже если кто-то считает, что прогресс меряется в них.
Хочет маск на марс — пусть летит, он заработал это право в прямом смысле этого слова.
Не совсем. Сожжёт пресловутые "сотни нефти", а выхлопы его ракет в нашей атмосфере останутся. Для общества и экологии лучше, чтобы он свои деньги вложил например в антикварные картины.
Я тут как раз с одним коммунистом знакомым разговаривал, на тему того, что если есть ученый, которй изобрел способ на 10% повысить прирост любой еды, а в качестве оплаты просит 5% от неё же. То ест мир получает +5% к производимой еде (бесплатно), человек получает 5% мировых запасов, все довольны. Но тут прецедент, что ученый не хочет рассказать свой секрет за медальку и почетное место на стене своего НИИ, хочет жить на старости без бед. На что мне человек с серьезным лицом говорил, что надо попробовать произвести идеологическую обработку, а если откажется — то клещами доставать.
Как он тратит свои деньги — его дело. Забирать их со словами «ты их потратишь неправильно, я потрачу правильно» — последнее дело. К сожалению, многие любят этим заниматься. Под видео с краш тестами всяких айфонов полно комментарией «ЛУЧШЕ БЫ МНЕ ОТДАЛ». Печально, но что поделать.
А на марс они не хотят.
— Короче, ваше разделение на классы «Понимающих», которые хотят приблизить будущее, и быдляков, которые не понимают своего счастья понятно, но так сказать не совсем верно.
быстрые сетевые протоколы
Так они создавались в эпоху на 10-20 лет раньше котиков. Вы ведь про HTTP, SSL, TCP/IP, IPv6, Ethernet? Им лет уже бог знает сколько)
вместо тех ужасов со стиками под названием кпк
КПК были по тем временам достаточно быстрыми, и умели больше, чем умеют современные смартфоны. Стилусом можно было писать и даже рисовать простенькие вещи. Пальцем такого не сделаешь. Да и софт для КПК был куда богаче по функциям, как уже писали выше. Даже 3D игры были с довольно сносной графикой и геймплеем. Для КПК. Под процессоры в 64-128 МГц, ага. Сейчас под Андроид таких игрушек-то нет…
Айфоны вообще противоречат моей религии, я могу только за современные Андроиды говорить. Имхо это шаг назад, да. Есть некоторый прирост в скорости работы и в том, что экраны теперь нечувствительны к давлению (и то на морозе это минус, нужны специальные перчатки, а если хочешь использовать стилус — то тоже специальный).
P.S. Со скоростью я тоже уже не очень уверен. У меня есть смартфон на Андроиде 2.3, при покупке на нём всё летало. Но я принёс его домой, установил 10-15 приложений, прошло полтора-два года. Приложения потолстели с новыми версиями, плюс добавилось много фоток и скринов, которые система периодически хочет переиндексировать — и некогда шустрый телефон превратился в кошмарный лагодром, от которого я ужасно страдаю уже три года (а поменять не на что, нет на рынке моделей с клавиатурой). То есть я его тупо замусорил.
КПК из нулевых так замусорить было, несмотря на более слабую начинку, куда сложнее. Там количество установленного софта и наличие большого числа фоток на SD карте ничем не грозило.
P.P.S. Облачные сервисы вроде Dropbox — это как раз несомненный плюс. Но клиенты под все вот эти же сервисы и под социальные сети вполне могли быть реализованы и для КПК тех лет, при чём даже при тех аппаратных мощностях(!). Правда, с загрузкой фотографий были бы сложности из-за малого объёма RAM, пришлось бы на сервере генерировать маленькие версии фотографий с меньшим разрешением — впрочем, для экранов 240x320 и не нужно грузить фотографии в Full HD.
КПК из нулевых так замусорить было, несмотря на более слабую начинку, куда сложнее. Там количество установленного софта и наличие большого числа фоток на SD карте ничем не грозило.Да ладно, программы бросали свои экзешники в автозагрузку, все лагало и висело в фоне, оперативки не хватало.
Так они создавались в эпоху на 10-20 лет раньше котиков. Вы ведь про HTTP, SSL, TCP/IP, IPv6, Ethernet? Им лет уже бог знает сколько)
Сколько там лет HTTP/2? TCP 1.3? Protobuf?
К слову про космос — он в известной мере переоценен. Оказалось, что там делать особо нечего, особенно если говорить про межзвездные перемещения.Это тут уже обсуждалось.
До настоящего момента астрономия дала людям, нпр., навигацию, т.е. методы определения положения, нпр., корабля в открытом море. Земля сильно зависит от Солнца и от Луны. Про магнитные бури и приливы-отливы слышали?: Погода, связь и компьютерные сбои зависят от солнечной активности. Предполагают, что и землетрясения. Человечеству для высокого качества жизни крайне важно уметь предсказывать погоду и землетрясения. Для этого нужно изучать развитие звезд, космические явления.
>Хим био исследования — без космоса почти ничего не возможно?
На школьном уровне, где считается что медь растворима в азотной кислоте. А на Шатле в невесомости вырастили монокристаллы меди, которые в ней нерастворимы. Это не «просто абстрактное открытие» — это путь к созданию материалов с уникальными свойствами.
> «От астероидов» — Вы же сами понимаете, эта тема просто смешна.
Ошибаетесь. Это реальная угроза для человечества. Пока везло, пока ничего нельзя было противопоставить. Но сейчас появилась реальная возможность защитить Землю.
И т.д.
Про химию то же самое, на земле массовые эксперименты приводятся автоматами. Не в режиме растим кристал и пробуем растворить в чём-то, а в режиме растим 500 кристалов, проверяем взаимодействие с 10 реактивов, светим в нескольких сотнях диапазонов.
Фанаты космонавтики а-ля 70е рассказывают по кругу о 10ке интересных экспериментов, но их могло бы быть 10 тысяч, раз в 10 дешевле.
Нет, по моему мнению, все то, что требуется массам слабо способствует развитию прогресса. Прогресс творят как раз таки ученые, инженеры-новаторы и прочие с сильным томлением духа.
Только творят они его именно для того, чтобы удовлетворить требования масс.
Ракеты народу были не нужны никогда, но чтоб вы сами сейчас делали без спутников? Или без ламповых ЭВМ, которые тоже народу то особо были не нужны?
Массы немцев требовали бомбить саратов — сделали для масс ракеты.
То есть ракеты космические сделали для того, что бы удовлетворить требования масс, которые этого не просили
Чего это не просили? Просили, потому и было развитие космоса. Потом массам стало пофиг на космос, и он начал загнивать. Потом пришел дядя Маск, сделал космос снова секси, и массы опять хотят на Марс.
Приходит Народ к Циолковскому и говорит: гони, понимаешь, теорию реактивного движения! И все такие радостные, с транспарантами.
Потом оттуда сразу идут к Королеву, прям так, в лаптях, и говорят: гони, понимаешь, ракету в космос, да с Юркой внутрях! И не смей, шельмец, другого никого туда сувать!
Примерно так все и было, на самом-то деле.
Но прогресс твориться, когда это все только придумывают и начинают воплощать, пока это никому нафиг не упало.
То, что нафиг никому не упало — в результате умирает не родившись. А выживает только то, что нужно и полезно.
Вау, альтернативная история?
Почему альтернативная? А по-вашему как оно было?
Что становится нужным и полезным.
Да нет, что-то либо нужно и полезно, либо ненужно и неполезно. Никакого "становится" тут нет.
Как не нужны были всем автомобили на момент их создания, а сейчас они — везде.
С чего же вы взяли, что не нужны? Конечно, нужны.
Вы не ставьте потребность в конкретном результате прогресса раньше самого прогресса.
Почему не ставить, если так и есть? Именно потребности управляют прогрессом. То, что нужно — оно и развивается, то, что не нужно — отмирает.
Вы, видимом, полагаете, что кто-то наугад делает открытиЯ, а потом их пытаются куда-то присунуть? Ну это не так. Точнее — почти что всегда не так, по крайней мере если мы говорим об инженерии.
Глобальным исключением является разве что математика — но в данном случае там люди вполне осознанно занимаются всякими разными вещами чисто для своего удовольствия, потому и нет причин никаких этим вещам быть полезными.
Укажите, кто же требовал с Циолковского теорию реактивного движения?
А при чем тут вообще Циолковский?
Самолет Райтов не был нужным и полезным в момент создания.
Самолет Райтов — не был, но сама идея некоторого средства, которое позволило бы людям летать — была привлекательна еще за пару-тройку тыщ лет до Райтов. То есть запрос был. Именно по-этому Райты и пытались самолет изобрести, что запрос на такое устройство — был.
Итого, прогресс уже пришел, вещь создали, а большинству оно не было нужно
Ну как же не было? А зачем кто-то его покупал, если не было нужно?
Атомная бомба примерно так и получилась.
В каком смысле так и получилось? На атомную бомбу, опять же, существовал вполне конкретный запрос. Вот ее и изобрели. Это же было инженерное решение, в проработку которого было вбухано уйма средств, как в США так и в СССР. На кой черт в это все вбухивали средства, если оно не было нужно? В то, что не нужно, деньги не вкладывают.
Пока вы не открыли воздухоплавание и не поняли его ограничений понять, кк и куда его пристроить — невозможно.
Пока вы не придумали контролируемой ядерной реакции — невозможно придумать атомную станцию.
Если что-то на данном уровне развития науки и техники невозможно сделать — это не значит, что оно не нужно.
Людям тысячелетиями был нужен способ быстро двигаться по воздуху, суше и морю. Людям тысячелетиями был нужен способ эффективно выпиливать себе подобных. Людям тысячелетиями был нужен способ производства дешевой энергии в больших количествах. Людям тысячелетиями был нужен способ удобного общения на дальних расстояниях.
Тысячи лет назад эти задачи решали неэффективно — при помощи мускульной силы, мечей и стрел, лошадей, гонцов и сигнальных систем. Или вовсе никак (если речь о воздухоплавании).
И люди всегда пытались решать эти задачи лучше. В итоге сейчас эти задачи решают при помощи атомных бомб, самолетов, атомных электростанций, машин, интернетов с айфонами.
Пройдет еще тысяча лет — и будут созданы новые, более эффективные способы решения этих задач. Потому что эффективное решение этих задач людям нужно. Сейчас нужно, было нужно тысячи лет назад и будет нужно тысячи лет спустя.
Есть общественный запрос — есть развитие.
Попытки сделать новое идут постоянно и постоянно это оказывается не нужным прямо сейчас, а через десяток лет выстреливает.
Такие случаи, действительно, бывают, но это единичные исключения, которые вы почему-то полагаете правилом.
В релаьности же — практически все новое это результат уже существующих запросов. А то, что появляется но не требуется — в итоге умирает, навсегда умирает.
Да, единичные исключения действительно есть. Но это именно единичные исключения.
Планшеты появились задолго до iPad. И ровно до него это были единичные вещи.
Потому что планшеты сами по себе никому не нужны, ни 20 лет назад, ни сейчас. Они бесполезны без инфраструктуры. Мобильная инфраструктура была развита с развитием, с-но, смартфонов.
на ученых послабляйка была
Шаражки на ученых были, а не послабляйка.
СССР был достаточно долго, чтобы быть разным. Одно время — шаражки и то, подозреваю, что не всем. Другое время — послабляйка.
Но что касается колючки на выход, то, если мне не изменяет память, в свободолюбивой США Манхэттенский проект проходил без права на выход, разумеется это был добровольный выбор работавших там.
Работа с защитой памяти и фаловыми системами — это, ну, десятки мегабайт, но никак не гигабайты.
Есть интернет и есть базовая концепция модульности. Должно быть ядро с необходимой ВСЕМ базовой функциональностью, а все остальное должно загружаться по мере надобности.
а все остальное должно загружаться по мере надобности— так себе вариант. Далеко не везде и всегда этот самый интернет есть.
Именно там, где нет интернета, это всё и требуется. Различные производства в тайге, например.
Графика? вот тебе графика. в процессе установки мы перезагрузимся дважды, и плюс каждую загрузку ОС ты будешь ждать дополнительно пару минут, но зато 6,2 балла по встроенному бенчмарку
Пришлось с работающей семерки выдирать только дрова без довесков, теперь они заняли 354 МБ на диске D:.
Для сравнения, дистрибутив Linux SIDUX, который увидел все мое железо из коробки (многострадальный синезуб потребовал однострочника на шелле, чтобы загрузить модуль с другим параметром), весил чуть больше 400 МБ, и был полнофункционален для бытового использования (разве что торрент-клиент отсутствовал). Так что драйвера тоже разные бывают.
Нигде в моих комментариях не написано, что создание образа — это единственный способ установки софта. Этот способ для конкретного специфического применения — промышленное использование вдали от сети. Где этим занимаются профессионалы, вполне способные создать необходимый образ.
Что касается детей и жен, они будут по старинке скачивать и устанавливать необходимое из сети, что они успешно делают и сейчас. Но этот способ был раскритикован таежными профессионалами, которые тоже по какой-то неведомой причине, посчитали, что он должен быть единственным.
В итоге вы оба спорите не с моим мнением по этому вопросу, а с мнением выдуманным вами, но почему-то приписываемым мне.
Я как-то устанавливал драйвера на принтер в тайге. Думаю, если бы на компьютере не оказалось хлама типа драйверов CD-ROM или USB-флешек, мне бы это не удалось. Это, конечно, распространённые вещи, но с тем же успехом мне мог понадобиться дотнет, или vcrt определённой версии.
Так что, как написал kbaa, собираетесь в тайгу — берите все, что может понадобиться с собой, а не надейтесь на чудо.
Взгляните правде в глаза: какой-то .Net вам нужен для конкретной программы. Если в тайге нет сети, то взяться она может только из сети в офисе. Ну, так проверьте требования и скачайте в том же офисе нужный рантайм. До того, как обнаружится, что на компьютере в тайге его нет. Это разумно и логично, не?
Или заранее интегрируйте в образы ОС для своих компьютеров все нужное. Не заставляйте всех терпеть весь этот ненужный подавляющему большинству хлам.
Из моего опыта — если едешь туда, где нет интернета, то или берёшь все драйвера на дисках/флешках, или потом придётся наслаждаться gprs/edge скоростями (если повезёт) или ехать второй раз
не знаю, драйверы к чему сейчас есть по дефолту, но ни к одной железки из тех, что я встречал в охранных системах — ничего естественно нет. Что уж говорить про чтото более специфичное и промышленное.
Вместо того, чтобы в отдельно взятой компании навести порядок с периферией и драйверами для нее.
Логика ОК.
Есть интернет и есть базовая концепция модульности. Должно быть ядро с необходимой ВСЕМ базовой функциональностью, а все остальное должно загружаться по мере надобности.
В этой концепции компания навести порядок не сможет просто потому что вы предлагаете единственный способ доустановки модулей. Ну и насчет дров — лично меня бесит что я должен для своей материнки загружать драйвер с помощью телефона, потом подключать телефон как флешку и этот драйвер устанавливать чтобы загрузить все остальные драйвера уже с компа.
Так можно на флешку ОС со всем функционалом, а при установки выбирать что установить, а что нет.
А весь этот хлам нужно тащить всем и сразу?
Обычно балансируют между "тащить ВСЁ" и "загружать всё необходимое из интернета". Текущий баланс — порядка нескольких ГБ на ОС (на windows, кажется, чуть больше).
В дистрибутивах linux есть "минимальные" установочные образы с загрузкой остального по сети — мегабайт 100-200. Но установленная ОС со всеми типичными серверами занимает те же пару гигабайт как минимум. Не могу сказать, что это мало.
Парадокс.
Ну вот я поставил убунту 1804, выбрал язык русский, но все равно в интерфейсе половина текста на английском. Даже в самой установке все галки на русском, а вот «Include third-party software» не очень. Как бы тут не было правила 80/20, что 10-15гигабайт имеет в 4 раза (80%) больше файлов, чтобы покрыть вот эти «мелочи», а 2-3 гигабайта нет.
Плюс возможно там слой совместимости с программами, написанные в бородатые годы, ибо в 2-3*игабайтах часто практикуется совместимость на уровне исходников, а не бинарная.
Есть ОС, где всё надо пилить самому (тот же Альпин).
Как думаете, какую ОС чаще ставят в качестве домашней и почему?
Те дискеты, которыми мне приходилось пользоваться, вмещали 1440КБ (~1.38МБ).
Мне кажется, вы не поняли, что хотел сказать автор. Он не предлагает стать "дауншифтером" и принять аскезу, используя DOS и ограничиваясь 640 килобайтами. Он всего лишь хочет, чтобы программы были быстрыми, качественными, надёжными и не бессмысленно раздутыми. И да, я сейчас пишу это сообщение в браузере Google Chrome, который недавно обновился, и теперь этот текст набирается с сильно заметным лагом и фризами на моём Core i7 и 16 Гб ОЗУ. Если это не дерьмово, то я тогда не знаю...
Дык, это, платите деньги, они и будут. Вы вот сколько за месячную подписку на браузер платите? Небось, 0$? А за хабр? Столько же? А чего вы тогда хотите за этот 0$?
Или вам бесплатно должны делать качественные, надежные, быстрые приложения? А сами бесплатно не хотите поработать? Нет? А чего так?
Вы серьёзно?! У меня есть просто огромное количество примеров софта за астрономические деньги, который ужасен настолько, что не понятно как он вообще может работать. Например, всякие штуки уровня интерпрайз типа Cisco WebEx или адовые ERP за десятки тысяч долларов. А софт во всяких "умных" телеках, которые адски тормозят, а к тому же ещё и решето с точки зрения безопасности. Всё, я даже продолжать не хочу.
На счёт хрома, Google знает всё обо всех и зарабатывает на этом, если ты не платишь за продукт, то ты сам становишься продуктом, это вроде все знают. На счёт подписок, я пользуюсь продуктами JetBrains по подписке, и что, думаете, там всё идеально? Хахахаха. Баги годами висят в багтрекере. С каждым новым релизом платформа intellij idea требует всё больше ресурсов и всё тормознее, а какого-то серьёзного прогресса по функциональности я что-то не замечаю.
Вы серьёзно?! У меня есть просто огромное количество примеров софта за астрономические деньги
Замечательно, то есть к тормозящему браузеру и хабру все претензии сняты?
У меня есть просто огромное количество примеров софта за астрономические деньги, который ужасен настолько, что не понятно как он вообще может работать.
Прекрасно! Если этот софт за астрономические деньги плох — купите хороший софт от конкурентов! Или предложите за те же деньги свой софт — который будет быстрым, надежным и нераздутым. И те, кто пишет плохой, тормозной, негодный софт — разорятся из-за недостатка клиентов. В чем проблема?
На счёт подписок, я пользуюсь продуктами JetBrains по подписке, и что, думаете, там всё идеально? Хахахаха. Баги годами висят в багтрекере. С каждым новым релизом платформа intellij idea требует всё больше ресурсов и всё тормознее
Так не пользуйтесь продуктами джетбрейнс или идеей. Пользуйтесь продуктами, написанными хорошими, годными инженерами! Которые пишут быстрые, надежные приложения.
На худой конец — у вас же всегда есть вим или емакс. Почему вы не пользуетесь вимом или емаксом?
Софт по такой философии я видел, но выглядел он совершенно неюзабельно. Например
(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
Ну так давайте, чем вам не конкурентноспособное приемущество запилить более быстрый slack или скайп, или что-угодно-еще, и показать всем как надо.
Да хотя бы телеграмм, 30 мб памяти против 300+ у слаки и 100+ у скайпа. Если бы все писали такие приложения то этой статьи бы не было.
Беда в общем, не в сфере. А в головах людей, что дальше собственного носа и потребностей видеть неспособны.
К сожалению других людей нету, не завезли. На этих людей только и можно подействовать нытьем. Будет больше таких статей, разной степени техничности, больше людей будет задумываться о том почему старый айфон резко начал тормозить после выхода нового апдейта ios.
Да хотя бы телеграмм, 30 мб памяти против 300+ у слаки и 100+ у скайпа. Если бы все писали такие приложения то этой статьи бы не было.
Мм… вы сейчас серьезно?
Покажите в телеграме:
- Воркспейсы
- Треды
- Интерактивных ботов (со списками, выпадающим меню и так далее)
- Возможно красиво форматировать сообщение
- Грамотную организацию вкладок и разделение потоков. Что-то в духе личка и приватные чатики на 2-3 человека отдельно, а общие каналы отдельно.
- И так далее
- -
- -
- Такие боты есть
- поддерживается markdown
- -
- ...
- Таких ботов нет. Посмотрите как работает и выглядит MailClark или же интеграцию с jira. Telegram до такого еще довольно далеко
- Нет. Поддерживается огрызок синтаксиса маркдауна в виде bold, italic текста, ссылок и verbatim режима при помощи кавычек. В том же slack как минимум поверх этого есть еще заголовки и куча других полезных штук. Не учитывая, насколько гибкое форматирование сообщений в слаке.
Телеграму с их "текст и кнопки" еще далеко идти.
- А это разве не "интерактивный бот"?

- Видимо разрабы решили, что этого огрызка хватит. Учитывая, что в телеграмме длинные строки выглядят ужасно, звучит логично.
Вот это всё, что вы перечислили, должно требовать каких-то огромных ресурсов что ли? Или в чем смысл коммента? А со скайпом чего не сраниваете тогда? :)
Скайпом на смартфоне я просто не пользуюсь, потому что невозможно. Тормозит, зависает, вылетает, потребляет слишком много памяти.
2. Все, что я перечислил возможно еще и потому, что slack решил не выпускат 100 и 1 продукт для разных платформ, как сделал telegram, а сконцентрировать свое внимание на одной и просто портировать результаты с нее на другие платформы с минимальными затратами. Меньше затрат на порт — больше фич. У телеграма вот все еще нет секретных чатов на дестопе.
А слак такой раздутый не из-за дополнительных фич, а именно из-за электрона.
По поводу «попробуйте пользоваться софтом» — с сайта проекта:
— zlib
— musl
— libev
— DeadBeeF
— mc
— MPV (мой дефолтный плеер на винде)
Это то чем пользовался я. Так-то порядочно там довольно популярного софта:
suckless.org/rocks
Вы видели исходники musl?
Что касаемо разработки DE под такой идеологие, или IDE — то я лично уже хз, тут я бы поспорил, что suckless зайдет)
7 лет вроде поддерживает. OpenWRT на него перешел уже.
А если вы хотели сказать «когда ему будет столько же лет, сколько glibc» — то вообще не смешно.
Про список совместимости — я в курсе, спасибо, я читал внимательно, как и баги которые чел заводил в других проектах (это уже просто для себя).
Как полную замену glibc во всех отношениях никто проект и не позиционировал. Но я да, считаю, что это один из правильно сделанных suckless проектов.
Вики пишет, что 4 года назад вышла стабильная версия (
Ну а касательно никто не позиционировал — а вы уверены? Его вот в alpine утащили, который довольно популярен для docker образов, которые вполне себе на серверах крутятся.
Наверное речь об этом. Я лично с проектом познакомился еще до релиза 1.0.0, он уже тогда был вполне юзабельный)
Про позиционирование, что-то нигде не нашел про замену glibc. Да, пишут, мол general-purpose; что до использования на серверах — ну видимо майнтейнеры знают, как обходить особенности resolv.conf и прочую муть)
(давайте завяжем с оффтопом наверное, а то и так комментов полторы тыщи)
«двести метров джаваскрипта грузят текста триста байт»
https://soundcloud.com/viruzzz-kun/kolkhoznyy-frontend
В современных текстовых редакторах задержка при наборе больше, чем в 42-летнем Emacs. Текстовые редакторы! Что может быть проще? На каждое нажатие клавиши, нужно всего лишь обновить крошечную прямоугольную область на экране, а современные текстовые редакторы не могут сделать это за 16 мс.
Так эти ваши "современные текстовые редакторы" в браузерах крутятся же! Нынче модно стало ваять не нативные приложения, а кроссплатформенную жесть, которая тащит за собой и браузер и движок жаваскрипта.
так я и не говорю что это хорошо — я говорю что это модно. нынче здравый смысл проигрывает моде / трендам чуть более, чем по всем позициям
Вспомнить тот же qtВ котором для любителей JS вне браузеров есть QTWebkit…
вот именно этим и обоснованы абстракции вроде unity, electron и прочяя ересь — "чтобы разработчик думал о высоком, а не о низкоуровневой ерунде". именно об этом и весь сыр-бор
если грубо — то именно из-за лени программистов и нежелания разбираться в мат. части появляются уэбщики, которым не нужно заморачиваться на всякие там управления памятью, оптимизации на уровне операций, да даже банальными алгоритмами и структурами данных. а потом у них жира тормозит и почта отъедает гиг памяти
P.S. Работал я с одним кадром который часто мечтал о том чтоб сделать сайт на ассемблере. Типа слушать 80 порт можно и на ассемблере. Делать запросы в бд тоже можно из асма итд. Вот бы все летало и жрало мало ресурсов
Сейчас тоже так можно, причем в браузере будут не древние ActiveX скрипты с нативными формами, а модный Sencha Ext JS. Но ведь Delphi умер, вышел из моды, нет предложений на рынке.
в вашем кейсе две проблеммы:
Делаете вы сайт
и
сайт ну прдположим на c++
речь на самом деле не о крайностях вроде "если кодить — так только на Си!", а скорее о том, что приложения (даже сайты) можно писать оптимально (оптимальнее), не используя раздутых фреймворков, а решения делать не "самое простое — главное чтоб работало" (так, как выгодно бизнесу), а опять-таки, оптимально (обдуманнее).
Байндинг на ванильном JS не написать. А если начать реализовывать обертку, то получится багованный и кривой ангуляр или тот же реакт.
Был случай: глючил новый телевизор Sony — сбои программы. Зная про плохое питание, подключил его через стабилизатор. И глюки исчезли.
В общем, снизилось качество всего — попробуйте купить хорошую колбасу в РФ (и не только в РФ).
Можно сделать качественно, но за это потребитель не хочет платить.
Можно сделать качественно, но за это потребитель не хочет платить.Не «не хочет», а «не может». Постепенное усложнение мира в котором мы живём плюс услилия маркетологов привели к тому, что потребитель, зачастую, в магазине не может отличить хороший товар от плохого. А это, по большому счёту, приговор «свободному рынку»: свободный рынок может работать тогда, когда покупатель делает осознанный выбор… чего, по крайней мере на рынке потребительских товаров, уже давно не происходит…
Самая первая жирная абстракция, которая случилась в компьютерах, заключалась в идее имитации интерактивности происходящего.
Это примерно как в школе, где сначала долго и упорно заучивают, что из меньшего нельзя вычитать большего, а потом через год говорят «давайте вычитать», и ругать учеников, если они вдруг на старое правило ссылаться начинают.
С опытом приходит понимание (или нет. Но тут уже ничего не поделать), как расставлять приоритеты. А именно — никак. Уметь придумать несколько вариантов с разной стоимостью и дать бизнесу выбрать то, что ему больше подходит. «Денис, вот ты задачу создал, можно вот так вот закостылить, но скорее всего через год это выльется в такие-то проблемы ценой в 1М, а можно сейчас на пару недель сделать задачу на грамотное изменение архитектуры, тогда всё будет ок, но мне нужен будет Марк на пару дней для выработки плана». Главное, не сократить эту фразу до «Денис, вот ты задачу создал, можно вот так вот закостылить,, а можно сейчас на пару недель сделать задачу на грамотное изменение архитектуры и мне нужен будет Марк на пару дней для выработки плана». Разница ведь колоссальная, и как мне кажется большинство разработчиков используют вторую форму, когда подразумевают первую, а потом обижаются на логичный ответ менеджера «давайте по первому сценарию, заказчик уже месяц ждет». Сам виноват, надо было лучше объяснять.
Ну а если все равно костыли выбирают, значит бизнесу так нужнее, они вам с прибыли зарплату платят, они должны выбирать решения, вы эксперт который дает им полную информационную поддержку, но решения все же за ними.
Ну а если выбирают костыли, а потом говорят «блин, нам твой костыль в 1М встал, что ж ты собака сделал?!?», то 2 недели и поиск более адекватных коллег является оптимальным исходом :)
На самом деле, основным потребителем памяти являются не программисты, а пользователи. Потому что пользователю всё равно сколько мегабайт занимает его аватарка — он хочет, чтобы она была красивой. Ему всё равно сколько миллиардов математических операций надо выполнить в секунду — ему хочется, чтобы страница скроллилась плавно, и чтобы в середине печати не возникало сообщения «превышена максимальная длина текста».
А ещё хочется переключать задачи мгновенно. И иметь быстрые сайты.
И всё это требует абстракций, о которых кусок кремния ничего не знает. Каждая абстракция — заведомо неэффективное использование уровня ниже (те же транзисторы в аналоговом режиме могут много больше, чем в цифровом — мы используем их самым тупым образом во имя иллюзии двоичного переключателя).
Неэффективность взамен предлагает простоту — и ради этого все эти гигабайты кода и памяти. Это просто, а значит, человек может это понять и начать использовать. Как только «просто» становится «сложно» на его базе делают следующий уровень неэффективности, чтобы снова стало «просто».
Вот зачем вам эта неэффективная абстракция и весь этот bitblt? Почему бы не отображать символы сразу из растровых представлений в видеопамять?
Не, серьёзно, зачем вам окошки? Эти ужасные программисты тратят мегабайты на каждое окошко — если избавиться от окошек, то освободится огромное количество памяти.
Да, только не браузера (хотя и браузер разрабатывают такие же олимпиадники), а олимпиадники хабра. Они возможно хорошие математики, но очень плохие программисты. Решение проблемы в данном случае заключается в удалении из DOM лишних комментариев, невидимых на странице. И этим страдает не только хабр, этим грешат очень известные западные веб-сайты, всем известных корпораций.
И причем тут вообще окошки?
Решение проблемы в данном случае заключается в удалении из DOM лишних комментариев, невидимых на страницеНет, решение для поле ввода заключается в чистке неиспользуемых стилей и возможно рефакторинга переусложнённых селекторов (их хватает неоптимальных), а прокрутка и вовсе чинится так.
Динамический viewport нужен только когда у вас реально много данных на странице (начиная с десятка тысяч, или даже больше), а тут на момент написания этого комментария всего 1369 комментариев.
Ахаха, вот они наши олимпиадники ) Я думал они просто от лени, а они даже не вдупливают, что вообще происходит )
P.S. Вы так или иначе придёте к удалению лишнего из DOM, поэтому мне непонятно ваше категорическое «Нет», с отмеркой сколько нужно вешать в граммах.
P.S. Вы так или иначе придёте к удалению лишнего из DOM, поэтому мне непонятно ваше категорическое «Нет», с отмеркой сколько нужно вешать в граммах.И сколько предлагаете держать в «буфере» комментариев? всего сотню? (на сотне наверное не тормозит?) А знаете что при динамической видимой области перестаёт полноценно работать поиск по CTRL+F? То есть тут уже встают две задачи сделать динамическую область видимости (задача сама по себе не простая) и ещё эмуляцию поиска (который будет искать и в невидимых комментариях). А технический долг в виде перегруженной каскадной таблице стилей никуда не исчезнет.
Так-то я за динамическую область видимости, но только когда в ней есть потребность.
То, что помещается на экран. Плюс держать еще несколько «сверху и снизу». Плюс хранить все загруженные комментарии в виде объектов для подстановки на скроле.
Про поиск как-то не подумал. Для этой ситуации можно держать только TextNode на нужных позициях в DOM. Думаю не должно тормозить даже для десятков мегабайт текста (но это не точно). Один мегабайт точно не тормозит.
Еще это может решаться с помощью UI, на пикабу видел топорное решение для бесконечного скрола, путём нажатия нужной кнопки для очистки DOM.
Задача интересная, тут ресерч нужен, сам такое не делал еще.
>А технический долг в виде перегруженной каскадной таблице стилей никуда не исчезнет.
Можно исправить, я не спорю.
>задача сама по себе не простая
Так в этом и весь сыр бор, что программисты идут легким путём, а не решают проблему на корню.
Можно повернуть набок. Изменение с портрета на ландшафт вроде бы предсказуемо, но переход заметен.
Для этой ситуации можно держать только TextNode на нужных позициях в DOM. Думаю не должно тормозить даже для десятков мегабайт текста (но это не точно). Один мегабайт точно не тормозит.Да, можно попытаться выкрутиться таким компромиссом.
а не решают проблему на корню.Ну прямо на корню это в обозревателях должны решать — они сами должны выкидывать невидимое и отбрасывать все неиспользуемые стили при первой загрузке, оптимизируя их так чтобы не вычислять сложные правила каждый раз при перерисовке. В свежей лисе похоже так и работает (либо просто очень быстро работает), а вот в хроме нет.
Ещё минус динамической области видимости в невозможности пользователю сохранить страницу целиком. Нужно костылять спец. кнопку по которой всё дерево сгенерируется для удобства сохранения (кто об этом позаботится? только энтузиасты).
Очень наглядная разница между «ужасным интерфейсом 90х» и современным «отзывчивым» интерфейсом…
Для прикладного ПО проблема в отсутствии инструментов для удобной и быстрой разработки. Ну нет сегодня аналога Делфи из начала 00-х. Есть две крайности сложная разработка на крестах с QT или простая, но очень жирная разработка на Electron. А по середине ничего нет! Ниша свободна.
В свою очередь в системном ПО скопился огромный пласт легаси. Тот же Линукс не может осилить 10 Гбит/с в стандартной поставке. Его приходиться патчить, накатывать сторонние костыли. Загуглите linux 100 Gbit/s, там всё еще веселее. И здесь полностью свободная ниша. Люди понимают о необходимости Unikernel, но не кому это пилить! Ниша свободна. И тут мы подходим к следующей проблеме.
Людей, которые смогут оптимизировать и переписать всё с нуля — можно пересчитать по пальцам. Просто нет специалистов, кто возьмётся за это неблагодарное дело. Сегодня легаси переплюнут авгиевы конюшни. Поэтому переписывать нужно очень многое, начиная с языков программирования и заканчивая операционными системами.
А я встречаю восторженные отзывы о go, kotlin, но это ничего не значит. Люди по прежнему программируют на крестах, джаве и питоне. В go же хотят внедрять дженерики (а как пели, что они не нужны!). А с развитием джавы непонятно зачем нужен kotlin. По мне он повторит историю groovy.
То, что видите вы это маркетинг, действующий на неокрепшие умы. Я это всё очень давно мониторю и пока не видел технологии «который чуть ли не сам всё за тебя делает». Всё что есть на рынке отдаёт некомпетентностью и легаси.
Мне это настолько всё надоело, что я сейчас сам начинаю работу в сторону разработки нормальных инструментов для программистов.
>восторженные отзывы об очередном инструменте
Например?
Например?Я серьезно не анализировал каждый случай, это скорее общее ощущение от «чтения заголовков». Ощущение, будто в короткий период появилось множество технологий, фреймворков, даже парадигм, новых версий сред разработки. Хлынуло в первую очередь из в веб направления: всякие ангуляры, реакты, метеоры, вуи, тайпскрипты, теневые домы, вебассембли, редаксы, нпмы, ноды.жс, какие-то стеки технологий, среды и плагины, все это поддерживающие и т.д. Я вебом не занимался никогда, но помню php и mysql всем хватало, а тут такое многообразие. )
Или взять Unity3D. Помню один из многочисленных школьников на ютубе слабо владеющий внятной речью, за пол часа накликал скелет для какой-то примитивной, но работоспособной игры. Я вообще в то время слабо представлял практические пути создания игры для мобилок, ну может глючные примеры на QML потрогал, а тут человек без особых знаний и навыков в программировании делает что-то рабочее. Вот и подумалось, это ли не «волшебная кнопка». )
Ощущение, будто в короткий период появилось множество технологий, фреймворков, даже парадигм, новых версий сред разработки.
Да всегда так было. Просто раньше — чуть медленнее. Сейчас вырос темп жизни, с ним вырос и темп, ну, вообще темп. Всего.
Хлынуло в первую очередь из в веб направления: всякие ангуляры, реакты, метеоры, вуи, тайпскрипты, теневые домы, вебассембли, редаксы, нпмы, ноды.жс, какие-то стеки технологий, среды и плагины, все это поддерживающие и т.д.
Ну давайте-то будем честными — имея нормальную базу и опыт все это фигня и изучается влет.
Вот я умел в типы, упарывался функциональщиной, тыкал тот же хаскель палочкой — в итоге когда я пришел в команду, где писали на тайпскрипте, то уже через две недели делал для используемых библиотек врапперы на суровой типовой акробатике, в которую половина людей из команды (с опытом год+ тса) тупо не могла.
Потому что я пролистал спеку тайпскрипта, увидел там везде знакомые термины из теории, и уже понимал как это можно использовать и в каком виде, не вдаваясь в подробности. Дальше немного практики, чтобы руку набить — и дело сделано.
Люди по прежнему программируют на крестах, джаве и питоне.
Вы так говорите, как будто кресты, джава и питон сами не развиваются. Мейнстримные языки в итоге аккумулируют в себе наиболее полезные фичи, которые отрабатываются на всяких котлинах, хаскелях и прочая.
а как пели, что они не нужны!Про дженерики разработчиками всегда говорилось «они полезны, но сильно усложняют язык, потому, может быть, в будущем».
Про бесполезность пели фанбои, многие из которых вообще на Go программировать не умеют…
Людям поддерживающим эти идеи остается только проявлять активность, писать отзывы разработчикам, поддерживать материально такой софт.
Тут всё-же видится довольной скорый хэппи-энд — когда производители упрутся в физические ограничения чипов и программистам придётся снова вспоминать, чем цикл лучше мап-редьюса.
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 и прочих...
Если говорить в вэбе, ничего ведь принципиально не изменилось с момента, что я помню, начало 2000х. Тот же текст, те же ссылки и картинки. Да теперь не надо качать видео и музыку, чтобы послушать/посмотреть. Но прожорливость браузеров выросла прилично.
Тот же текст, те же ссылки и картинки.
Что?? Сейчас один CSS чего стоит. А ещё есть JS с сотней API (например, webgl, video, ajax). И JIT-компилятор JS. Можете взять старый интерпретатор и современный, и сравнить производительность.
В подавляющем большинстве случаев как раз будет достаточно текста и картинок. Безо всякого JS вообще.
И вообще, вряд ли типичный потребитель вообще точно знает, чего он хочет. Иначе пришлось бы к прийти к выводу, что он хочет раздутое и тормозное ПО, коего сейчас большинство.
Только вот, если человек работает, то «удобно» — это именно «Ctrl-C, Ctrl-N», а не тыкание мышкой по пунктам меню.
Внезапно, «выделить мышкой, ПКМ, либо меню -> копировать и тп.» есть в любой программе, это не достижение новых тормозных версий.
Проблема в том, что такой кнопки нет, или есть, но хорошо она все равно не делает. Но аппетиты программ растут так, как будто они сами делают не просто хорошо, а прямо-таки превосходно.
Программирование — это не инженерная специальность. У нас как бы нет четкой математической базы или подходов в духе "молоток — для гвоздей, отвертка для шурупов", как и нет спецификаций или их игнорируют абсолютно все.
Вместо этого у нас куча универсальный инструментов, вкусовщина и хайп)
Но проблема в том, что в тройке скорость-качество-цена ныне принято вычеркивать второе.
А в областях, где качество более важно (медицина, космос, авиация и т.д.) и процессы другие, но просадка по скорости.
просадка по скорости
Многие до сих пор на WinXP сидят — и ничего, всё летает, так что если бы новые версии выходили раз в 10 лет — большинство бы сказали «спасибо», поскольку не понадобилось бы ломать привычные паттерны использования из-за того, что компании срочно понадобилось обосновать продажу новой версии.
Что, и правда есть? Я надеюсь вы сейчас не скажите мне про подсчеты через O(n), которые асимптотические и не применимы в реальности?
Или есть какая-то другая методология?
Есть общая теория построения систем и кибернетика, вместо чего в мейнстримовом программировании какая-то псевдонаучная муть от гуру, типа шаблонов проектирования.
Общая теория построения систем абсолютно такая же муть только с другой стороны, потому что не учитывает практически ничего, кроме своих абстракций. В итоге на бумаге у них все круто, а как только приступаешь к реализации, оказывается, что в реальной жизни очень много подводных камней.
А если попытаться учесть все детали и сделать полную модель — вы в ней потоните скорее всего.
Тем не менее пока ничего лучшего не придумали: самолёты летают, спутники кружатся, процессоры считают.
Никто не захотел думать (не знал, не стал заморачиваться, не влезал в строки, не влезал в бюджет, не влезал в целевую производительность, причины точные не знает никто), что процессор можно атаковать с этой стороны. Почему раньше никто не переживал по поводу того, что kernel.dll отображается по фиксированному адресу, а теперь это большая проблема? Почему никто не пытался предотвращать исполнения страниц памяти с данными, а теперь все стараются всеми силами? Почему аппаратура начала вести теневые стеки, подписывать указатели и тегировать динамическую память, а раньше об этом никто не думал?
Все потому, что программирование — оно в основном про то, как выполнить задачу бизнеса при определенном наборе входных данных и выдать относительно приличный результат за относительно же приличное время. Написание программы, работа которой возможна при любых входных параметрах, противостоящей утечкам данных из любых общих ресурсов, тайминг-атакам и всему тому, что появилось за 50 лет противостояния брони и снаряда — это совсем другая задача за совсем другие деньги.
Почему никто не пытался предотвращать исполнения страниц памяти с данными, а теперь все стараются всеми силами?
В старющем Фортране уже давно отказались от возможности принимать данные как код (и наоборот) (COMMON block вроде бы).
Другие огрехи так же были известны ранее — ничто не ново под луной.
Кроме AMD. Поинтересуйтесь на досуге, какая часть из этих уязвимостей применимы к их процессорам.
Не так часто, как ворд. Да и много ли самолётов и спутников упало из-за программных ошибок?
в процессорах, как уже выше написали — дыра на дыре.Вы действительное видите разницы между 4-5 ошибками, обнаруженными за 10 лет и примерно таким же количеством ошибок, которые в современных OS находятся за день?
Почему не влияет? А если там есть какой-нибудь textarea:contains("special"){...}?
Вообще полностью согласен с автором, но войну добра и бабла всегда выигрывает бабло.
с LTO — одна функция.
Собственно, я могу рассказать, что дебаг-сборка моего приложения на расте (небольшой бот на для телеграма) занимал 150мегабайт, скомпилированный в релиз с lto — 6 мегабайт… Так что действительно техника очень полезная. И можно действительно получить гигантский исполняемый файл, где непонятно, куда он вообще столько ест :)
скомпилированный в релиз с lto — 6 мегабайт…
Кек, целых 6 мегабайт какойто бот. А если бы этот бот был на ноде и весил тех же целых 6 мб интересно что бы сказали товарищи вроде автора обсуждаемой статьи? :)
А если бы этот бот был на ноде и весил тех же целых 6 мб интересно что бы сказали товарищи вроде автора обсуждаемой статьи? :)Что если сравнивать боты на разных языках, то нужно не забывать и про райнтам? Скоко-скоко занимает контейнер, который может бота на node.js поднять? На этом фоне размер самого бота уже мало что значит, извините.
Читаю статью и комментарии и мне кажется, люди катастрофически не представляют, как весело программировали в 90-х и какие были веселые проблемы.
ОС за вас ничего не делает? Вы представляете сколько костылей, оптимизаций и драйверов предоставляет для вас ОС, что бы вы могли работать независимо от железа и не зубрить спеки?
Сравниваете современные редакторы кода и древний emacs? Я вам напомню, что emacs работает в терминале все-таки :)
Функциональность не растет? Вы вообще пишите хоть что-нибудь? Возьмите любой продукт из 90-х, он написал ужасно, выглядит ужасно, и работает так себе. Современный софт содержит кучу анимаций, обновлений в фоне, вебсокетов и прочего. Автор сетует на то, что "мы ожидаем, что никто не поменяет данные пока пользователь смотрит страницу"? Еще лет 15 назад это была аксиома.
Касательно машин это очень прохладная история, хотя бы потому, что КПД двигателей внутреннего сгорания все-таки ниже 100%.
Ну и касательно веса — большая часть веса приложений это чаще всего ресурсы. И что вы предлагаете с ними делать?
- Возможно, я не прав, но клавиатура гугл весит всего 30Мб.
- Ну какие-то ресурсы. Папка с ресурсами занимает 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

Ну, вот я привел ссылку на apk, которое вести 30 МБ, в распакованом виде 57.
Мне кажется, лишний вес может появится только из-за файлов ресурсов, разве нет?
Понятия не имею, что это за сайт, что там за апк и почему, я вам привел скриншот официального приложения установленного из плэй маркета.
Ну например картинка с наложенным на неё красивым отфотошопленным текстом на каждом языке. Я i16n никогда не занимался, но например когда я смотрел размер дума, в нем 40 гигабайт из 60 как раз занимали ресурсы — текстуры, звук, ...
Серебряная пуля для меня среди клавиатур на телефон, нету этих смайликов и прочего го*на, разрешения требует только те что реально необходимы (6 штук всего)… просто клавиатура и все.
Возможно, вам смайлики совсем не нужны, но видимо кто-то посчитал, что это киллер-фича. Их даже в юникод впихнули. И какой-то части пользователей они полезны.
Или просто так в прошлом году apple на презентации какулю показывали?) Люди хотят видеть подобное и им полностью плевать сколько памяти это занимает и как работает под капотом
Мой посыл был в том, что сейчас «быстрое» приложение «без рюшечек» основной массе не интересно. По этому, то что у Вас будет, к примеру, простой мессенджер, который умеет только отправлять текстовые сообщения и ничего больше, без анимаций с самым простым дизайном — вряд ли им будет пользоваться широкий круг людей.
Ах да, забыл, без аналитики вам будет очень и очень сложно развивать продукт в «правильном» направлении. А если еще у Вас основной бизнес строится по на рекламе, то дополнительный, скрытый функционал приложения может быть толще самого приложения.
И удобные оповещения, наглядная навигация тоже.

Но потом, слава автообновлению, подвезли версию, в которой, наколхозили некий «polyfill», на который наверняка потратили кучу человеко-часов, и пытающийся маскироваться под уведомления в стиле Windows 10

Давайте же посмотрим как улучшился UX. Было:
— Крестик для закрытия
— Уведомления подчинялись настройкам уведомлений системы
— Кнопа для отключения надоедливых уведомлений была прямо на ба́бле
— Бабл закрывался по таймауту
— При уведомлении об изменении файла, клик открывал папку Dropbox с выделенным файлом
Стало:
— Крестика нет (Возможно, он появится при наведении? Но это не точно)
— Уведомление висит и не закрывается
— После некоторых обновлений это колхозное уведомление начинало перехватывать фокус. Может выбросить из полноэкранного режима
— При уведомлении об изменении файла, клик больше не открывает не папку. Теперь запускается браузер с сайтом Dropbox
Разумеется, это частный случай, но очень показательный. Десктопный софт стремительно тупеет.
Хм… опять же, а причем тут программисты? Думаете, они такие "а, поломает то, что неплохо работает без видимой на то причины"?
А если заказчик сказал "должно быть на всех устройствах одинаково", то тут уже ничего не попишешь.
Вы не согласны?
Ну и доказать, что что-то нужно какому-то проценту аудитории возможно только постфактум.
А вы можете предложить что-то другое? Принятие решений в условиях неопределенности это довольно сложная задача и там можно выбрать только самый оптимальный результат, а не лучший.
Другого способа конечно нет, но именно поэтому сам факт принятия того или иного решения никак не значит, что оно будет полезно хоть кому-нибудь вообще. Самый эпичный пример — кинопоиск 2.0.
Не надо делать всякий бред и говорить «смотрите, вот как хорошо!». А когда аудитория говорит «Нет, не хорошо», ей отвечают «Вы дураки, у нас тут дезигнеры, они лучше знают как для вас лучше».
Десктопный софт стремительно тупеет.
Потому что он не десктопный, что Dropbox, что Skype 8 типичное браузерное наколенное поделие которое тащит за собой ещё и вебкит для работы.
Недавно переделывал 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, заморочиться, и сделать приложение, которое ужасно выглядит и медленно работает под любой платформой.
Первое. Отказаться от DOM, с которым связана львиная доля тормозов. Хотя все современные фреймворки создают «буферную» замену DOM, обращаясь к «реальным» объектам только где без этого совсем никак, это всё равно медленно.
Фактически, нужно просто взять один большой Canvas во всё окно и рендерить всё что нужно на нём вручную. Причём процедур рендеринга нужно написать несколько, под разные виды устройств (в зависимости от того, какие операции попадают под хардварное ускорение).
Второй источник тормозов (и заодно зверского потребления памяти) — сборка мусора вместе с автоматическим управлением памятью. Чтобы решить эту проблему, разработчик должен великолепно знать, как осуществляется управление памятью в Electron и, пользуясь этими энаниями, написать на JS собственный менеджер памяти. Как? Ну, почти так, как это делает Emscripten: создать ArrayBuffer и повозиться со всеми этими типизированными массивами, представлениями и блобами. Причём проблемы возникнут ровно те же, что у плюсовиков: утечки и ситуации, когда указатели внутри этих буферов внезапно начинают указывать куда-то не туда.
Конечно же, стандартные фреймворки, которые не способны работать в таких условиях, сразу же идут лесом — вместо них придётся колхозить своё. В том числе грамотно написать обработчики событий, чтоб всё не вставало колом, а это опять же квалификация.
Но ведь кодер, способный на такое, он и стоить будет как плюсовик. А в чём тогда смысл? Electron нужен-то как раз для того, чтобы любого индуса после трёхмесячных ускоренных курсов можно было посадить за код, и созданный продукт даже как-то работал.
www.itjobswatch.co.uk/jobs/uk/javascript.do
Сравните Salary trends и соответствующие гистограммы на этих страничках. Даже средненький C++ кодер — это порядка £50к, что несколько дороже среднего JS-кодера (£40к). Топовая часть гистограмм говорит сама за себя.
Не холивара ради, но тыкнул по Java — дак они вообще больше плюсовиков получают. ИМХО вот где первые кандидаты на реорганизацию.
Етижи-пасатижи, куда мир катиться?!
Т.е. мы берём веб с кучей средств рисования, ресайза под размер итп итд и выкидываем нафиг, начиная все контролы и прочее с нуля рисовать, мышку обрабатывать итп, как в старые времена. У и ради чего? Ради электрона ради электрона? Ну так взять окно с опенгл и рисовать.
Нет, давайте лучше возьмём из 2000х. Totalcmd, KeePass, PuTTY, WinAMP, позже Foobar, Notepad++, WinRAR/7-Zip, WinHEX
PuTTy — лютый шлак с максимально не очевидным интерфейсом. Людям, которые к нему привыкли может быть и ок, но посмотрите на интерфейс, например, Termius.
По остальным инструментам вы совершаете простую ошибку — они служили исключительно для одной цели и делали ее хорошо. И сейчас такого софта навалом, правда. А вот когда нужен софт, который будет делать много разных штук из коробки, тогда начинаются проблемы.
У меня до сих пор стоит Office 2003 (с Compatibility Pack для поддержки OOXML) потому что, мать его, он работает и выполняет мои задачи
Скорее всего, вы просто используете его как продвинутый блокнот без какой либо серьезной верстки или макросов, я прав?
Так ли ужасен был QiP 2005?
Отвратител. К вопросу что мы получили взамен — я получит возможность использование ChatOps, интеграции с мессенджерами вплоть до решение инцедентов прямо из них. Нужно ли это? Еще как.
P.S. Вы и сейчас можете взять делфи, он все еще живой. Что ж не берете то?
Но вот тот же слак, который тут ругают содержит безумное количество различных полезных вещей, которые люди просто не привыкли использовать и это исключительно их проблемы.
И опять же, електрон они выбрали только по одной причине — потому что пилить еще отдельно десктоп очень дорого.
Не открывается — всмысле не запускается или каждый раз вы 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 было большим объёмом).
Хотите более-менее объективного сравнения — сравните 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 между 2003 и 2013/2016 версиями, что он стал намного тяжелее и медленнее?
Если вы не это все не используете, я за вас рад, но Word в таком случае вам просто не нужен, возьмите тот же Sublime.
Функционал то в нем есть, и он обновляется, а то, что он не нужен вам и скорее всего, значительной куче людей — это другая проблема, правда.
А что там появилось в Word 2013/2016 вы так и не ответили. Именно потому, что ничего принципиально нового и полезного в т.ч. лично для вас там не появилось, ибо иначе вы легко и непринужденно ответили бы на вопрос вместо описания несуществующих проблем.
Проблема в том, что в развитии офиса (как и почти любого современного софта) произошли две вещи:
1. Добавление кучки мелких фишек, которые реально облегчают людям жизнь
2. Добавление 100500 уровней абстракции, которые только лишь в приводят к потерям ресурсов и замедляют работу
При этом такое ощущение, что всё это сделано для того, чтобы кто-то получил promotion. Ну потому, что за добавление «печати документа в виде книг» вы promotion не получите, а за добавление нового слоя абстракций, на разработку которого ушло 10 человеко-лет и который ни одной проблемы не решил, но зато породил два десятка красивых презентаций — легко.
Всё тот же самый «секрет айсберга» — но уже по отношению к руководителям компаний…
Сейчас бы называть создание автономной формы или диплома форматированием.
Вы из тех, кто нумирует формулы в ворде вручную?
Ахахахаха, очень смешно.
На самом деле нужно подключить XeLaTeX, потом еще довольно много подбирать нужные параметры, поменять нумерацию, написать свой формат литературы, потому что в интернете можно найти только российский и то устаревший и все равно надо вставлять костыли и склеивать section и subsection, если между ними ничего нет, так как сделать это из tex очень сложно.
Но это все равно лучше. чем в ворде, да.
Посмотрел бы я, кстати, на версионирование диплома в ворде по мере его написания и общения с научруком.
Но вообще-то, ворд умеет.
Ну, очевидно, потому что у вас так себе подходят к проверке на соответствование госту.
У вас тут как минимум нет:
- Шрифта Times New Roman
- Размер шрифта не 14
- Не вижу директиву для полуторного интервала, может пропустил
- Ну и у вас катастрофически неправильно оформлена библиография.
Вполне возможно, что я чего-то не знаю, так как вижу в другой стране, но у нас все эти пункты строго проверяли, поэтому надо было фиксить :)
Да, нужно.
Ну например, новая версия может содержать интернационализацию на много языков. Тут возникает проблема с тем, что в кнопки не влезают тексты. Окей, запиливаем модуль масштабирования текста, причем так, чтобы с ним работали даже программы, которые про него не знают. Фух, написали кучу сложного кода, но работает, из коробки и правильно! Отлично. Ан нет, пришли из отдела эргономики, говорят, что у арабов от менюшки слева голова кругом идет, нужно чтобы было справа. «Окей» говорим мы, и начинаем воротить систему автоматического зеркалирования интерфейа (но не всего, а то не дай бог отзеркалировать что-нибудь не то, что надо), опять начинаем тестировать, находим кучу несовместимостей с существующими приложениями вроде игр… Продолжать можно до бесконечности, но именно все эти «свистоперделки» это то, что хотят пользователи — чтобы из коробки всё работало, как надо, и не важно, сколько лишнего места на винте оно займет.
Ну например, новая версия может содержать интернационализацию на много языков.Зевает. Да-да, MS Office 2000 так умел: много языков, можно одновременно целую кучу поставить на машину, пакет с десятком языков в Enterprise версии. Про Office 95/97 не скажу, врать не буду, но MS Office 2000 всё вами перечисленное умел.
Окей, запиливаем модуль масштабирования текста, причем так, чтобы с ним работали даже программы, которые про него не знают.Ну то есть вместо работающей реализации мы досыпаем говнокода, а потом ещё обматываем говнокодом и присыпаем сверху ещё порцией говнокода.
Всё понятно, кроме одного: что мешало просто взять — и сделать так, как это было задумано (и работало!) 20 лет назад?
Фух, написали кучу сложного кода, но работает, из коробки и правильно!Нет. Работает неправильно. Глючит. Кнопки разъезжаются и нам приходится костылять новые костыли поверх старых. И потом обматывать это скотчем и эвристиками. Потому что если разработчик об этом не задумается во время проектирования программы, то сколько костылей не пристраивай — а всё равно что-нибудь, где-нибудь да отвалится.
Ан нет, пришли из отдела эргономики, говорят, что у арабов от менюшки слева голова кругом идет, нужно чтобы было справа.И это тот же MS Office 2000 умел, да.
Продолжать можно до бесконечности, но именно все эти «свистоперделки» это то, что хотят пользователи — чтобы из коробки всё работало, как надо, и не важно, сколько лишнего места на винте оно займет.Пользователи хотят, чтоб оно работало, а не глючило, на самом-то деле. А все эти потуги сделать так, чтобы работало без того, чтобы на это внимание разработчики программ обращали — ничем хорошим не кончаются. Результат всё равно напоминает руссификацию DOS'овских квестов со всеми этим «Окрт» (вместо «Open»).
Если же не ставить задачу как: «у нас есть куча дерьма, но мы хотим сделать вид, что это такая конфетка», то… всё это не нужно.
Количество людей, работавших как с классической линейкой (MS Office 95-2003), так и с новомодными извращениями (2007-2016) и при этом не оплакивающих «почивший в бозе» «старый мир» — ничтожно мало. Большинство «фанатов» нового интерфейса — это люди, которые старого в глаза не видели… в чистом виде стокгольмский синдром.
Пользователи хотят, чтоб оно работало, а не глючило, на самом-то деле. А все эти потуги сделать так, чтобы работало без того, чтобы на это внимание разработчики программ обращали — ничем хорошим не кончаются. Результат всё равно напоминает руссификацию 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 недели — достаточно, чтобы понять основную логику, но не достаточно, чтобы начать её полноценно использовать. Примерно как на этом графике:

В вашем случае замеры производились в точках A, E, F.
вот радости-то помнить для всех версий что и где…
как и предыдущий пост давно пользуюсь «экселем» от опенофиса, а поддерживался бы старый оригинальный «эксель» пользовался бы им по-прежнему…
Было ли сравнение «человек эксперт в старом офисе, но ничего не знает про риббон» я не знаю, а если и было, скорее всего его результаты для внутреннего использования в стиле «насколько сильно пользователи будут нас ненавидеть на запуске».
Кроме того, по какой-то причине редактор макросов в опеноофисе, либреофисе лагает с подсветкой синтаксиса к тому же неотключаемой. На один экран кода лаг незаметен, но когда кода уже два экрана лаг заметен и вызывает полную перерисовку подсветки КАЖДЫЙ введёный с клавиатуры символ. на 300 строках работать уже невозможно — на каждое нажатие кнопки происходит 2-3 секундная перерисовка. Почитал форумы… оказалось так не повезло лишь пользователям с AMD-шными процессорами. Спустя год проблема с перерисовкой не решена, этот баг видимо не в приоритете.
Крайне не согласен, обслуживаю в промышленности промышленники на dos/98 и на winxp. Скады на xp валются, для них куча заплаток (прям как в статье написано: скрипты на перезапуск), 98 работает, как ни в чем нк бывало.
От датчика идет провод, все работает, но там, где вместо провода радиоканал-это просто дерьмо, но все вынуждены мириться даже сверху. Могу написать целую статью в поддержку автора и не понаслышке.
На win xp sp3 разбирались многие, даже представители скады, в итоге (не разобрались) только заплатка, которая через ~пол года дает сбои.
Я на "древнем" емаксе за 2 минуты делаю то, что любители всяких студий от некрософта пыхтят и мучаются мышкой по полчаса.
Если сравнивать тот же emacs с продуктами от JetBrains он проигрывает практически во всем, в чем сильна ide.
Если же сравнивать emacs с чем-то не ide, например, sublime — все работает практически так же быстро, если не наставить кривых плагинов.
Используя тайловый менеджер без единой анимации, я на порядок быстрее работаю за своих коллег с их гномами или кедами, потому что пока они мышкой наведут на окно, пока анимация, пока окно откроется, я уже сделал все необходимое и вернулся обратно в редактор. Все эти рюшечки только отвлекают от задачи и сильно бесят
О класс, и я так делаю. Я использую awesome WM и давайте я перечислю список того, что работает плохо:
- Lock screen по факту нормальный сделать нельзя или ад с xscreensaver или костыли с light-locker
- Виджеты — этой вещи практически не существует. Календарь, монтирование дисков, панель доступа в выключению — всего этого нет. Все нужно писать самому на lua или доставать из интернетов, а оно оказывается потом не работает или работает плохо, потому что в одном дистре поменяли формат работы с батарей, во втором поломали логику монтирования так далее. Реально хорошо работают только те программы, которые не привязываются к DE напрямую.
- Низкоуровневые баги, которые DE фиксят за вас. Например, из-за того, что я переключаю клавиатуру через xkbswitch оно все переодически отваливается и больше не переключает. Печалька.
А так да, довольно классный подход, но с теми же недостатками, что описали выше — авторы DE уже просто поели проблем, а вам это только предстоит и вы скорее всего просто заточите ваш тайловый менеджер под конкретную версию дистра и при обновлении будете страдать.
И не нужно мне так как хочу именно я. Я просто не понимаю (не возмущаюсь, а именно не понимаю), почему я вынужден либо выбирать комфорт и красоту кед (или винды), или удобное управление окнами но полностью убогое окружение в остальном.



Моё разочарование в софте