Автор: Анатолий Ализар (Хабр) по заказу RUVDS
В далёкие 90-е мы с нетерпением ждали релизов любимых программ с новыми фичами. Но с выходом MS Office 2000 (на скриншоте) стало ясно — что-то пошло не так. Оказалось, новые функции не только помогают, но и мешают…
И сейчас главная задача — отключить обновления во всех программах. Дошло до того, что приходится копаться в многолетних архивах того же uTorrent, чтобы найти версию без рекламы, которая работала нормально, пока не пришли бодрые менеджеры и не испортили программу на годы вперёд… То же самое по остальным инструментам, которые обрастают фичами и реально деградируют.
▍ Что больше всего бесит в современных приложениях
Даже нет смысла устраивать опрос, что бесит в современных приложениях. Слишком многое.
- Общая тормознутость (Electron и т. д.), лаги.
- Реклама (особенно в мобильных приложениях).
- Постоянные изменения интерфейса.
- Бесконечное добавление новых, ненужных фич.
Хорошо, когда у нас есть набор постоянных инструментов, которые не меняются. Тогда можно выбрать подходящие версии, настроить их оптимальным образом, изменить настройки и даже отредактировать код — и сохранить контейнер идеального рабочего места, который можно всегда носить с собой. На любом компьютере у вас будет идеальный набор оптимизированных инструментов.
Но есть же смартфоны, планшеты и мобильный веб, где ничего особо не сделаешь. Даже блокировщик рекламы работает ограниченно не во всех приложениях. И вот там мы наблюдаем хаос в полном масштабе.
Простой пример. Достаёшь телефон, открываешь приложение (или сайт), хочешь нажать кнопку, а она прыгает в другое место прямо перед нажатием!
Или другой пример — совершенно бестолковые подсказки при поиске (на скриншоте внизу).
И такое повсеместно.
▍ Засилье фич, усложнение программ
На десктопах такой же бардак. Если выйти за пределы своего рабочего контейнера с жёстко зафиксированными номерами рабочих программ, то снаружи открывается настоящая бездна хаоса.
Многие разработчики склонны постоянно добавлять в свои программы новые функции, так что через несколько версий начинается хаотическая мешанина. Это то, что называется «ползучее расширение функциональности» (feature creep).
Источник: amansinghblog
Есть мнение, что ползучее расширение функциональности — проблема менеджеров, которые упускают суть продукта и не знают, в каком направлении его развивать. Им нельзя бездействовать, потому что их тогда поувольняют за ненадобностью. Приходится заниматься имитацией бурной деятельности.
Maximum Viable Product
Чтобы остановить деградацию продукта, есть вариант установить «ограничение сверху», то есть зафиксировать его максимальную функциональность (Maximum Viable Product). Это «максимально жизнеспособный продукт», по аналогии с минимально жизнеспособным прототипом.
Идея в том, что дополнительные функции иногда ухудшают софт, а не улучшают его. Проблема ведь не только в захламлении интерфейса, но и в увеличении кодовой базы, затруднении поддержки, появлении новых багов, общем ожирении программы. Самый лучший софт — это быстрый софт. Все мы знаем примеры великолепных программ, которые на порядок быстрее и удобнее своих аналогов (Sublime Text, IrfanView, Figma и др.).
А главное — берегитесь инициативных менеджеров с кучей идей. Эти ребята способны развалить самый успешный проект.
▍ Зачем на всех сайтах чат-боты?
Всё больше сайтов добавляют к себе «Виртуального консультанта» — тупого чат-бота, который появляется через Х секунд после загрузки страницы (если страница открыта достаточно давно и вы якобы не можете справиться без посторонней помощи). Это ещё одна новомодная игрушка. Она обычно выскакивает в углу с примерно таким вопросом: «Здравствуйте! Меня зовут Татьяна! Чем могу вам помочь?».
В большинстве случаев она совершенно не нужна. Мне не хотелось ни с кем разговаривать. Я ведь не звонил по телефону, а именно поэтому открыл сайт. Обычно такой чат-бот свидетельствует только об одном: сайт начал какую-то маркетинговую кампанию и хотят что-то впарить.
Грустно читать истории операторов бота для аренды жилья типа «Как я стал чат-ботом». Они видят, как бот бессильно пытается помочь клиентам, хотя это невозможно даже живому человеку, потому что проблемы неразрешимые. Но таких ботов специально программируют на общение обтекаемыми фразами, потому что нельзя сказать «Нет». Шаг вправо или влево — и он сбивается со сценария. Оператору приходится брать управление на себя и говорить от лица бота.
При виде назойливой Татьяны первое желание — закрыть страницу и добавить её в блокировщик. Иначе «консультант» будет выскакивать при каждой перезагрузке страницы.
Теоретически чат с ИИ (особенно на основе современных движков CharGPT) действительно может быть полезен во многих ситуациях, тем более если он успешно проходит тест Тьюринга и обладает всей необходимой информацией. Но такое время пока не наступило.
Ну а сейчас выскакивающее окно чат-бота по назойливости можно сравнить разве что со всплывающей рекламой и спам-рассылками.
▍ Когда софт свернул на туда?
Персональный компьютер должен был расширить возможности человеческого интеллекта и разума, как «велосипед для мозга». С помощью компьютеров, смартфонов и интернета хомо сапиенс вроде должен был выйти на следующую ступень эволюции.
А что на самом деле? Иногда кажется, что высокие технологии в первую очередь используются против людей. Интернет стал инструментом авторитаризма, пропаганды и промывки мозгов. Смартфоны используются для слежки. Сайты жиреют, а софт обвешивается функциями и тормозит. Где же мы свернули не туда?
Мы как будто забыли о том, что компьютерный код нужно писать в первую очередь для чтения людьми, и только во вторую очередь для исполнения машинами.
"Programs must be written for people to read, and only incidentally for machines to execute." — Harold Abelson
— Programming Wisdom (@CodeWisdom), Twitter, June 23, 2021
По словам Гарольда Абельсона (основатель Creative Commons и FSF), любой новый код обязан частью своего существования кому-то другому и участвует как звено в цепи диалога. Веб-приложение находится в диалоге с языком и фреймворком, на котором оно написано, а его структура опосредована характеристиками TCP/IP и HTTP. Даже в процессе написания кода мы находимся в постоянном диалоге с компьютером, в среде программирования с подсказками, «копилотом», StackOverflow и гуглом (а сейчас и ChatGPT подключился).
Любой язык программирования заимствует лексику и концепции из других языков. Например, оператор if заимствован из английского языка, а туда — из немецкого. Таким образом, вся человеческая инфосфера взаимосвязана и развивается как единый живой организм. Красивая идея.
Поэтому и возникает вопрос: в какой же момент времени развитие этого организма свернуло не в ту сторону? Есть мнение, что большое количество инструментов приводит к решению проблем оптимальным способом для конкретного инструмента, а не по-настоящему наилучшим способом.
То есть язык (фреймворк, платформа) словно заставляет разработчика писать код таким специфическим образом, импортировать определённые объекты. Программирование стало похоже на сборку конструкции из готовых кирпичиков.
Есть ещё предположение, что в какой-то момент деньги стали не просто финансировать разработку ПО, а стали определять разработку, превратившись в главную причину, зачем вообще всё делается. Вы спросите, какая польза от этого нового проекта? Вам ответят: конечно, деньги, что же ещё? Главная функция приложения — делать ещё больше денег.
Если мы хотим полезные и производительные приложения без тёмных паттернов, лишних функций, рекламы и развода на деньги — нужно как-то изменить социальные стимулы. Когда корпорациям выгодно извлекать прибыль из слабостей человека, а людям — направлять ресурсы на бесполезный майнинг, то, наверное, механизм стимулов работает некорректно.
Радикальные анархисты могут сказать, что фундаментальная проблема в самом капитализме. Но пока мир не придумал ничего лучшего, придётся искать варианты внутри этой модели. Например, опенсорс и копилефт неплохо проявили себя внутри неё. Значит, не всё потеряно. Только им не хватает какого-то стимула, чтобы добро стало выгодным.
Если человек по своей природе — доброе существо, то хорошие поступки приносят ему радость, а боль окружающих вызывает страдания. В принципе, эта естественная природная система может работать и в экономике. Добро должно приносить бизнесу прибыль, а зло — приводить к убыткам. Теоретически, так должен работать правильный капитализм будущего в глобальном масштабе. А если что-то работает некорректно, то нужно разобраться, где мы свернули не туда. И в следующий раз не допускать таких ошибок. Может быть, рано или поздно получится построить правильную систему.
Комментарии
чернильное перо тоже не ломается...но надо иногда что то обновлять , так бы и катались бы в телегах.
какой то софт не меняется, а вот офисные программы ворд эксель это уже пережитки прошлого.
например сейчас есть монстр - электронный документооборот бумажных форм. заполняется док файл и отправляется по почте ))) надо менять? надо
и таких примеров куча.
Ненене, я вовсе не призываю затормозить развитие!
Ну как бы половчее сформулировать…
Скажем так, есть область ПО, которая вполне способна жить своей жизнью. Так сказать, «управляться рынком». Всякие удобства, мелочёвка и проч.
А есть области (условно назовём это «стратегическим ПО»), где контроль обязателен. Это то ПО, которым пользуются миллионы.
Считаю, там стандарты на форматы файлов документов, интерфейсы и проч. не могут быть в частных руках. Как случилось с *.doc, *.pdf, тем же flash и т.д.
Сорри, тут нужно простыню писать, с телеыония неудобно. Думаю, понятно, что я имею в виду.
а XML не прокатит?
типа документ должен содержать такие то поля в такой то кодировке. при этом как он выглядит на печати это другой разговор
хотя я xml не люблю , но что то лучше чем он нету. ну не json же...
Ну например!
Благо, что он опенсорсный.
Честное слово, JSON лучше.
Проблема в том, что во многих случаях только на это и обращают внимание.
Ну вот чудесный пример: XML описание интерфейса. Всё как положено: стандарт, спецификации и т.д. и т.п.
Вот так описано описание поле типа float[4] в структуре:
А вот как описано поле типа float* в функции:
Разницу видите, да? И я не вижу. Её нет. Она в контексте: мало того, что описание типа не между тегами <type> и </type>, так оно ещё разное для разных частей этого XML'я!
Зато вот если вот это вот всё превратить в HTML (или PDF), тогда опытный взгляд грамотного Cишника сразу заметит разницу.
Если “эффективным манагерам” дать волю то вот такое и получается: “машинно-читаемый XML”, содержащий, в base64, сканы PDF, сделанные с распечатанной документации. Вуаля!
Чем вы недовольны? Машинно-читаемый же документ! Вот и схема даже есть.
Как я вас понимаю ) Особо злит такое в портянках в 5-10 гигов ) Даже прелести sax чтения начинают блекнуть )
> Имеется файл 1.4Гига текстовых данных, чем открывать?
О, сколько нам открытий чудных
Готовит файл на гигабайт!
Иль логи там работы трудной?
Иль на кого-то компромат?
© ЛОР
Главное что они в одну строку ) И читалка ругается на символ 438739 в строке номер 1
man sed
man tr
Да да и еще окошко в 100 символов в одну и другую сторону чтоб контекст понять и почему заданные данные не сходятся со своей же схемой валидации. XML придумал сумрачный гений. Лучше бы классический TLV пользовали как стандарт )
За xml надо сжигать. Из ранцевого огнемёта струёй напалма в харю. И за распространение информации, не предполагаемой к печати на нестандартных размерах листа и последующему преплёту, в формате pdf.
Человечество уже придумало новый геморой. Называется yaml
Его можно распечатывать ... ноооо ...
Пока не сталкивался. А с эксемелем приходится мучаться. И тысячный раз пытаться найти не угробленный пэдээфом файл хотя бы для того, чтобы его можно было читать с мобилы.
Там вложенность задается знаками пробелов или табуляции, как в питоне. Все современно-молодежные конфиги на нем работают.
А. Ну, значит потребуется второй баллон огнесмеси...
Сколько раз, в свое время, зачитывая справочник по winAPI на третьи сутки, я мечтал как выстрою разрабов у серой стены и начну стрельбу с коленных чашечек плавно поднимая ствол. Слава богу те времена давно минули. Теперь я мечтаю о жуткой смерти для разработчиков kubernets, python и tensorflow c ray
я же не сказал что он идеален, имхо увы он лучше чем всё остальное.
если вы знаете что есть лучше , напишите json,lua,yalm ,py не предлагать
А так-то sed (или tr) позволяют в одно касание превратить такого однострочного монстра в нормальный многострочный файл. С которым уже проще работать.
Есно все решаемо. Просто геморою до жути. Напоминает старые добрые времена. Когда валидность файла выгрузки из одной программы налоговой надо было проверять в другой программе налоговой. )
Угу. Что характерно, эксемель от этой проблемы ну вот ни разу не избавляет...
кривожопость разрабов этот не проблема xml
На odt формат есть стандарт ISO/IEC 26300:2006.
В то время как doc и прочие - нет. Дело осталось в воле применения стандартных документов, а не M$ отсебятины.
То, что порождает Microsoft тоже протащили через ISO. Как ISO/IEC 29500-2:2021.
Офигительный совершенно “международный стандарт”: каждые пару лет обновляется, чтобы соответствовать последней версии MS Office.
Именно в этом направлении, не MS Office правится для соответствия стандарту, а стандарт правится для соотвествия MS Office.
Но документы, печати, штампы, всё имеется.
Пока Россия не начнёт требовать ГОСТы и сама будет их писать этот вариант, увы, не прокатит.
Для этого надо в области стандартизации и техрегулирования устроить что-то аналогичное регуляторной гильотине в законодательстве, - тотальный пересмотр стандартов на предмет соответствия современным требованиям и научным знаниям. Как минимум!
Сразу вспоминаются успехи лоббирования особенностенй реализации мелкомягких поделий в корпоративных регламентах.
Мало пересмотреть стандарты... нужно заставить всех не только их использовать, но и переписать используемый софт под новые стандарты.
Это с законами просто - переписал кодекс, утвердил... и все на него завязанные судорожно бросаются переписывать свои документы...сами... ибо придет прокуратура и вынесет все что найдет.
А тут переписать, да еще и бесплатно.
И да, при всем идиотизме решения, оно как бы не единственное.
Росреестр ранее выдавал в качестве ответа исключительно xml... его открывали в ИЕ, который подтягивал таблицы стилей и/или форматы документов и приводил эту пакость в читаемый вид.
И был период, когда нормально это дело подтягивал исключительно ИЕ... но не просто так... нужно было в настройках ИЕ запихнуть сайт росреестра в доверенную зону и вручную ему еще каки-то дополнительные права дать.
Увы…
«Звучит как приговор суда.
За нарушения принципов SOLID в особо крупных размерах и использование undefined behavior согласно статье 1.3.12 ISO/IEC 14882:1998 суд приговорил проект к 40 годам обратной совместимости.»
До слёз!
А было бы отлично!
вы не соблюли принцип барбары брыльски - на галеры
Слава богу человечество изобрело контейнеры и виртуализацию ))))) У нас ряд, гмм, специфичных серверов живет с 2001 года плавно переехав в виртуальную реальность
Причем теперь даже если x86 отменят, всегда есть bosch и прочие эмуляторы )
Контейнеры и виртуализация — это костыли, ни фига не компенсирующие деятельного стремления к не-знанию главной задачи. Каковое потом обязательно аукнется.
Ну я тоже, особенно когда выпью, могу выйти на веранду и обращать кулаки к звездному небу с криком доколе ) Но костыль позволяет оставить нужную версию и жить с этим десятилетиями )))
А чтоб не аукнулось надо стремится идти в отказ от проприетарщины, закрытых форматов и т д. И будет аукаться но не шибко сильно. Конвергентные среды мать их.
Т.е. Человечество Разумное находит и способы борьбы с вселенским Злом производителя.
Человеки они такие да. )
Точняк.
О да. Помню делал в юности. Дхтмл и максимум это маусмувон мув офф для живости и все в виде таблиц. Занимало килобайты, летало на диалапе и функционал выполняло с лихвой.
Главное больше тегов marquee, прости хосподи
- Ну, где - надо, там уже всё давно построено...
А в наших частных и субъективных ручонках имеет смысл_(как и во всех аспектах жизни) выбрать те софтовые причиндалы, которые проверены временем, крякнуты и прекрасно выполняют свои задачи!
Как известно: лучшее - враг хорошего...
Вот, например, много лет пользуюсь ещё только вот-вот русифицированым аудиоредактором Adobe Audition самой первой версии, бывший Кул Эдит, мне во всех отношения он - достаточен, более того, 80 % его функционала я даже не использую...
Или, оффисный пакет от мелкософта у меня 2003 года, портабельный вариант, прекрасно работает...
Так же и по всем другим позициям!
А всякие новые фичи ставят или те, кому делать - нех, или - несмышлёныши...
Лучше всего - портативные варианты софта, без всяких обнов, и - никаких проблем!
ставьте, где только можно линукс. где нельзя - чистить реестр от гуано, следом проверить как робит, сфотографировать годную сборку (сделать копию реестра) и наслаждаццо. а детище иврея гейтса я нах выбросил. при том ни разу не вспомнил про жыдовскую поделку. и настроен так, что если б попался он мне я б его ... ну вы в курсе. даже если б потом и наказали меня. я тут полгода работал в коллективе конструкторов железячников это была куликовская битва. на меня даже пару раз пейсали закладную дописку. был разбор полётов с участием босса, босс наставил жалобщикам калмычек и ку заставил делать в наморднике и в клетке. а когда я уволился (зажали пенёнзы) пришлось три раза приходить. правда бабки на стол потом работа. и вишенка я поставил боссу линукс на личный бук и он уже лет 8 пользуется. но он не конструктор. а новый сисястый алмин снёс моё творчество и начал носится. вместо того чтоб почивать на лаврах но это другая история.
BVP 47 и мартовские обновления как бы намекают что ваша методичка устарела.
Уничтожение оптимальной конструкции/системы происходит везде. Просто всегда и везде.
Но нагляднее всего это видно в автостроении.
Приходит клиент на рынок и видит много больших, мощных и дорогих автомобилей. Вздыхает и уходит.
Но внезапно на рынке появляется новинка типа фольсваген-гольф/тойота-терсел/джип-самурай. Маленькие, простые, дешевые
Покупатели приходят в восторг и сметают их с прилавков.
Как здорово! -- потирает руки производитель -- а давайте сделаем эти машины побольше, помощнее и подороже, и заработаем побольше бабла!
А потом: ой, а почему это у нас машины больше никто не покупает?
Вот и в программировании тоже самое.
Едва появляется хорошая популярная программа -- как производитель тут же начинает ее ухудшать всеми возможными способами с одновременным ростом цены.
И потребитель опять вынужден искать что-то другое.
Не совсем сразу. Тут как и с автомобилями.
Про тот же офис многие говорят, что лучшая версия где-то от 97го до 2003го (хотя если про 97й я ещё могу сказать что там объективно полезного, то в 2003м уже только поддержка OOXML опциональная, которая нужна исключительно потому что Microsoft успешно впаривает более новые версии).
То есть когда выходит самая первая версия (хоть офиса, хоть фольксвагена) то там есть объективные недоработки, которые не успели просто доделать.
Насколько лет их доделывают, продукт объективно улучшается, а потом оказывается что продукт уже делает всё что хотели, когда его затевали, а инженерам-то за что-то зарплату платить нужно!
Коммерция победила! Отсюда все беды. Если даже блоги заводят ради денег, а не для творчества! О чём можно разговаривать!
Этот мир спасёт только единообразие! Пока все строем ходить не будут - никаких перспектив на спасение.
гыгы. Хомячок (наш, русский) живет в западном "капитализме". И вместе с западными хомячками обвиняет неких мифических "анархистов" в том, что те, дескать, плохо отзываются о капитализме. И в этом есть какая-то проблема...
Хомячку невдомек, что западный капитализм давно сдох, сгнил, даже перестал вонять. И теперь в том спектакле войну бумажных "анархистов" и "коммунистов" со скелетом "капитализма" отрабатывают для того, чтобы кастрировать миллионы детей.
Цитата:"Есть мнение, что ползучее расширение функциональности — проблема менеджеров, которые упускают суть продукта и не знают, в каком направлении его развивать. Им нельзя бездействовать, потому что их тогда поувольняют за ненадобностью. Приходится заниматься имитацией бурной деятельности."
Если попилевину, то это имхо концепт проблема (исполнителей) - "кому именно мозги конопатить?"( Заказчику, или целевой группе пользователей?)
Если шире, то вопрос приоритетов,- а кто у нас главный? ( Чьи хотелки воплощаем в первую очередь? Денежных шизоидных клептоманов? Обслуживающих их исполнителей? Общество пользователей Изделия?) Технически, это вопрос к способности и мотивации ведущего специалиста понимать цель проекта, иметь Образ оптимума и намерение его воплотить в жизнь, ну и там неизбежная впечатляющая Личная ответственность за результат; и в плане наказания и в плане поощрения.
Все проблемы от ублюдошного мировоззрения и соответственной нравственности в общем.
( имхо разумеется)
А вообще это жестоко ещё на три дня по моему. Большинство камрадов сейчас ведёт борьбу за жизнь - льдом об голову спасаясь, или ядаом яд попирая, а вы тут мозговые штурмы разводить пытаетесь.
Бесчеловечно это.
Не нужно ничего искать “внутри” капитализма. Внутри капитализма ничего нет.
Прочитайте, хотя бы, первую строчку той же википедии: капитали́зм — экономическая система производства и распределения, основанная на частной собственности, юридическом равенстве и свободе предпринимательства.
Так вот “юридическое равенство” тут — ключевая фишка. Капитализм может решить любую проблему, решение которой кто-то, кто вне капитализма, сделает выгодным.
С капитализмом не нужно бороться, не нужно его искоренять — но и не нужно ему потакать. Капитализмом нужно управлять.
Собственно глобализм, отказавшийся от этой деятельности и провозгласивший что капитализм может сам решать куда двигаться и привёл вот к этому всему.
И не зря вы упомянули именно Microsoft Word 2000: как раз к этому моменту последователи пресловутого конца истории развернулись вовсю и провозгласили, что ничего, кроме прибыли, никого волновать не должно.
Нужно искать смыслы, нужно думать что мы, как государство или как содружество государств, хотим сделать. И делать это.
А капитализм — это инструмент. Вы же не жалуетесь на то, что автомобиль будет ехать в случайном направлении, если в нём нет шофёра? Вот и с капитализмом всё так же.
Там картинка с Word2000 провокационная. Зачем-то некто из именно пользователей, а не самих программистов, вынес все панели напоказ. Но это личное дело каждого как настроить Word.
И, тем не менее, какие объективно полезные фичи появились в MS Office с 95го года (а реально так и с MS Office 4.3)?
Я могу навскидку вспомнить только:
То есть в MS Office 97 — это ещё что-то, о чём просто до того “не додумались” изначально (Unicode появился в 1991м, так что в первой версии MS Office, которая в том же году появилась его быть не могло), в MS Office 2000 и MS Office 2003 все жизненно важные улучшения — поддержка форматов, которые какие-то маркетологи смогли на рынок подвинуть.
Страницы