Раньше:
— Любой школьник мог взять Delphi 7 и с минимальными усилиями сделать windows-приложение, которое ужасно выглядит и медленно работает.
— Средний программист мог взять Delphi 7 и с минимальными усилиями сделать windows-приложение, которое нормально выглядит и нормально работает.
— Хороший программист мог взять Delphi 7, заморочиться, и сделать windows-приложение, которое хорошо выглядит и хорошо работает.
Сейчас:
— Любой школьник может взять Electron, неделю смотреть видеоуроки и настраивать тулчейны, потом сделать приложение, которое хорошо выглядит и медленно работает под любой платформой.
— Средний программист может взять Electron и с минимальными усилиями сделать приложение, которое хорошо выглядит и медленно работает под любой платформой.
— Хороший программист может взять electron, заморочиться, и сделать приложение, которое хорошо выглядит и медленно работает под любой платформой.
— Компания Microsoft может взять Electron, заморочиться, и сделать приложение, которое ужасно выглядит и медленно работает под любой платформой.
Если же задаться целью понять почему так получилось, то нужно обратиться к истории.
Причина деградации ровно одна — грубые ошибки в проектировании популяных технологий. Не очевидно, но я объясню.
Например, возьмем хороший пример — Delphi.
У Дельфи очень низкий порог входа — т.е. научиться клепать на ней формы мог почти кто угодно. Дельфи имела в свое время очень обширное коммерческое применение — т.е. под нее было много вакансий, на этом рынке крутилось много денег. Но при этом она была прекрасно спроектирована. Благодаря этому, даже у криворуких разрабов получались более менее качественные приложения, они не занимали сотни мегабайт, не требовали жирных фреймворков и виртуальных машин и быстро работали на любой системе. При этом новоприбывшие разрабы учились более менее хорошим подходам и дальше либо становились нормальными разработчиками, либо оставались плавать в собственном соку в рамках Delphi-экосистемы и никому не мешали.
А теперь возьмем плохой пример — клиентский веб-стек. С него все и началось.
Тут все похоже. Низкий порог входа — куча джунов. Сайты — это новый огромный рынок — востребованность разрабов, еще больше джунов. Но, клиентский веб-стек это набор грубых ошибок и костылей, описывать их по двухсотому кругу смысла нет. Что получилось в результате — прорва разрабов, которые не умеют нормально программировать, и при этом даже этого не понимают и считают себя Senior Full Stack Developerами. Которые впитали костыли и кривые принципы разработки и думают что так и надо. Которые думают что пресловутый margin: 0 auto это такой прием разработки, а не ужасающий костыль. Но хуже всего то, что востребованность таких разрабов привела к тому, что они еще и не хотят учиться другим стекам и технологиями.
Пока фронтенд-js-комьюнити варилось в собственном соку, все было более менее хорошо. Все уже привыкли что браузеры тормозят, а сайты глючят. Но в какойто момент js-комьюнити начало переливаться в другие сферы. Сначала на бекенд — node.js, затем на мобилки — всякие fonegap, а теперь и на декстоп — Electron.
Кстати, кто тут утверждают про что плохого в Electron? Это же просто абстракции!
Далее, эта волна вышла на новый уровень, разрабы с js-бекграундом начали лезть в другие языки со своим костыльными практиками, в Android, в Go. Вы только почитайте статьи про Go, сколько там слепого догматического обожания от бывших джиесеров.
Android тоже добавляет масла в огонь. В конце нулевых под Android восновном писали разрабы старой школы, которые мирились и обходили откровенно ужасные косяки в проектировании системы. Но потом пришли новоприбывшие бывшие школьники, смешались с выходцами из js-комьюнити, и решили что все то говно, что есть в Android SDK это манна небесная.
К нынешнему моменту уже выросло целое поколение андроид синьеров, программирующих исключительно добавленем фреймворков и рассуждающее неадекватными паттернами вроде MVP и не понимающих что уничтожение Activity при повороте экрана это кромешный писец, а не нормальное решение.
И пути назад нет. Бизнесу нужно решать свои задачи, и ему под это дело нужны разрабы. Маховик продолжит крутиться и будет плодить все новых и новых фейковых синьеров. И эти синьеры будут дальше развивать и создавать новые технологии, аналогичного хренового качества. А эти технологии уже будут плодить еще более криворуких разрабов. И так далее.
Круг замкнулся, мы сейчас имеем фактически новую школу разработчиков — которая раз за разом воспроизводит деградировашие кадры.
K>Раньше: K>— Хороший программист мог взять Delphi 7, заморочиться, и сделать windows-приложение, которое хорошо выглядит и хорошо работает. K>Сейчас: K>— Компания Microsoft может взять Electron, заморочиться, и сделать приложение, которое ужасно выглядит и медленно работает под любой платформой.
Как только способные черные обезьяны самостоятельно и по собственной инициативе поднимут с нуля плантацию бананов и добьются рекордных урожаев, к ним пришлют белую обезьяну с отсталой запущенной плантации. Белая обезьяна возглавит черных обезьян и будет учить их тому, как растить бананы. Так будет продолжаться, пока урожайность не упадет, во всем будут обвинены черные обезьяны, белая обезьяна залезет на вышестоящую ветку и забудет на время о преподавательской работе. И тогда вновь черные обезьяны, одержимые желанием стать белыми и переселиться с плантации на дерево, вырастят рекордный урожай, о чем белая обезьяна поведает другим белым обезьянам как о своем выдающемся достижении руководителя. Черных обезьян пошлют на отсталую плантацию еще раз доказать свои способности.
При этом новоприбывшие разрабы учились более менее хорошим подходам и дальше либо становились нормальными разработчиками, либо оставались плавать в собственном соку в рамках Delphi-экосистемы и никому не мешали.
Когда-то я вот также остался плавать в собственном …
А потом и вообще забил на все это дерьмо и стал преподавать.
SC>При этом новоприбывшие разрабы учились более менее хорошим подходам и дальше либо становились нормальными разработчиками, либо оставались плавать в собственном соку в рамках Delphi-экосистемы и никому не мешали.
SC>Когда-то я вот также остался плавать в собственном … SC>А потом и вообще забил на все это дерьмо и стал преподавать.
Деградация достигла эпических размеров —
Из-за известных проблем с удалением файлов из профиля при обновлении Microsoft приняла решение об отзыве финальной сборки Windows 10 October 2018 Update (1809)
В КСВ была такая же тема. Ответа я там не увидел (может, пропустил). Тема очень интересная.
K>Если же задаться целью понять почему так получилось, то нужно обратиться к истории.
Саму статью не читал, но, судя по процитированному, у автора с хабра чисто программистский подход. Он циклится на тульях, стеках и джуниорах (индусов забыл, кстати), но к пониманию чего-либо даже не приближается, т.к. все это — не причины, а следствия из той же пачки, что и сама "деградация".
Для начала, надо проблему сформулировать. Нытье — не формулировка. Плохо не все, деградация наблюдается не везде, это важно.
Прежде всего, коммерческий софт оптимизируется не по памяти и быстродействию, а по деньгам. Можно рассуждать о деградации, но сейчас по факту производитель и потребитель находятся в относительной гармонии, стоны разработчиков и отдельных перфекционистов им наслаждаться жизнью не мешают. Что может нарушить эту гармонию и изменить тенденцию? Производитель несет расходы на разработку, менеджмент и поддержку, потребитель за это платит. Если какие-то части среды деградируют, расходы по всем направлениям растут. В какой-то исторический момент ноша может стать неадекватно тяжелой. Тогда рано или поздно выстрелит соответствующая новым реалиям рынка технология. Она даже не обязательно должна быть суперновой. Вполне вероятно, что основы таких технологий уже есть или даже были давно, но уже забыты, они просто не были оценены, т.к. в действительности не было рыночного запроса. Ждем.
SC>>Когда-то я вот также остался плавать в собственном … SC>>А потом и вообще забил на все это дерьмо и стал преподавать.
K>Деградация достигла эпических размеров — K> Из-за известных проблем с удалением файлов из профиля при обновлении Microsoft приняла решение об отзыве финальной сборки Windows 10 October 2018 Update (1809)
сабж
Автор (и вы с ним) пишите так, будто в Delphi и BCB не было кривейшей (вот просто нереально кривейшей) VCL. Будто Internal Compiler Error были редкостью. Будто RTL никогда не радовала глюками с памятью. Будто в целом дизайн VCL был чем-то хорошим.
Самое смешное в этой статье, что на самом деле современные веб-фреймворки повторяют путь Delphi: новички набирают готовых тормозных компонент и фигачат из них приложения — и так сойдёт, более профессиональные программисты ищут узкие места и создают качественные приложения.
Здравствуйте, Somescout, Вы писали:
S>Автор (и вы с ним) пишите так, будто в Delphi и BCB не было кривейшей (вот просто нереально кривейшей) VCL. Будто Internal Compiler Error были редкостью. Будто RTL никогда не радовала глюками с памятью. Будто в целом дизайн VCL был чем-то хорошим.
По сравнению с последними "достижениями" — да, он был действительно хорошим. Всё познается в сравнении.
Здравствуйте, Somescout, Вы писали:
S>Как раз в сравнении видно насколько всё это было убогим.
Я тут недавно решил пощупать bootstrap. Сгенерил сайт. Подумалось, а неплохо бы поменять цвет фона. Стал искать. Долго искал. Не нашел. Стал гуглить. Нашел — оказывается, свойство задается где-то глубоко-глубоко в недрах сгенеренных файлов.
Так вот, к чему это я. В "ужасно кривом" VCL это делалось за 1 минуту, если не очень торопится.
Здравствуйте, Kluchnik, Вы писали:
K>Деградация достигла эпических размеров — K> Из-за известных проблем с удалением файлов из профиля при обновлении Microsoft приняла решение об отзыве финальной сборки Windows 10 October 2018 Update (1809)
а это деградация тестов. когда умудряются налажать в базовых вещах первого уровня ui — например эпический фейл с невозможностью соединится с vpn с использованием смарт карты в позапрошлом обновлении. Эта ошибка была исправлена только в следующем крупном апдейте через полгода. Или вспомним проблемы с bt le стеком, также все тупо неработало до следующего major update. Они просто ничего не тестируют потому, что есть интернет и любой факап можно закостылять апдейтом. Но они даже это не торопятся делать. В итоге полгода без bt le, потом обновляемся, бт работает, но сломался впн, опять полгода ждем и т.п.
С год назад пришлось поправить немного в дельфи-коде. Запустил IDE и был в шоке — как я вообще мог работать в таком блокноте. Ну реально, там же от IDE одно название. После современных IDE это была какая-то жесть. Если ваше дельфё такое крутое, почему микрософт на своём жаваскрипте делает с нуля IDE, которым можно пользоваться и делает это за считанные годы, а дельфё за десять с чем-то лет так и не породило нормальную IDE? Нет, это не деградация, это старческое брюзжание. Просто компьютеры развиваются и кто-то использует скорость для того, чтобы делать сложные приложения, а у кого-то голубая мечта — чтобы все сидели на пентиум-1 и пользовались софтом 30-летней давности, а от того, что на его пентиум-1 современные приложения тормозят, он ярится и плюётся, не замечая, что современный андроид за сто баксов давно работает быстрей его пентиума. Проблема в том, что у кого есть деньги, те покупают нормальные компьютеры и не видят проблем в современном софте. А у кого нет денег обновиться с пентиума-1, те и софт не купят, в лучшем случае украдут, поэтому что они там хотят, мало кого интересует, платить за это всё равно некому.
Здравствуйте, CoderMonkey, Вы писали:
S>>Как раз в сравнении видно насколько всё это было убогим.
CM>Я тут недавно решил пощупать bootstrap. Сгенерил сайт. Подумалось, а неплохо бы поменять цвет фона. Стал искать. Долго искал. Не нашел. Стал гуглить. Нашел — оказывается, свойство задается где-то глубоко-глубоко в недрах сгенеренных файлов. CM>Так вот, к чему это я. В "ужасно кривом" VCL это делалось за 1 минуту, если не очень торопится.
Цвет фона меняется одной строчкой background в CSS.
Здравствуйте, CoderMonkey, Вы писали:
CM>Я тут недавно решил пощупать bootstrap. Сгенерил сайт. Подумалось, а неплохо бы поменять цвет фона. Стал искать. Долго искал. Не нашел. Стал гуглить. Нашел — оказывается, свойство задается где-то глубоко-глубоко в недрах сгенеренных файлов. CM>Так вот, к чему это я. В "ужасно кривом" VCL это делалось за 1 минуту, если не очень торопится.
А я в последней высере версии Уиндоуз-10 попытался изменить наступление сна с паролем через минуту по умолчанию (дикари из Редмонда ничего, кроме смартфона не видели). Удалось только через реестр.
Здравствуйте, vsb, Вы писали:
vsb>современный андроид за сто баксов давно работает быстрей его пентиума. Проблема в том, что у кого есть деньги, те покупают нормальные компьютеры и не видят проблем в современном софте.
Здравствуйте, CoderMonkey, Вы писали:
CM>Я тут недавно решил пощупать bootstrap. Сгенерил сайт. Подумалось, а неплохо бы поменять цвет фона. Стал искать. Долго искал. Не нашел. Стал гуглить. Нашел — оказывается, свойство задается где-то глубоко-глубоко в недрах сгенеренных файлов. CM>Так вот, к чему это я. В "ужасно кривом" VCL это делалось за 1 минуту, если не очень торопится.
Я согласен, это невероятно, просто нереально сложно. Нужно ведь прочесть документацию на сайте (два абзаца!) и целую строчку написать. В общем ждём пока сделают автоматизацию этого дела.