Субботнее
- Войдите на сайт для отправки комментариев
Сб, 22/09/2018 - 13:45
Вот наткнулся на хабре на такой вот крик души - https://habr.com/post/423889/ (на самом деле, перевод вот отсюда - http://tonsky.me/blog/disenchantment/ )
Копировать не стал, т.к. там обсуждение порой интереснее оригинального текста. Кому интересно - сходите.
Советую почитать: Алан Купер, Психбольница в руках пациентов.
Собственно, именно так авто образно характеризует состояние дел в области разработки программного интерфейса.
Та ладно. Вам не нужна домашняя машина для изготовления хот-догов с доставкой их прямо в рот. https://www.youtube.com/watch?v=TaxUhrCv8YA
Евгений, спаибо за интересное чтение ;)
Вот наткнулся на хабре на такой вот крик души - https://habr.com/post/423889/ (на самом деле, перевод вот отсюда - http://tonsky.me/blog/disenchantment/ )
Копировать не стал, т.к. там обсуждение порой интереснее оригинального текста. Кому интересно - сходите.
P.S. Ещё забавнее похвалы от копрокодеров, тех, кто сам в этом погряз по самые уши.. кукушка хвалит петуха за то, что хвалит он кукушку. Ни дать ни взять. :)
P.P.S. "Конкуренции тоже нет. Все строят одни и те же медленные, раздутые, ненадёжные продукты."
Всё гораздо хуже: нет не только конкуренции, копрокдерство агрессивно внедряется в жизнь, ибо всё уже давно написано. Работа ради работы.
Ну и вот это, отлить в граните: "Не нужно быть гением, чтобы писать быстрые программы. Здесь нет какой-то магии. Единственное, что требуется, — это не строить софт на базе огромной кучи дерьма, которую поставляют современные инструменты."
Этот коммент запощу отдельно, собственно практически "слово в слово" с тем что писал раньше, и за что тут на меня нападали копрокодеры:
Если же задаться целью понять почему так получилось, то нужно обратиться к истории.
Причина деградации ровно одна — грубые ошибки в проектировании популяных технологий. Не очевидно, но я объясню.
Например, возьмем хороший пример — Delphi.
У Дельфи очень низкий порог входа — т.е. научиться клепать на ней формы мог почти кто угодно. Дельфи имела в свое время очень обширное коммерческое применение — т.е. под нее было много вакансий, на этом рынке крутилось много денег. Но при этом она была прекрасно спроектирована. Благодаря этому, даже у криворуких разрабов получались более менее качественные приложения, они не занимали сотни мегабайт, не требовали жирных фреймворков и виртуальных машин и быстро работали на любой системе. При этом новоприбывшие разрабы учились более менее хорошим подходам и дальше либо становились нормальными разработчиками, либо оставались плавать в собственном соку в рамках Delphi-экосистемы и никому не мешали.
А теперь возьмем плохой пример — клиентский веб-стек. С него все и началось.
Тут все похоже. Низкий порог входа — куча джунов. Сайты — это новый огромный рынок — востребованность разрабов, еще больше джунов. Но, клиентский веб-стек это набор грубых ошибок и костылей, описывать их по двухсотому кругу смысла нет. Что получилось в результате — прорва разрабов, которые не умеют нормально программировать, и при этом даже этого не понимают и считают себя Senior Full Stack Developerами. Которые впитали костыли и кривые принципы разработки и думают что так и надо. Которые думают что пресловутый это такой прием разработки, а не ужасающий костыль. Но хуже всего то, что востребованность таких разрабов привела к тому, что они еще и не хотят учиться другим стекам и технологиями.
Пока фронтенд-js-комьюнити варилось в собственном соку, все было более менее хорошо. Все уже привыкли что браузеры тормозят, а сайты глючят. Но в какойто момент js-комьюнити начало переливаться в другие сферы. Сначала на бекенд — node.js, затем на мобилки — всякие fonegap, а теперь и на декстоп — Electron.
Далее, эта волна вышла на новый уровень, разрабы с js-бекграундом начали лезть в другие языки со своим костыльными практиками, в Android, в Go. Вы только почитайте статьи про Go, сколько там слепого догматического обожания от бывших джиесеров.
Android тоже добавляет масла в огонь. В конце нулевых под Android восновном писали разрабы старой школы, которые мирились и обходили откровенно ужасные косяки в проектировании системы. Но потом пришли новоприбывшие бывшие школьники, смешались с выходцами из js-комьюнити, и решили что все то говно, что есть в Android SDK это манна небесная.
К нынешнему моменту уже выросло целое поколение андроид синьеров, программирующих исключительно добавленем фреймворков и рассуждающее неадекватными паттернами вроде MVP и не понимающих что уничтожение Activity при повороте экрана это кромешный писец, а не нормальное решение.
И пути назад нет. Бизнесу нужно решать свои задачи, и ему под это дело нужны разрабы. Маховик продолжит крутиться и будет плодить все новых и новых фейковых синьеров. И эти синьеры будут дальше развивать и создавать новые технологии, аналогичного хренового качества. А эти технологии уже будут плодить еще более криворуких разрабов. И так далее.
Круг замкнулся, мы сейчас имеем фактически новую школу разработчиков — которая раз за разом воспроизводит деградировашие кадры.
Остается надеяться что этих фейковых сеньеров хватит лишь на создание очередного безполезного фреймворка с модной иконкой, и этот порочный круг разорвется
margin: 0 auto
Мне кажется, что именно насаждаемая конкурентная модель "Выпускаем это дерьмо в релиз или это сделают наши враги" как раз и привела к текущей ситуации. Да и потребителю всё больше в мозг вбивают, что "если нет никакой разницы, то зачем платить больше".
Никто уже не носит одни и те же ботинки 30 лет, т.е. не готов платить за дорогой товар, служащий полжизни. Общество делает ставку на дешевые модели, сменяемые раз в два года. И этот принцип распространился везде - и в быту и программировании...
Это случилось на моей памяти, и причину я всегда видел только одну: необходимость продать НОВОЕ железо. Сейчас вся армия копрокодеров занимается усиленно именно этой задачей. Просто они не знают..
Никаких иных причин нет. Когда-то и сам свято верил что программ размером больше 8 (восьми) КИЛОбайт .. не бывает, ибо НЕЗАЧЕМ. :)
Это ровно то, что пишу тут уже который год
Нет, не то, просто Вы разницы не понимаете.
Вы, ЕвгенийП также спорили ранее. Неужели "дошло"? Не верю!
Если Вы о том, что "Вы пишете который год", то правильно не верите. Такое до меня дойти не может. Мы с Вами "в разных лигах" и в моей лиге так не играют.
А вообще, у нас с Вами, кажется имеется пакт о ненападении. Я Вас не трогаю от слова вообще, какого же чёрта Вы на меня наскакиваете уж который раз? Давайте соблюдать договорённости.
Не "нападаю". Просто Вы - автор топика и с этим ничего не поделать. Насчет разных лиг - полностью согласен: я на стороне автора статьи, а Вы - по иную сторону вопроса.
Согласен с изложеным фактическим материалом.
Добавлю живой пример http://arduino.ru/forum/programmirovanie/arduino-i-mysql
Человеку надо управлять состоянием нескольких бит в контролере - "радиокнопками - выбор режимов.". MySQL, Http сервер.
необходимость продать НОВОЕ железо. Никаких иных причин нет.
Есть. Новый фрейморк обещает золотые горы, все и сразу, без напрягов. Джун его освоил, оказалось еще и куча гамнища в придачу. Лепит проекты на нем, пока сверхновый фреймвор не появится. С ним история повторится. Так и живет, зоопарк фреймворков и эверест навоза от них. Люди падки на халяву и не замечают поначалу негатива от нового. А расход машинных ресурсов вообще в расчет не берут.
Никто уже не носит одни и те же ботинки 30 лет, т.е. не готов платить за дорогой товар, служащий полжизни. Общество делает ставку на дешевые модели, сменяемые раз в два года. И этот принцип распространился везде - и в быту и программировании...
не надо забывать, что во времена. когда ботинки служили по 30 лет - у подавляющего большинства населения хватало средств только на одну пару. которую они носили всю жизнь и потом в них же ложились в гроб. У них просто не было возможности менять обувь часто. поэтому приходилось беречь ту. что есть.Так что проклиная "копроэкономику", надо в тоже время отдавать ей должное - именно благодаря ей сейчас даже скромный клерк может позволить себе иметь десятки пар обуви на разные случаи.
Ровно так же в любых других областях. Удешевление производства позволяет делать его массовым. Общее снижение качества - неизбежная плата за широкий охват, только и всего.
необходимость продать НОВОЕ железо. Никаких иных причин нет.
Есть. Новый фрейморк обещает золотые горы, все и сразу, без напрягов. Джун его освоил, оказалось еще и куча гамнища в придачу. Лепит проекты на нем, пока сверхновый фреймвор не появится. С ним история повторится. Так и живет, зоопарк фреймворков и эверест навоза от них. Люди падки на халяву и не замечают поначалу негатива от нового. А расход машинных ресурсов вообще в расчет не берут.
Это побочное следствие. Ключевая фраза тут "новый фреймворк обещает золотые горы" .. вот его афтор-копрокодер как раз и занят (и то, тоже опосредовано!) решением озвученной задачи.
Как пример - история создания И развития фреймворка .. ну скажем "Ангуляр" .. сделано на коленке, очень не грамотно, но .. "от самого Гугля" .. и понеслось. И даже "сам Гугль" в этой поделке заинтересован .. косвенно, ибо "не производитель железа" ни разу, но связан с ними по самое не балуйся. Весь процесс сейчас настолько сильно прослоен и как следствие завуалирован, что увидеть это можно только в "ретроспективе", ибо все эти гугли, майкрософты, и-бэ-эмы .. это "всё одна корпорация", пардон шайка-лейка. :)
Впервые до меня сия истина дошла в 1996г. Тогда точно также мне коллеги "не верили" и возражали .. только некоторые позже, поработав в т.ч. в "майкрософтах" нашли мужество признаться и даже извиниться. :)
Все эти "фреймворки" .. это морковка перед носом джуниора и копрокодера. Не больше того. Осел должен тащить тележку прибыли производителей. :)
Ровно так же в любых других областях. Удешевление производства позволяет делать его массовым. Общее снижение качества - неизбежная плата за широкий охват, только и всего.
Вы категорически ошиблись. Ручное, мелкосерийное, массовое, роботизированное производство - это цепочка снижения себестоимости продукции и практически до нуля. А вот качество оной, в этой цепочке только растет, а не снижается. Ибо точность роботизированного производства не в пример выше ручного, а стало быть и надежность.
Общее снижение качества - это исключительно и неотьемлемая черта именно копроэкономики, которую мне очень хорошо и наглядно высказал в конце 90-х директор одного завода: -"Понимаешь ли .. ну вот настрогаю я пылесосов со сроком службы в 15-25 лет .. не проблема. И клепать я их могу по миллиону в месяц. Только вот наклепаю я каждому по 3 пылесоса и, что мне потом .. завод закрывать, а людей куда, на улицу?"
Проблема копроэкономики гораздо глыбже, чем нам всем тут кажется.. просто её особенности в области ИТ - наиболее выпуклы, и наименее влиятельны на жизнь людей в целом .. пока. Но это сильно не надолго. Ибо ларчик кладовой ресурсов уже близок к исчерпанию .. нефть уже "земляне скребут по донышку".
Текущая ситуация на рынке "фреймворков" (специально взял в кавычки) в вебе - имхо, тупо конкурентная борьба за человекоресурс. Ясное дело, что всего знать невозможно - узнавалка опухнет и отвалится, поэтому весь этот цирк - какая-то дичь, пир во время чумы. Пролистал тут на днях доку по React - и в ужасе, какой ущербной душонке пришло в голову описывать в JS элементы вот так:
За один этот архитектурный про@б - надо расстреливать в голову, ибо - всё смешалось в доме Облонских, мешать мух с котлетами - это модно, это по современному. Я бы ещё в труп такого "архитектора" выстрелил, чесслово. Не говоря о том, что - чтобы это говно собралось в нормальный JS, надо поставить npm корявый, вытащить всякие babel и прочую, пардон, херню - веселуха и секас вприсядку.
В остальном - те же яйца jQuery - только с намазанным сверху майонезом. Спрашиваю молодого коллегу, постоянно бредящего изучением очередного фреймворка: зачем, говорю, применительно вот к этой вот конкретной задаче тащить всю эту телегу говна, если для решения вот для этой вот конкретно задачи прекрасно подойдёт быстрая имплементация, написанная ручками, даже без jQuery? Ответ: ты, мол, нихера не понимаешь, так удобнее. Всё, финиш - выросло поколение девелоперов, которые не могут руками писать код. Не говорю за всех, конечно, но - тенденция превращения профессии из искусства в ремесло - работает, и продвинулась уже на 90% на своём пути. Когда говорю, что программирую в "блокноте" - смотрят как на мудака. И бесполезно объяснять, что именно такой подход в свое время натренировал мозг на способность держать всё дерево проекта в голове, и вообще - писать вдумчиво и практически без ошибок времени написания. Не поймут: а как же IntelliSense, автокомплит, быстрый переход по методам и т.п.? А это, опять же - майонез на яйцах, без которого, при желании, вполне можно жить. Тут пойнт не в том, чтобы отказаться от реальных удобств (юзаю всё, в той же Студии мелкософта), а скорее в том, что косвенно эти удобства убирают необходимость критически мыслить, вследствие чего появляются тонны архитектурного навоза, типа приведённого куска кода выше. Одна строчка - и сколько в ней боли!
Поэтому стараюсь с вебом и не связываться: только выучишь какой-нибудь Laravel, запилишь на нём пару-тройку проектов, юзая тот же Bootstrap - как оказывается, что оно уже не модно, и Bootstrap неактуален, и вообще... Дичь. При этом сайты, писанные под простейшую связку PHP+Smarty ещё десяток лет назад - по прежнему летают, как угорелые, а современные... ну как сказать, если честно? Особо не вижу какого-то прорыва, скажем так.
В целом со статьёй согласен где-то на 60%, ибо есть, в любом случае, много нюансов, требующих отдельного разложения на множители и обсуждения.
Архат, тут никакго "заговора". Это совершенно логичное развитие прогресса.
Вот простенький пример.
Возьмем какое-то устройство, питаемое постоянным током. Если его воткнуть в БП правильно - оно работает, если перепутать "плюс" с "минусом" - идет дым. К тому, что у части юзеров устройство дохнет при первом же включении, все привыкли, на их жалобы никто не обращает внимание и в лучшем случае отвечают "RTFM".
Потом приходит умный человек и восклицает "Почему люди, далекие от техники, должны напрягать мозг, вспоминая. что такое плюс и минус?" - и добавляет в БП зашиту от переполюсовки. Устройство получает конкурентное преимущество, хорошо продается, все довольны, и даже цена почти не выросла, потому что можно же слегка уменьшить сечение проводов :) очень быстро подтягиваются и конкуренты и можно легко представить, что через 10 лет все БП на планете буду оборудованы маленьким дополнительным модулем. Причем даже те, чей штекер подключения чисто физически невозможно вставить в розетку "наоборот".
Если теперь придет какой-нибудь местный Архат и станет предлагать свои БП - которые легче, экономичнее, но не имеют защиты от переполюсовки - он пргороит. Потому что 99% процентов населения давно вообще забыла, что у провода бывают полюса, а тот 1%, что помнит - делает БП сам.
Изначально никто не планирует делать фреймворки медленными и тупыми. Просто в них встроена "защита от переполюсовки" на каждом уровне, чтобы "далекие от техники люди могли не задумываться". А дальше эти "далекие от техники" проектируют новые версии этого же фреймворка на своем уровне понимания. Но сколько не призывай от них отказаться - это в принципе нереально, потому "понимающих" никогда не бывает много, а современная индустрия рассчитана на массовость.
Изначально никто не планирует делать фреймворки медленными и тупыми. Просто в них встроена "защита от переполюсовки" на каждом уровне, чтобы "далекие от техники люди могли не задумываться". А дальше эти "далекие от техники" проектируют новые версии этого же фреймворка на своем уровне понимания. Но сколько не призывай от них отказаться - это в принципе нереально, потому "понимающих" никогда не бывает много, а современная индустрия рассчитана на массовость.
Вот - часть тех 40%, о которых писал выше ;) Вспомнилось: благими намереяниями вымощена дорога в ад - так, кажется? Диалектика бытия.
каждое следуещее поколение вынуждено вбивать в голову все больше и больше различных знаний и сведений. А мозг-то за последние столетия не вырос. Так что мы можем уверенно рассуждать о куда большем числе тем, чем человек 100-летней давности. зато в большинстве своем знаем все поверхностно. Это обьективный процесс.
Изначально никто не планирует делать фреймворки медленными и тупыми.
Вы оптимист и очень хорошо думаете о людях.
DIYMan, неистово плюсую. По поводу веба и фреймворков запомнилась статейка на Хабре двухлетней давности - Каково оно учить JavaScript в 2016 . Читал и ох@евал...
P.S. Веб это одно из моих хобби. Дальше чистого JS и jQuery не продвинулся :-) И то давно было...
Вобще паралели ИТ с массовым производством не совсем корректны. Произвести вместо одной пары милион пар качественных ботинок - надо в миллион раз больше качественного сырья и заставить намного больше людей работать качественно. Это не всегда реально и экономически оправдано. А написать одну качественную ОС (компилятор, браузер, редактор...) вместо дерьма - это затраты всего в разы больше, потом копируй почти даром милион копий. Специфика нематериальности ИТ должна бы в пользу качества работать, а по факту - нет.
Вообще-то вы забыли закон капитализма.. Ну да где тема а где капитализм. Но я продолжаю. Нужен всегда баланс между производством и потребением. Что такое производство . Это все более мощные чипы с быстродейсвием и расширенной апааратной частью. Сможет это обычный новичек потребить. Ну и зачем это для мигания на светодиодах, да емкость рынка свето-мигалок маловата. Так что надо помочь потребителю потребить все ресурсы все более мощных чипов, да так что бы еще и захотелось побольше. Джава жрет больше чем Си . Замечательно . Мышеклик программирование еще больше замечательно . Надо еще сделать так что бы программист наговорил задачу в Гугл и Гугл нарисовал код. Да это золотое дно. Так что ждите "супер программистов" с хорошими навыками дикции на английском языке. Хотя аудио перереводчик с местного на английский программисткий Гугл тоже нарисует, что бы расширить рынок потребления.
ПС: Но похоже что пока этот форум берет фунции "нарисовать бесплатно кому-то программу только за то что он написал на форуме тему". Гугл -програмист сделает это "бесплатно", только если кто-то купит "золотое железо"
А потом гугл-программисты станут такими. Потому идиотов заказчиков программ надо отстреливать.
О, я бы не отказался посмотреть на генерированный гуглокод по описаниям некоторых участников форума. Придется джва года ждать...
О, я бы не отказался посмотреть на генерированный гуглокод по описаниям некоторых участников форума.
Не боишься, что "весь мир в труху!" ? :)
О, я бы не отказался посмотреть на генерированный гуглокод по описаниям некоторых участников форума.
Не боишься, что "весь мир в труху!" ? :)
эт точно! гарантировано! просто за счет потребления электричества на вычесления уровня 2+2
На этот случай у меня имеется труа бутыль де водка в горячем резерве. Как только разлом по земле пойдет - приму немедля.
Стоит почитать совр. тенденции в автокодинге, а также в применении ИИ в задачах управления. Теперь уже(!) ИИ вполне себе увольняет сотрудников, принимает решения по выдаче кредитов и мн. где ишо. Ежели учесть уровень его разработчиков, что обсуждается тут, а также невозможность детерминированно разобрать источник принятых решений таким ИИ .. в общем .. Скайнет - отдыхает. Человечество само впарит ему все функции управления и разработки. Ещё и уговаривать будет. :)
Вобще паралели ИТ с массовым производством не совсем корректны. Произвести вместо одной пары милион пар качественных ботинок - надо в миллион раз больше качественного сырья и заставить намного больше людей работать качественно. Это не всегда реально и экономически оправдано. А написать одну качественную ОС (компилятор, браузер, редактор...) вместо дерьма - это затраты всего в разы больше, потом копируй почти даром милион копий. Специфика нематериальности ИТ должна бы в пользу качества работать, а по факту - нет.
Ладно, выпустил ты пару качественной обуви - она хоть через 30 лет, но износится.
А выпустил ты качественную ОС - что делать? Закрывать "завод", увольнять "рабочих"?
Так что специфика нематериальности ИТ должна в обязательном порядке прелдусматривать моральное старение (раз уж физического старения нет).
Так "работяги" софтовых полей легко перестраиваемые на новую задачу, кончили ОС, пишем браузер. А потом ИИ, там можна долго и много ;) А моральное старение - оно присутствует всегда. Куда не глянь - от разрядности систем и языков программирования до цветовых схем и стиля фронтенда. Это нормально, если это естественно, а не искуственно создается. Плохо когда моральным старением оправдывают замену старого, не очень качественного, на новое еще более тормозное и глюкавое. Меняют морально устаревший глюк на 2 новых ))