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

Не верите? Давайте я покажу вам.

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

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

Возьмем, например, Народ Чаш. Я столкнулся с историей этого народа, уча английский язык. Мне рассказывали краткую историю Британских островов, в которой всё сводится к народу чаш. Они там жили. Единственное упоминание о них - это различные чаши, которые они изготавливали. Видимо, это была их основная цель. Это немного напоминает "Путеводитель по Галактике", где планета изобрела распылительный баллончик до изобретения колеса. Все может быть.

Затем кто-то осознал, что цель существования можно навязать человеку силой. Так появились Фараоны, и начали они строить пирамиды. И весьма успешно: говорят, некоторые из этих пирамид до сих пор стоят в Гизе. Не видел, но готов поверить. Только вот народ сообразил, что строить пирамиды - это не то же самое, что сажать картофель на своём огороде. Фараоны становятся знаменитыми после смерти, а местным Васям и Петям надо как-то кормить детей. Начались проблемы. Греки и Римляне пришли к мысли о необходимости строительства дорог, школ и храмов в качестве главной цели. Получилось неплохо: народу это нравилось, всё развивалось.

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

Никто не ждёт Испанскую Инквизицию!
Никто не ждёт Испанскую Инквизицию!

Затем появилась Инквизиция, и началась настоящая вакханалия. Было много кровопролития и непонимания, но со временем человечество осознало одну простую истину: если у человека есть цель, он будет стремиться её достичь. Цели могут быть разные: хорошие и плохие, полёт на Луну, космическая гонка, "ни шагу назад" или MAGA. Всё это были цели. И со временем мы поняли, что для достижения целей нам не нужна религия.

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

Было время, когда люди вели изолированный образ жизни, ничего не понимали и не оставляли письменных источников. Передача знаний была невозможна. Мы прошли через эти времена, объясняя всё непонятное действием высших сил. Сначала религия хранила эти верования, а потом, так как монахи были образованы, стала записывать знания и обучать других. Монахи не только слепо поклонялись божествам, но и изучали вселенную. Мы пришли к времени, когда поняли, что сами являемся этими "высшими силами". Человек сам может определить свою цель и стремиться к ней. Нам не нужен Зевс на Олимпе, бросающий в нас молнии (или что-то ещё похуже), чтобы мы начали худеть. Мы поняли, что сам человек иногда бывает этой "высшей силой" и в состоянии поднять пятую точку с дивана.

Мы эволюционировали от объяснения всего действием всевышнего к пониманию процессов, происходящих в мире.

И мы стали прекрасными и разумными инженерами.

Так и есть, на самом деле мы не стали этими идеальными инженерами.

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

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

Я с уверенностью могу сказать, что старушка, преподававшая базы данных на основе Informix 1989 года выпуска в нашем родном МЭСИ, когда у всех был установлен SQL Server 2005, меня раздражала. Мне не нравилось что меня заставили изучать дифференциальные уравнения, электронику, философию и множество других "ненужных" предметов.

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

И программирование стало этим "недостатком". Многие самоучки начинают писать свои проекты на NestJS после просмотра 20-минутных видеороликов на YouTube. Они действительно не имеют понятия о том, что такое HashMap, хотя и могут болтать о хэшах на собеседовании, как попугаи. Эти люди могут успешно решать задачи на Leetcode, а потом жаловаться, что не знают, как восстановить упавший кластер.

Битва Великого Монолита И Всестрашного Микросервиса
Битва Великого Монолита И Всестрашного Микросервиса

Но знаете, что самое страшное? Самое страшное - это слушать этих людей. У них, как писал Нил Гейман, начали появляться новые боги. Великий бог Микросервис и его вечный противник, грозный Монолит. Страшная богиня Монорепа, на которую все начинают молиться. Всеми ими правит тёмный бог просвящения Нодик и его верный спутник Питончик.

Проблема в том, что вместо того, чтобы изучать и понимать архитектуры всего, с чем мы работаем, вместо того, чтобы внимательно понимать и разбираться, мы начали просто забивать на необходимость познания чего-то. Мы просто верим, что если мы пишем на Ноде, то мы - самые эффективные. Вот, даже @dlinniy не даст соврать, народ не знает ассемблера.

Страшная и Всемогущая Монорепа. (Тут автор сам охренел от того, что Миджорни нагенерировал на этот запрос. Третья нога особенно добивает. Ну да ладно, при всём своём ужасе - передаёт идею)
Страшная и Всемогущая Монорепа. (Тут автор сам охренел от того, что Миджорни нагенерировал на этот запрос. Третья нога особенно добивает. Ну да ладно, при всём своём ужасе - передаёт идею)

"Ну и что, что не знает? Хрен с ним, с этим ассемблером, кто на нём пишет?" А вот хренушки вам. На нём всё работает. А когда вы знаете асм хотя бы пары процессоров, вы понимаете, как они работают. Вы будете уважать менеджер памяти. Вы не будете создавать массивы по 10 000 элементов в гигабайт каждый. Ваши приложения не будут пухнуть как на дрожжах, потому что вы следуете какому-то видео ютубчика какого-то индуса, который сказал, что надо загрузить 300 мегабайт ассетов в вашу программулину, которая показывает текущее время на андроиде.

Один раз я был на интервью в UMG. Это такие ребята, которые держат за яйца всю музыкальную индустрию в США. Они задали мне вопрос:

— У вас перестал работать сервер на кубере, лежит под нагрузкой в 100%. Что будете делать?

— Этот сервер работал вчера?

— Да.

— Нагрузка была нормальной?

— Да.

— Не буду ничего трогать, пока не пойму, что сломалось.

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

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

Великий Мудрый НодЖэЭс. Бог, который восхваляет криворукость своим существованием.
Великий Мудрый НодЖэЭс. Бог, который восхваляет криворукость своим существованием.

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

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

Почему морда тормозит на ФФ? Никак не знаю, ибо великий и непобедимый Реакт Неизвестный, сокрыл в своих сорцах проблему неразрешимую. Issue была поднята великими светлыми рыцарями ордена Понимающих, ждём, когда её одобрят и пустят в великий Пиар!

Никто не поднимает свои телеса и не лезет декомпилятором в недра того монстра, которого они-то и сотворили. Каждая программа превратилась в монстра, в то время как разработчикам говорят "никогда не залезайте в node_modules!" Более того, сейчас даже это перестаёт быть эффективной средой разработки. На всех наших любимых ютубчиках сейчас восхваляется Храм Всевышнего Зерокодинга. В ХВЗ сектанты говорят, что и кодить-то не надо было с самого начала. Надо было просто брать и составлять вместе кусочки Светлого Фреймворка! А код он напишется сам.

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

Это Монолит! Это - единственное возможное решение, ибо так сказал Гит! Нет, Монолит - это плохой бог! Его уже давно сразил Микросервис! Так что смерть твоему монолиту. Большинство дискуссий на технических форумах больше напоминают сражение католика с протестантом.

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

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

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

А то знавал я одного неофита, который вступил в церковь Всемогущего Метеора! Он ходил и слюнями брызжал о том, что есть только один праведный путь развития, и этот путь заключается в создании компонентов Метеора. Он отвергал все другие методы разработки и полтора года писал кусок говна, который перестал запускаться примерно через 20 минут после последнего релиза, потому что Нода подняла версию с 14.02.00008 до 14.02.00009.

Этот же адепт ходил в Храм Всепоглощающего Монго! Монга могла всё! Она давала невероятное блаженство всем тем, кто ходил в Храм Всемогущего Метеора! Монга была датабазной богиней наслаждения! Никаких запросов! Всё в жисоне. Всё красиво и хорошо.

Только вот, этот идиот не понимал, что такое индексы. И решил поэкономить пространство. Он сохранял сообщения в чате. И решил, что будет круче не просто давать им рандомный Гуид в качестве ID и посылать их в базу. Он начал генерировать этот GUID на основе хеша того, что он писал в базу, и проверять, если этот хэш уже записан в БД, то на него просто ссылались. Ага. Сэкономил, блин, место. В итоге, при сэкономленных 20 килобайтах на гигабайт он создал замечательную бомбу замедленного действия. База лежала долго, так как при попытке записи чего-то нового, она шерстила все миллионы предыдущих записей и сравнивала их ИДшники с ИДшником записываемого. Кстати, как вы думаете, он посылал запрос к БД, или просто выгружал список всех ИДшников в свою программу и делал [].find(e=> {e.id === id})? Ага, вы угадали правильно.

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

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

Если вы не понимаете, как работает Нода, то сядьте и разберитесь в ней. Не надо просто говорить то, что написано в документации. Не надо просто тупо смотреть в монитор и говорить “Ну мне-то какая разница? Кто-то другой разберётся.”

Это очень скользкий путь к тому, что вы через пять лет будете сидеть и молиться на NPMJS, надеясь, что всё, что вы написали, скомпилируется.

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

Проверка ошибок на ГПТ4

Этот текст был написан человеческим существом, которое пропустило его через ChatGPT 4 с целью поиска ошибок и недочётов.

Оригинал

https://docs.google.com/document/d/1gS_0NZ--SEVZD0k8aLbh2dp2FsFigpdli6ni0_IrL5I

Правки

https://docs.google.com/document/d/1noMarbSYxfs667Qphta7RnrtXkl6QNhUARlH-pRSvHg

Комментарии (273)


  1. vilgeforce
    26.07.2023 14:02
    +3

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


    1. Nurked Автор
      26.07.2023 14:02
      +18

      Почему же?

      Язык - это просто инстумент. Это как спорить о том, что плоскогубцы лучше чем пила. Оно, с одной стороны понятно, что лучше, но объяснить я это не смогу.


      1. vilgeforce
        26.07.2023 14:02
        +1

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


        1. Nurked Автор
          26.07.2023 14:02
          +44

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

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


        1. datacase
          26.07.2023 14:02
          +5

          - PHP лучше, чем Python!

          - Чем?

          - Чем Python!


      1. Wesha
        26.07.2023 14:02
        +6

        Это как спорить о том, что плоскогубцы лучше чем пила.

        Повалите мне вот этот столетний дуб, пожалуйста. Вот Вам плосокогубцы.


        1. wander
          26.07.2023 14:02
          +25

          Именно поэтому не бывает лучших или худших инструментов, бывают подходящие.


          1. Wesha
            26.07.2023 14:02
            +2

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


          1. 0xd34df00d
            26.07.2023 14:02
            +8

            Только одни инструменты хорошо подходят для широкого круга задач, а другие… Для тех задач, для которых подходят другие, есть ещё более удобные и подходящие.


            1. dizatorr
              26.07.2023 14:02

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


              1. Rokstar
                26.07.2023 14:02
                +3

                Мультитул, как первичное средство в экстренной ситуации. Он всегда под рукой в этом его прелесть. Ни кто не спорит что работать удобней в мастерской полным набором инструментов. Но много инструментов с собой нести не удобно, а мультитул удобно.


        1. sshikov
          26.07.2023 14:02
          +4

          А вам вот пила в мультитуле, длина лезвия миллиметров 100, мелкий зуб. Или лучше нет, вон тот лобзик возьмите… с пилкой по металлу...


          1. SquareRootOfZero
            26.07.2023 14:02
            +2

            Чудо с отшельником сталося:
            Бешеный гнев ощутил,
            Бросился к пану Глуховскому,
            Нож Пилу ему в сердце вонзил!


    1. Lev3250
      26.07.2023 14:02
      +6


      «Только ситхи всё возводят в абсолют»

      Сказал джедай


  1. DGG
    26.07.2023 14:02
    +33

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


    1. Nurked Автор
      26.07.2023 14:02
      +3

      К сожалению, некоторые бубнотанцевальщики просто заигрались.


      1. Sergey_Kovalenko
        26.07.2023 14:02
        +5

        Необычный стиль, и горячая тема.
        Хотел бы дать критику к подходу. Цитата:
        .
        "Это, блин, два разных подхода к разработке. И если вы - хороший инженер, то у вас и тот, и другой будут танцевать под вашу дудочку. Потому что вы понимаете, как они работают, и что происходит в кремнии, который эти ваши сервисы гоняет.

        Вы можете пользоваться абстракциями и фреймворками. Но при этом вы обязаны либо знать, как они тикают, либо не бояться лезть и читать сорцы этой мутотени."
        .
        Возражение 1):
        Распространено мнение, в том числе и сред тех, кто стоял у истоков компьютерных наук, что хорошие абстракции и фрейворки должны освобождать вас от необходимости знать технические подробности того, как они устроены. Да, ограничения, свойства и смысл абстракций должны быть описаны, но не обязательно такое описание давать через из техническую реализацию. Хорошей практикой счита(лось)ется разработать для этого свой подходящий язык. Например RAM и O-большое фармализм - скорее будут лучшими языками для объяснения сложности программ, чем техническое описание работы конкретного процессора и жесткого диска.
        Тезис: абстракции и фреймворки надо уметь готовить.
        .
        Возражение 2):
        Программисты часто отсылают за знаниями к какой-то технической документации. Плачевная практика, причина многих (если не большинства) проблемм вашей профессии. Почему? Понимаете, мозг - это тоже компьютер, его тоже надо уметь программировать.
        .
        Предположим, вы замечательный программист, написали программу и создаете для нее документацию, предполагая, что по ней будут учится пользоваться вашей программой другие люди. Кто сказал, что вы действительно умеете программировать их мозг, вас учили этому, или вы этому учились? Вы правда думаете, что подробное и формально верное описание всех функций и возможностей вашей программы уже достаточно для эффективного обучения ее пользователей?
        .
        Представим себе типичную команду программистов, которые трудятся над какой-то сложной программой. Ваше воображение нарисовало там человека, чья роль составить понятное обучающее руководство, разработать иерархию абстракций и создать подходящий язык? Это тоже работа, она требует времени и напряжения мозгов. В вашей фирме считают эту работу важной, учат ли ей и контролируют ли ее качество?
        Тезис: надо уметь писать доходчивые тьюториалы к программным продуктам, а не отсылать пользователя читать их техническую документацию или еще хуже заставлять его изучать исходники.
        .
        .
        В общем, вы зря не любите котиков - в них много витамина C )))
        .
        (Да, насчет абстракций. Что за великий гений среди разработчиков Хабра сделал так, что новые строки и отступы текста в редакторе комментариев отображаются не так, как после его публикации. В чем великий смысл?)



      1. Helgich
        26.07.2023 14:02
        +2

        Нормальный карго-культ, что вам не нравится?


    1. dolovar
      26.07.2023 14:02
      +2

      Только знание поможет вам избавляться от воображаемых богов.

      Я бы не называл это атеизмом, здесь пахнет новым богом Знаний.


    1. LonelyDeveloper97
      26.07.2023 14:02

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

      Пример - lesswrong сообщество которое изначально про cognitive issues и критическое мышление в отношении собственного мышления, в котором все равно периодически появляются индивиды формата «великий труд Rationality AI to Zombie, и пророк Юдковски давший его нам, а все это ваше остальное от лукавого и когнитивных искажений», хотя написанное как раз о том, что именно таких паттернов СВОЕГО мышления стоит избегать. Да что, там вроде есть прямая глава про культы, где описано что каждая идея имеет шансы стать культом, и это все равно не помогает =)


  1. static_cast
    26.07.2023 14:02
    +18

    Этот текст был написан человеческим существом, которое пропустило его через ChatGPT 4 

    Возможно, наоборот получилось бы лучше.


    1. DKomarin
      26.07.2023 14:02
      +9

      О, сектанты chatGPT подкатили :)


    1. csharpreader
      26.07.2023 14:02
      +4

      Это просто Фил Ранжин на минималках.


  1. temabed
    26.07.2023 14:02
    +19

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


    1. Nurked Автор
      26.07.2023 14:02
      +1

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


      1. temabed
        26.07.2023 14:02
        +8

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


    1. eleoleeye
      26.07.2023 14:02
      +1

      смешно: я не вкатун, как некоторые, у меня мечта детства.


      1. temabed
        26.07.2023 14:02
        +8

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


        1. AuroraBorealis
          26.07.2023 14:02

          Хочу почитать про ваш опыт. Грубо говоря, у меня сейчас 300к/нсек, есть накоплений лет на пять. Хочется программировать на хаскелле, чтобы к тому моменту, как вышел бы на 300к/нсек, не кончились бы накопления, а то из мужей уволят.

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


          1. 0xd34df00d
            26.07.2023 14:02

            300к/нсек на хаскеле не получится, увы.


            1. AuroraBorealis
              26.07.2023 14:02
              +1

              Жаль. Мне нравится вообще сама парадигма функционального программирования (в рамках моих небольших знаний о ней). Я больше по электронике и computer science.


              1. 0xd34df00d
                26.07.2023 14:02

                … но это не значит, что нельзя зарабатывать хорошие деньги :]


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


                1. Wesha
                  26.07.2023 14:02

                  … но это не значит, что нельзя зарабатывать хорошие деньги :]

                  Можно. Но это не значит, что всем. И особенно не значит, что Вам мне конкретному Васе Пупкину.


                  1. 0xd34df00d
                    26.07.2023 14:02

                    Для любого конкретного Васи Пупкина у меня нет рецептов, есть только рецепты в среднем.


                    1. Wesha
                      26.07.2023 14:02

                      есть только рецепты в среднем.

                      Ну да, "чиновники едят мясо, народ — капусту, а в среднем мы все едим голубцы" (с)


      1. vvzvlad
        26.07.2023 14:02

        ...а подарили!


    1. FruTb
      26.07.2023 14:02
      +1

      Хехех, ну весь ООП - абсолютно недоказуемая абстракция. Так что почти все программирование - это вера в правильность паттернов. Есть исключение в виде функционального программирования, но это оставим за скобками - холивар начнётся)))))


      1. vvbob
        26.07.2023 14:02
        +7

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

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


      1. DarthVictor
        26.07.2023 14:02

        Вообще процедурное программирование тоже вполне основано на теореме Бёма-Якопини.


  1. MockBeard
    26.07.2023 14:02
    +1

    Сложность! Нужно больше сложности, для служения Богу Сложности!


    1. Nurked Автор
      26.07.2023 14:02
      +13

      Как же, как же! Знаем и его, поклонялись и ему! Почему же это нельзя просто взять и написать пятистраничный сайт на чистом HTML! Это же противоречит устоям великого Бога Сложности и сына его Фреймворка Усложнящего. Надо запустить CRA или написать PWA на VueJS. Ибо неположено нам просто на HTML писать, ведь не язык это!


      1. MockBeard
        26.07.2023 14:02
        +6

        И побольше уровней абстракций! Ибо нефиг с первого прочтения кода понимать его.


        1. Nurked Автор
          26.07.2023 14:02

          И обязательно добавить какой-нибудь Reducer чтобы никто не знал кто и что вызывает что.


          1. gluck59
            26.07.2023 14:02
            +2

            ...и ватчдог в уголке посадить, а то мало ли.


      1. vvbob
        26.07.2023 14:02
        +6

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

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

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


  1. MihaTeam
    26.07.2023 14:02
    +8

    Монга - больная тема и гайды по ней, как не откроешь, кидают в базу все как есть, про ту же jsonSchema нигде толком не пишут (да, у схемы есть свои минусы, но это не повод кидать в базу данные в сыром виде и молиться, что нигде на клиенте нет ошибки из-за чего цена товара отправиться в базу не децималом, а флоатом к примеру). И ладно этот клиент какой-нибудь типизированный язык, но зачастую это js(даже не ts), python. А от fullstack гайдов по MERN стеку рыдать хочется. Пытаешься агрегировать в монге данные и что-то не можешь решить, гуглишь, находишь в основном решения, где данные прогоняют через клиент. В монге замечательная интеграция с языками, особенно js, настолько замечательная, что многие перестают видеть грань между приложением и базой.


    1. Nurked Автор
      26.07.2023 14:02
      +1

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


      1. MihaTeam
        26.07.2023 14:02
        +1

        Мне кажется корень проблемы в том, что люди просто не хотят фильтровать информацию, которую находят. Недавно была ситуация, хотел сделать селект с поиском на реакте, ну и начал гуглить как люди это делают, чтобы понять какие подходы используют, а не изобретать велосипед. Гайдов 10 перелистал и по итогу все гайды это npm i react-select. Правда там есть и хорошие моменты, такие как асинхронная подгрузка. Судить насколько имеет смысл тащить его в проект не могу(зависит правда от проекта), основное направление все же это бекенд на Go. Но лично я не привык тащить в проект зависимости ради проблем на решений которых можно потратить день.


        1. MihaTeam
          26.07.2023 14:02
          +1

          К слову, в go очень много последователей другой религии. Если в js условном тянем всё с npm, то в go религия - сделай сам (хотя и в других яп свои последователи будут) .


        1. Wesha
          26.07.2023 14:02
          +1

          Судить насколько имеет смысл тащить его в проект не могу

          Не судите и не судимы будете! (c)


    1. amateur80lvl
      26.07.2023 14:02
      +1

      Как-то не так давно я попытался скомпилировать монгу на своём NanoPI M4, но с последней версией обломился - видимо в RK3399 нет волшебной инструкции FJCVTZS. Удалось скомпилировать 4.4 - ну и ладно. Проблема вылезла очень быстро на множестве параллельных запросов - точь в точь как у нас на работе было когда мы на WT попробовали переползти много лет тому назад. Cache Eviction называется емнип. До сих в пор у них в проде четвёрка и MMAPv1. Как сейчас люди выживают? Перезапускают раз в сутки? Или эту багофичу только в community server оставили а за денежку всё норм?


      1. Nurked Автор
        26.07.2023 14:02
        +6

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


        1. amateur80lvl
          26.07.2023 14:02
          +5

          Да там писать-то нечего. Скачал, а дальше строго по инструкции. Даже и не помню уже. Вот если бы я шестёрку бэкпортировал - тогда да. Но оно мне надо? Постгрес рулит. Ну её нафиг эту монгу.


  1. amateur80lvl
    26.07.2023 14:02
    +1

    Оставь меня старушка я в печали - Да я младше тебя!!!


    1. Nurked Автор
      26.07.2023 14:02

      Тебе сколько?

      Мне - 37.


      1. amateur80lvl
        26.07.2023 14:02
        +1

        Да просто навеяло. Из фильма. Мне примерно столько же, но я ещё видел dbase в подлиннике :)


        1. Nurked Автор
          26.07.2023 14:02
          +1

          А я на PROLOG писал.


          1. amateur80lvl
            26.07.2023 14:02
            +4

            А мне FORTH нравился.


            1. FruTb
              26.07.2023 14:02
              +2

              Тоже поною рядом. 38, начинал на C и ассемблер для pic, помню mfc/ATL/WTL и Delphi.

              ))))


              1. Alcpp
                26.07.2023 14:02
                +3

                Я еще на чистом Win32 API пару пет-проектов написал.


                1. noRoman
                  26.07.2023 14:02
                  +4

                  Про ассемблер БК0010-01 и ДВК было уже?)


                  1. pulsatrix
                    26.07.2023 14:02
                    +4

                    Про ассемблер БК0010-01 и ДВК было уже?)
                    Вы порвали писькомер. Дорежу — мк-52.


                    1. iig
                      26.07.2023 14:02

                      Б3-23


                      1. Andy_U
                        26.07.2023 14:02

                        МИР-1, МИР-2. На ассемблере там было никак, но матрицы (пзу на трансформаторах) перепрошивали.


                      1. gatoazul
                        26.07.2023 14:02
                        +1

                        Арифмометр "Феликс"


                      1. iig
                        26.07.2023 14:02

                        Оно не программируемое ;)


                      1. Ig_B
                        26.07.2023 14:02
                        +2

                        шестеренки менял


                      1. khajiit
                        26.07.2023 14:02

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


                      1. Andy_U
                        26.07.2023 14:02

                        Ну так-то я могу и логарифмической линейкой "ответить". До сих пор храню ГДР-овскую металлическую. А ваш арифмометр? :)


                      1. iig
                        26.07.2023 14:02

                        Линейка вещь забавная, но не програмируется.

                        ЗЫ странно что никто на счётах не умножал ;)


                      1. Wesha
                        26.07.2023 14:02

                        Линейка вещь забавная, но не програмируется.

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


                      1. iig
                        26.07.2023 14:02

                        Ну тогда карандаш, бумажка, и 4значные таблицы вместо кеша ;)


                      1. vadim_bv
                        26.07.2023 14:02

                        Брадис? Помню, умею :)))


                      1. gatoazul
                        26.07.2023 14:02
                        +1

                        Тоже храню.


                      1. Wesha
                        26.07.2023 14:02

                        Не врите, столько не живут!


                      1. gatoazul
                        26.07.2023 14:02

                        Вы не очень вежливы.

                        Когда мне было 13 лет, мне подарили старый арифмометр, который до этого не знаю сколько лет простоял на чердаке.


                  1. Druid3d
                    26.07.2023 14:02

                    ld bc,6912LD DE, 16384 ; destination address LDIRz80, motorolla 68020, demoscene - эхх было время


  1. qertis
    26.07.2023 14:02
    +2

    Сюда бы еще один абзац про Rust дополнить и статья была бы просто восхитительна.


    1. kekoz
      26.07.2023 14:02
      +4

      По моим наблюдениям абсолютное большинство провозгласивших/принявших Rust новым божеством, не то, что не пишут на нём — они его даже не знают. Заводчики пингвинов знают, что на нём теперь можно писать ядрёные модуля для пингвиникса. Глядящие в форточки знают, что Руссинович перешёл на Rust и очень доволен. И те и другие читали на Stack Overflow, что в Rust не бывает buffer overflow. 8 из 10 “юношей с горящими глазами” не могут объяснить простыми словами принципиального отличия модели памяти Rust от того же C, и лишь мямлят что-то невнятное про [не]мутабельность, borrowing и его суровый checker. Продвинутые знают слова трэйт, крэйт и карго. Где-то здесь знания заканчиваются. То есть, все признаки религиозного экстаза, ведь для этого не требуется знать Тору, Евангелие или Rust. Главное — почитать (от слова ”почтение”).


      1. 0xd34df00d
        26.07.2023 14:02
        +1

        А можно такое же, но про абсолютное большинство фанатов старой-доброй сишечки или божественных плюсов?


        1. amateur80lvl
          26.07.2023 14:02
          +4

          Можно. Плюсы божественны ибо ничто не сравнится с ними в быстродействии. Сишечка божественна ибо гениальна. Там нет ничего лишнего!


          1. 0xd34df00d
            26.07.2023 14:02
            +3

            Это вы карикатурных растофанбоев переделали, а я просил растохейтеров-опеннетчиков.


            1. MihaTeam
              26.07.2023 14:02

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


            1. chupasaurus
              26.07.2023 14:02

              Ещё проще: имя им - Легион.


          1. Aleksjar
            26.07.2023 14:02

            что такое быстродействие и нужно ли вам именно оно?


          1. LAutour
            26.07.2023 14:02
            +1

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


      1. x_ash_x
        26.07.2023 14:02

        Кстати, на горизонте замаячил восход нового божка - Zig, его ключевая фишка - "No hidden memory allocations", что есть в Rust.


    1. WASD1
      26.07.2023 14:02

      Из моих впечатлений (я, правда, пока в prod не затащил и всё ещё сомневаюсь - но пару внутренних утилит написал, а перед этим интересовался rust-"движухой"):

      В теории - Rust мало ошибок и бОльшая гибкость за счёт выделения слоя абстракций (ну сколько там D и Haskell переходили на big endian архитектуры? лет по 6? А вот писали runtime на Rust - переход занял бы месяцы).

      На практике - писать низкоуровневый код с выделениме всех абстракций и соблюдением растовского safe-API с памятью рука устанет. А какую-нибудь арифметику проще вообще *.try_into(..).unwrap() использовать, чем учитывать наличие платформ, где usize < u32 (выяснили что безопасность стоит времени, где-то подзабили, где-то вылезли из бюджета, хорошо если вообще Rust оставили).


      1. 0xd34df00d
        26.07.2023 14:02

        ну сколько там D и Haskell переходили на big endian архитектуры

        Про D не знаю, а в Haskell околонулевая зависимость от endianness. Долгий переход скорее связан с тем, что никому из бородатых академиков и небородатых PhD это не нужно.


  1. Ariman
    26.07.2023 14:02
    +50

    Этот текст выглядит как завёрнутый в новую обёртку тезис "А вот рааааньше!". Так и разит от него теми же эмоциями, что и от восклицаний дедов о том, какая плохая пошла молодежь. Ишь, мерзавцы, стэк оверфлоу юзают и на Питоне пишут, а ассемблера не знают.

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

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

    Но это все так, лирика. Главная моя претензия вот к этому тезису:

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

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

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

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

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

    без понимания причин ничего не надо трогать

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


    1. MihaTeam
      26.07.2023 14:02
      +6

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


    1. atshaman
      26.07.2023 14:02
      +11

      У Лема в "Сумме технологий" был хороший пример с математикой - в 19 веке были универсалы, которые разбирались во всех имеющихся областях математики, в 60х были люди, которые досконально разбирались в одной-двух смежных областях, а с ростом объема знаний обязательно появятся теоремы, которые _не сможет доказать ни один человек_ чисто из-за их объема.

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

      Как-то так.


      1. Kreastr
        26.07.2023 14:02
        +1

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

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


        1. atshaman
          26.07.2023 14:02

          Так в голову не влезет - а часть еще и не (полностью) документирована - остается просто верить что то, что есть работает и работает правильно. Причем ограничиться условно знанием "того, что влияет на результат" не получится - т.к. "влияет" примерно все, сверху донизу - очень часто debug проблем с производительностью прям БЕЗДНЫ открывает - и то, что в процессе разборок с бэкендом в кубере ты доходишь до багов в musl'е - нифига не означает, что ты эту цепочку сколько-нибудь "знаешь" - а через рукопожатие коллега у меня и до багов в компиляторе доходил - понятно, а еще рядом - пляски вокруг железа (Где ты, ЕМСишный саппорт?)


    1. kekoz
      26.07.2023 14:02

      А суть простая - может человек достигнуть своих целей, или нет. Если он ее может достигнуть при помощи питона и стек оверфлоу - молодец.

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

      Молодец ли? В самом деле? Цель таки оправдывает средства?


      1. Ariman
        26.07.2023 14:02
        +13

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

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

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

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


        1. kekoz
          26.07.2023 14:02
          +6

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

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


          1. Ariman
            26.07.2023 14:02
            +11

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

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

            В остальном это борьба с соломенными чучелами и какими-то абстрактными Вовами, верящими абстрактным Васям.

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

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


          1. nightlord189
            26.07.2023 14:02
            +3

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


            1. MihaTeam
              26.07.2023 14:02

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


              1. nightlord189
                26.07.2023 14:02

                Да, я про то же, все зависит от контекста.


                1. MihaTeam
                  26.07.2023 14:02

                  Но один момент все же от контекста не зависит. Не надо тащить все что не приколочено с npm/pip/go get и тд


              1. Nurked Автор
                26.07.2023 14:02

                Кстати, насчёт Условного Реакта - он ещё как и сломается.


                1. MihaTeam
                  26.07.2023 14:02

                  Ну тут все же зависит от задачи и того кто это будет реализовывать. Кстати еще из забавных моментов, когда смотришь на код людей, некоторые не понимают, что (на примере js) такие методы как - includes, split, filter, map, reduce и т.д. выполняются не за O(1) времени или когда какой-нибудь цикл выносят в отдельную функцию и вот уже сложность не n^2 а линейная(хотя это и не так). Как раз такие люди любую технологию могут сломать, какой-бы она продвинутой не была. Мне в этом плане очень нравится Go(на счет других яп сказать не могу, работал только с python, js, golang), если тебе надо обойти массив, то тебе надо обойти массив, циклом, в лоб.


                  1. MihaTeam
                    26.07.2023 14:02

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


    1. vvbob
      26.07.2023 14:02
      +1

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

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

      Я помню в школе хватался за все что хоть немного было интересно, всяких кружков и секций посещал огромное количество (большую часть быстро бросал). Вроде звучит как-то не очень, с другой стороны - пробовал, бросал то что не зашло, каких-то базовых знаний по многому нахватался и в итоге пошел по направлению программирования, совершенно случайно прочитав какую-то нудную и приготовленную к выбрасыванию советскую книгу про ЭВМ. Как по мне нужен какой-то баланс, между развитием того что уже есть и изучением чего-то нового, возможно вообще никак с прошлым опытом не согласующегося. Вот недавно мне неожиданно зашла тема 3D моделирования, хотя никогда особо этим не интересовался. За месяц продвинулся до неплохого уровня, теперь сам делаю довольно сложные модельки (технического плана, не скульптинг) для печати. Был-бы таким суперцелеустремленным - не стал бы даже пытаться, это ведь нерациональная трата времени!


    1. IskanderDeveloper
      26.07.2023 14:02

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

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

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


  1. grey_rat
    26.07.2023 14:02
    -3

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


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


    1. sshikov
      26.07.2023 14:02
      +5

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


      1. Wesha
        26.07.2023 14:02
        +2

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


        1. iig
          26.07.2023 14:02
          +2

          поменять щётку в моторе

          Поменять запрессованную щетку непросто. Особенно если запасной в природе не существует.


        1. gluck59
          26.07.2023 14:02
          +1

          На прошлой неделе пытался в пылеосе LG. Щетки оказались на заклепках, запасные ессно не продаются...


          1. zatim
            26.07.2023 14:02
            +4

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

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

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


            1. gluck59
              26.07.2023 14:02

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


              1. Stalker_RED
                26.07.2023 14:02

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

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


            1. iig
              26.07.2023 14:02

              В вашем случае отгибается лепесток

              И при загибании обратно ломается.


              1. amateur80lvl
                26.07.2023 14:02
                +3

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


                1. iig
                  26.07.2023 14:02

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

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


          1. nikolz
            26.07.2023 14:02

            это подойдет ?:


            1. gluck59
              26.07.2023 14:02

              Да ,что-то подобное тоже приметил.

              Но оказалось что старые щетки 2003 года по длине еще примерно такие же... Ограничился заменой рассыпавшихся подшипников.


        1. DaneSoul
          26.07.2023 14:02
          +3

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

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


          1. Leetc0deMonkey
            26.07.2023 14:02
            +7

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

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


            1. DaneSoul
              26.07.2023 14:02
              +1

              Это справедливо только для совсем дешевых устройств или для слишком сложного ремонта.
              Стиральную машину у родителей ремонтировали несколько раз - меняли тен, меняли водяной насос, что-то еще что не помню, и это вполне было оправдано по деньгам, машинке уже лет 15. Хотя да, если сгорит двигатель - проще сразу новую машинку купить.
              А вот на дешевом шуруповерте навернулись шестеренки, действительно оказалось проще новый за 1500 руб купить.


              1. Leetc0deMonkey
                26.07.2023 14:02
                +3

                машинке уже лет 15

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


                1. engine9
                  26.07.2023 14:02

                  У меня есть фен "филлипс" он переехал со мной через несколько квартир и даже город сменил и продолжает исправно работать. У него отличный пластик, который не охрупчился. Я ронял насадку несколько раз, она падала углом и по прежнему нет ни единой трещины и даже провод никак не повредился. Он служит исправно с 1996 года (ну или около того. Есть фотография где я ребёнком с ним на одном кадре).

                  Современные фены разваливаются от эксплуатации за пару лет, при том же бережном режиме эксплуатации.

                  Ну и холодильник аристон работает лет 20, сломался лишь единожды из за того, что от вибрации перетёрлась трубка датчика. Отремонтировали за 30 минут.


      1. grey_rat
        26.07.2023 14:02
        +3

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


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


        1. engine9
          26.07.2023 14:02
          +2

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


        1. SuperTEHb
          26.07.2023 14:02

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


          1. grey_rat
            26.07.2023 14:02
            +1

            Раньше например простые вещи делали...

            Это чайники, утюги и пр. без каких-либо электронных табло или особо интеллектуальных функций. По сути там выбор между двумя-тремя режимами работы. Эта тенденция в последнее время очень сильно заметна, всё тоже самое, но уже динамик пикает и светодиоды моргают по другому.
            Возможно на потребителя это магическим образом действует, когда во время включения светодиод не просто загорится, а замигает и из маленького динамика ещё мелодия заиграет.
            Было как-то давали починить маленький китайский стабилизатор напряжения, внутри стоит обычный автотрансформатор с несколькими отводами от обмотки, переключение релюшек на них идёт с определённым шагом напряжения в сети, например 190, 205, 220, 235 вольт, а на табло всегда показывается 220, хотя в реале на выходе может быть эти самые 206 или 234 вольт. Там и стоит обычная микросхема-компаратор которая всю эту интеллектуальную работу делает и микроконтроллер на индикацию. Знакомый даже предлагал провести эксперимент, достать микроконтроллер из колодки и посмотреть, будет ли схема по прежнему работать. Так как вознико подозрение, что мк лишь выводил "220" и "Err" на табло. Но я не рискнул.


    1. engine9
      26.07.2023 14:02
      +1

      Мне кажется что вы правы в первой части комментария. Это относится к вопросам функионирования психики.

      На мой взгляд проблемы современности в двух взаимовлияющих на человека факторах:

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

      К этому еще хочется добавить: программисты вынуждены осваивать в одиночку то, что было придумано многочисленными коллективами людей, специалистов в их областях. Это чем-то напоминает ситуацию с историей развития науки, когда она зарождалась учащимся было проще дойти до "края" системы знаний. Теперь же нужно положить треть жизни, чтобы добраться до неизведанных областей и там работать. Но в науке структура знаний хотя бы имеет доказательный фундамент. Программирование — абстрактная паутина из невесомых костылей, плести которую не стоит вообще ничего! И человек в одиночку вынужден всё это великолепие, созданное тысячами других людей как-то умять в собственной голове при том, что эти знания еще и стремительно устаревают.

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

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

      Иногда гляжу на своих знакомых, которые во время чаепития могут десяток раз отвлечься и залипнуть на смортфон и просто офигеваю от того, как сейчас живут "нормальные" современные люди. Ясен хрен, что у них никакущая концентрация и паттерны поведения в духе "херак херак и готово", они же почти всё в перманентном психическом истощении находятся и не понимают этого.


      1. grey_rat
        26.07.2023 14:02
        +1

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


        1. engine9
          26.07.2023 14:02

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


  1. Ramayasket
    26.07.2023 14:02

    Это статья о том, сколько бед может наделать дурость. Истинно так. Но качество мира падает повсеместно.


    1. vkomen
      26.07.2023 14:02
      +2

      Где это было, наверно тут же, на Хабре?
      "Если бы строители строили дома так же, как программисты пишут код, первый залетевший дятел разрушил бы цивилизацию"


      1. randomsimplenumber
        26.07.2023 14:02
        +3

        Ну да..


        1. Wesha
          26.07.2023 14:02

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

          Так что проектанты молодсы. Это опять эксплуатанты накосячили.


          1. iig
            26.07.2023 14:02

            Ну да, ну да.. К пуговицам нет претензий? (ц) ;)


            1. Wesha
              26.07.2023 14:02

              Ну так я ж и сказал: пуговицы калоши — как новенькие!


      1. nightlord189
        26.07.2023 14:02
        +7

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


        1. Kreastr
          26.07.2023 14:02
          +2

          Ага. И был бы обязательный к исполнению кодекс программирования на MISRA C для всех. Не нравится - живите (на улице) без компуктера. А в Германии еще бы требовали обои на выбор из 3 стандартных цветов в зависимости от того в какой части города живет человек.


        1. ALexhha
          26.07.2023 14:02
          +1

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

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


          1. nightlord189
            26.07.2023 14:02
            +1

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


        1. khajiit
          26.07.2023 14:02

          И при всем при этом — софт все равно был бы плохого качества.


      1. engine9
        26.07.2023 14:02

        Так они так и строят. Посмотрите что будет лет через 10 с любым районом московских или питерских "человейников". В них на уровне архитектуры, буквально, вложены фундаментальные проблемы.


      1. HenryPootle
        26.07.2023 14:02

        Это было ещё в ФИДО.


  1. ivanstor
    26.07.2023 14:02
    +5

    Плюсую, конечно.
    Сын работает инженером в совершенно другой отрасли, не в программировании. Более "железной", в прямом смысле. Ну совсем железной, по много тысяч тонн. Говорит, что там тоже самое, причем по нарастающей.
    Пугает, если честно.


    1. Nurked Автор
      26.07.2023 14:02
      +8

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

      Я-то по глупости думал, что он скажет, что у них не так. Какое там! Он просто сидел, кивал, и говорил "ты не представляешь как ты прав!"

      В итоге - эта статья.


      1. Andruh
        26.07.2023 14:02
        +6

        А я вот читал и думал, что статья не о программировании. А о стремительном отупении человечества. И усмешка в том, что написана она уже не совсем человеком. Ну или человеком в обнимку со своим божеством gpt4. Человеку вообще сложно думать одному за всех. Нужно к чему-нибудь да прислониться. А тут столько соблазнов в наш век.


      1. victor_1212
        26.07.2023 14:02

        > В итоге - эта статья.

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


      1. TokminD
        26.07.2023 14:02
        +4

        Из "железных" случаев:

        1) начинал работать в новом стеке, дали посмотреть библиотеку работы с моторами, чтобы разобраться в параметрах. Говорят расскажи потом как работает рампа - алгоритм последовательного разгона/замедления мотора. Начал разбираться - циклы не сходятся. Получается алгоритм разгоняет мотор в 2 раза медленнее, чем указано оператором. Пошел к "лиду" разбираться, оказалось что никто эту библиотеку и не проверял, действительно реальный параметр в 2 раза нижен заданного. Финальный ответ: медленнее - не быстрее, а этот код уже на десятках производств крутится. Хотя где-то параметры стоят для "алгоритмов безопасности" и такие просчеты могут дорого стоить.

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

        В "железе" работал не очень долго, но задуматься хватило.


    1. avost
      26.07.2023 14:02
      +3

      Так у "железных" инженеров использования чисто эмпирических наработок гораздо больше. Только вместо StackOverflow выступают отраслевые справочники. У Фейнмана железно-инженерный подход очень хорошо описан:

      Первое:
      трение в каждом подшипнике такое-то, а в каждом сопряжении шестеренок -
      такое-то. Из этого ты можешь вычислить, какая понадобится сила, чтобы
      привести эту штуку в движение. Второе: когда у тебя передаточное число,
      скажем, два к одному и ты хочешь знать, надо ли тебе сделать 10 к 5, или 24
      к 12, или 48 к 24, то вот как это решается. Ты смотришь в "Бостонский
      каталог шестеренок" и выбираешь те шестеренки, которые находятся в середине
      перечня. У тех, которые в верху перечня, так много зубьев, что их трудно
      сделать. Если бы удавалось делать шестеренки с более тонкими зубьями,
      перечень продолжили бы еще дальше вверх. Шестеренки в нижней чести перечня
      имеют так мало зубьев, что легко ломаются. Поэтому в лучших конструкциях
      используются шестеренки из середины списка.

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


      1. ivanstor
        26.07.2023 14:02
        +1

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


        1. Ariman
          26.07.2023 14:02
          +1

          А у вас есть какие-то аргументы или предположения, почему "на уровне школьной задачки о бассейне с трубами" не сошлось, а в САПР - сошлось?

          Потому что, знаете, говорить "фу, да в этом вашем сапр может что угодно быть, пофиг что оно там показывает" так-то не менее глупо, чем говорить "фу, да пофиг на твои расчеты, сапр показал и ладно". Если это не очередное соломенное чучело, призванное усилить эмоциональный акцент, то это серьезная проблема. Я бы обеспокоился, если бы у меня САПР выдал один результат, а расчеты - другой, потому что это значит только одно: долгое разбирательство, что же конкретно вызывает расхождение, т.к. кому-то в этом случае придется в итоге принимать решение, чему конкретно верить, и чтобы это не было "пальцем в небо" и не пришлось за это отвечать, придется перепроверять и первое и второе.


          1. ivanstor
            26.07.2023 14:02
            +2

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


            1. Ariman
              26.07.2023 14:02
              -1

              Не очень понятно, что вам мешает в этом случае в САПР подать правильные входные данные и продемонстрировать совпадение с расчетами, это как минимум сместит фокус с доверия или недоверия САПРу на конкретные параметры.


              1. Andy_U
                26.07.2023 14:02

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


      1. dizatorr
        26.07.2023 14:02

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

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

        Раньше это делали на бумаге с калькулятором или логарифмической линейкой. У нас курсач на втором курсе такой был. Сейчас в КАД системе автоматом считается + из справочника предложит набор из готовых вариантов.


  1. KirillBelovTest
    26.07.2023 14:02
    +6

    Я сначала подумал, что пост Король Разработки написал


  1. KirillBelovTest
    26.07.2023 14:02
    +1

    Насколько я знаю уже миллионы лет человек и его предки являются социальными организмами и следовательно эволюционировали все это время в обществе. В результате наш мозг лучше всего адаптирован к взаимодействию с другими членами общества и намного хуже работает если ему нужно разбираться в чем-то точном и техническом. Мы очень хорошо видим эмоции других, понимаем по выражению лица, глаз где опасность а где нет и так далее. Еще одним следствием является то, что любое необъяснимое являете человек стал наделять личностью, так как тогда можно сказать что явление тоже как член общества обладает своим характером и поведением, которое свойственно другим членам общества. А тогда явление становится более понятным и его можно объяснить. В итоге все это превратилось в религию. Так как вместо попыток найти рациональное объяснение тому что например ветер дует - человек просто сказал что у ветра такой характер и он дует потому что хочет. А дальше по индукции. Стало можно объяснить все необъяснимое. Так и появилась религия. Кстати у животных тоже есть религия. Точнее признаки религии и того что у них есть вера в высшие силы. Так вот… Из-за невероятного количества технологий, языков, методик и фреймворков уже стало невозможно запомнить как все они работают и тут подключаются те самые механизмы когда мы начинаем наделять личностью уже технологии а затем превращать их в духов и божества


    1. Krouler7
      26.07.2023 14:02

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

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

      А вот само сравнение(читай наделение сущностью) будет называться абсурдным строго после изучения объекта/явления.


  1. laatoo
    26.07.2023 14:02
    +13

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

    вопли стареющих разрабов это отдельный жанр.

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


    1. Nurked Автор
      26.07.2023 14:02
      +6

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

      Я умею водить машину с ручной коробкой с правым и левым рулём. Я всё ещё знаю как работает манифолд и что такое карбюратор.

      Что же это вы меня в стареющие записываете? Мне только 37, я отрываю вторую компанию, жизнь только начинается.

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

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


      1. laatoo
        26.07.2023 14:02
        +1

        Что же это вы меня в стареющие записываете?

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


        1. Nurked Автор
          26.07.2023 14:02
          +6

          Кто вам сказал, что я шипел на молодняк? Идиоты, про которых рассказываю они моего возраста.

          Не раз я видел замечательных молодых программистов. Не раз видел замечательных и очень хороших стариков. Я с кем только не работал.

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


          1. laatoo
            26.07.2023 14:02
            -6

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

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

            И вам обидно, что они добиваются сопоставимых с вашими карьерных успехов, хотя работают как-то не так.

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

            Это ощущение "недодаденности" - опасная штука, давите в себе эту гадину.


            1. Ariman
              26.07.2023 14:02
              +1

              У меня раньше такое было, когда мне было 20+

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

              К счастью, к 30+ это прошло, и пришло понимание, что имеет значение только цель и стратегия ее достижения. И если у кого-то цель - поскорее проверить свою идею, то пусть использует хоть ардуинку, хоть конструктор Лего.

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


              1. Nurked Автор
                26.07.2023 14:02
                +3

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

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

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

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

                А ежели какой-то дебил начнёт орать что кроме микросхемы ЧЕБУРАН2000 ничего в мире не должно было быть, то наверняка тяжко вздохнёте и скажете что-то интересное.


                1. Ariman
                  26.07.2023 14:02
                  +8

                  Смотрите, у меня претензия в другом. Вопрос в том, как человек эту правоту защищает.

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

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

                  Вы вот мои посты упомянули - может, вас это разочарует, но я железо не брал в руки лет 10, я с 2012го года с головой погрузился в машинное обучение. Вот захватило оно меня, когда это еще не было мейнстримом, когда еще о "пришествии ИИ" не кричал каждый блоггер. Я тогда прикинул, в каком направлении мы движемся и с удовольствием начал подтягивать свое понимание математики и работать с нейросетевыми моделями, понимая, что это станет самой громкой темой грядущих десятилетий (а заодно инвестировал в NVidia, как в основного производителя ускорителей для таких вычислений, чему сейчас очень рад).

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

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

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


                  1. Nurked Автор
                    26.07.2023 14:02

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

                    А если он приходит к вам с той-самой-микросхемкой, а после долгих разбирательств, он, в слезах, идёт и впаевает-таки эту микросхему, потому что он так знает?

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


                1. Krouler7
                  26.07.2023 14:02
                  +1

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

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


              1. grey_rat
                26.07.2023 14:02
                -1

                Вижу отсылку к моему комментарию. При этом же написали


                что имеет значение только цель и стратегия ее достижения.

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


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


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


              1. engine9
                26.07.2023 14:02
                -1

                Если вы постулируете всеблагость подхода "цель оправдывает средства" то не должны жаловаться если вашу квартиру взломают и обокрадут. Человек достигал цель поправить своё материальное положение. Кратчайшим и самым технологичным путём.

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


            1. Nurked Автор
              26.07.2023 14:02
              +2

              Добиваются успехов, извините? Откуда?

              Я себе бизнес на этих людях делаю. Мне вообще всё радостно. Моя компания занимается IT консультированием. Мы приходим, и разбираем приложения, которые плавят сервера, переписывая их на голанге, и запуская в 10% мощности. У меня есть дюжина старых бородатых дядек из России и Белорусии, которые могут заревёрсить код практически на любом языке. Но в основном это либо лаварельчик, либо нодик.

              Мне постоянно приходится встречать начальников отделов и руководителей компаний, которые рассказывают одну и ту же историю:

              У нас была команда из [сынков директора|индусов|местных|вообще непонятно кого] они обещали за год написать [Примочку для ЦРМ|плагин|портал|бэкенд]. Писали последние два года, там куча логики, куча всего, но мы не смогли это запустить. Вот, у нас всё на AWS вертится, не могли бы вы помочь запустить.

              Берёшь, пересобираешь это добро, получаешь на лапу хорошую сумму и радуешься жизни.

              Только правило твёрдое:

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

              Это касается даже босса, который ничего кроме двойного щелчка мыши в своей жизни не знает.

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

              А работы у меня много, я не жалуюсь.


              1. DarthVictor
                26.07.2023 14:02
                +4

                Я себе бизнес на этих людях делаю. Мне вообще всё радостно. Моя компания занимается IT консультированием. Мы приходим, и разбираем приложения, которые плавят сервера, переписывая их на голанге, и запуская в 10% мощности. 

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


      1. Ariman
        26.07.2023 14:02
        +14

        Вы так мой поинт и не поняли, к сожалению. Или предпочли сделать вид, что не поняли.

        достаточно времени чтобы во всём этом разбираться. Но при этом - у нас достаточно времени на всё остальное.

        "всем в этом" - в чем? "на все остальное" - на что? Почему вы подменяете "выбирать, на что тратить свое время" своим "отказываться от познания"?

        Я умею водить машину с ручной коробкой с правым и левым рулём. Я всё ещё знаю как работает манифолд и что такое карбюратор.

        Круто, а вертолетом управлять можете? Двигатель его починить? А операцию на сердце проведете?

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

        Суть в том, что ценность таких знаний упала практически до нуля, на поверхностном уровне разобраться может любой современный человек (тот, кто, говоря вашими словами "может адаптироваться") - это уже не уникальность, это норма. Информации полно, только поставь цель и впитывай знания. Проблемы начинаются там, где требуются углубленные знания неочевидных тонкостей. А получение таких знаний требует целенаправленного выделения времени. Оно ограничено. Любой человек в итоге на чем-то фокусируется, даже если у него в фокусе десяток совершенно разных сфер.

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


        1. planet711
          26.07.2023 14:02
          -1

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

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


      1. 0xd34df00d
        26.07.2023 14:02
        +3

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

        Но ведь нет, недостаточно.


        Я примерно разбираюсь в кишках процессора с софтварной точки зрения (чтобы писать эффективный код, помня про false sharing'и, ложные зависимости по командам с errata'ми процессоров, пенальти за переключение между xmm/ymm или legacy/vex encoding), но зато я вообще ничего не знаю о вебе. У вас там указаны какие-то реакты, редьюсеры и прочие несты… говнесты, ёма. Нет времени в этом разбираться и, что очень близко и почти эквивалентно, нет желания.


      1. engine9
        26.07.2023 14:02
        +1

        Это не волевой и осмысленный поступок. Они вырастают в плотном потоке инфомусора из за чего не могут сформировать мышление так, как это повезло нам.

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

        А тут мы кормим целое поколение инфомусором, пытаем их непомерным стрессом в школе и получаем поколение с нарушенным мышлением.

        Эта проблема не решится топаньем ногами и возвываниями о том что "все вокруг тупые".


  1. aanovik42
    26.07.2023 14:02
    +9

    Это Монолит! Это - единственное возможное решение, ибо так сказал Гит! Нет, Монолит - это плохой бог! Его уже давно сразил Микросервис! Так что смерть твоему монолиту. Большинство дискуссий на технических форумах больше напоминают сражение католика с протестантом.

    Большинство таких дискуссий на технических форумах (равно как и на Хабре) приходит к выводу "каждой задаче свой инструмент" уже в верхних комментариях — в том числе ровно под этой статьёй. Да и в целом споры остроконечников с тупоконечниками в профессиональных сообществах заметно притихли по сравнению с 2010-ми, даже само понятие "холивар" уже давно не в моде (ради интереса глянул Google Trends — ну да, так и есть).

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

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

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

    Почему морда тормозит на ФФ? Никак не знаю, ибо великий и непобедимый Реакт Неизвестный, сокрыл в своих сорцах проблему неразрешимую. Issue была поднята великими светлыми рыцарями ордена Понимающих, ждём, когда её одобрят и пустят в великий Пиар!

    — примеры безобразного отношения к работе, которое в сообществе НЕ считается одобряемой нормой. Зачем притягивать за уши то, чего нет?


    1. Daddy_Cool
      26.07.2023 14:02
      +2

      Отличный гуманитарный коммент. Увы, не могу ныне поставить лайк в силу космических причин. Вставлю пять копеек. Отношения к работе недостаточно. Чтобы работа получилась хорошо, надо еще и быть умным. Последнее понятие тоже градиентно, и много ситуаций когда самые умные скажут - "эту работу не надо делать вообще". ;)


  1. venanen
    26.07.2023 14:02
    +2

    За статью лайк, и вопрос поднят очень важный. Каждый инструмент должен решать какую-то задачу, не важно, новый ли это язык, фремворк, паттерн и так далее. И бывает очень полезно спросить кандидата на эту тему, вроде: "А почему vue? Почему не другой фреймворк или vanilla?", или "почему Go, а не, например, NodeJS/Java/Python?". Я таким и в обычной жизни пользуюсь - вроде "так вот ты говоришь, что человек_нейм плохой, а почему?". И если дальше следуют аргументы, возможно жизненный опыт - то значит человек знает, какие проблемы решает инструмент, значит он может его верно применять. Значит, что он способен построить логическую цепочку. Но зачастую слышу ответ в стиле: "это модно", "так все делают", и самый бронебойный: "это же очевидно!". Это значит человек просто транслирует мнение, услышанное где-то, не знает реального целеполагания инструмента, а значит далеко не факт, что сможет его верно применять.


    1. DaneSoul
      26.07.2023 14:02
      +7

      Но зачастую слышу ответ в стиле: "это модно", "так все делают"

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


  1. gpaw
    26.07.2023 14:02
    +4

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

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

    грустно это всё.


    1. Nurked Автор
      26.07.2023 14:02
      +7

      Пишите, будет интересно. Вот вам инвайт - потратье его на эти статьи. Только чтоб с мясом, обстоятельно и понятно. Хабр будет торт.


      1. gpaw
        26.07.2023 14:02
        +3

        с мясом, примерами и оптимизациями :)


    1. SuperTEHb
      26.07.2023 14:02
      +1

      Нам в провинциальном ВУЗе более-менее рассказывали про индексы, ключевые поля, организации записей в БД и всё такое. Только базовые вещи, конечно, но всё же рассказывали. Хотя и факультет был физическим, что ещё больше сбивает с толку. Тут, наверное, можно переделать старый анекдот:

      Не, дядь, вы не поняли. Я не настоящий программист, я просто программы пишу.


    1. DarthVictor
      26.07.2023 14:02
      +1

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


  1. ivankudryavtsev
    26.07.2023 14:02

    Занятное чтиво. Сами виноваты, как говорится. Бизнес решил резко опускать планку, потому что инженеров стало нужно МНОГО! Еще придет время подсчета TCO для инженеров, делайте скриншот :)

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

    А насчет ассемблера и прочего, я думаю что мысль можно сформулировать проще: программисты больше не хотят гордиться своей работой; как говорится (из трамвая в NYC): Why IT? Money!

    Все, кто здесь «гундит» пришел в IT, когда владельцы пирожковых зарабатывали существенно больше программистов. Как говорится, не за бабки :)


    1. Nurked Автор
      26.07.2023 14:02

      Тут как раз можно уже говорить, что пора перестать превращать свою жизнь в религию. Мы начинаем винить всё и вся вокруг себя, говоря что справится с этим не сможем. Дикие перепады на рынке труда! Бууу! Плохой Бог Трудовик. Всех будут увольнять потому что ИИ! Бууу! Плохой бог ЧатГПТ.

      А всякие предприниматели в такое время бегают с горящими глазами и приговаривают "Наконец-то, изменения на рынке! Деньги!"


      1. ivankudryavtsev
        26.07.2023 14:02
        +2

        Вы так все к религии сведете. Я с двух сторон смотрю. И не вижу вообще религии вокруг. Кажется, Вы смакуете идею, которая дает Вам восторг. Знаете, в районе лет 20 мне в голову пришла мысль в духе «завтра будет завтра», так я пол дня писал кипятком. Еще бы и на хабр написал бы. Не кормите своего бога внутри :)


        1. Nurked Автор
          26.07.2023 14:02

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


          1. ivankudryavtsev
            26.07.2023 14:02

            Ну знаете, такая она суть социума. Мы же не про Ницше тут…


      1. ivankudryavtsev
        26.07.2023 14:02

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


        1. Nurked Автор
          26.07.2023 14:02

          А как так получилось, что вы находитесь в пустыне без воды? Люди совершают непоправимые ошибки. Не умение их предвидеть - это проблема.


          1. ivankudryavtsev
            26.07.2023 14:02
            +2

            А как так получилось, что вы в Турции, а там землетрясение? Ну камон. Вселенной срать на нас и наши планы временами. Не лезьте в бутылку.

            Я не призываю быть фаталистом никого, но думать, что мы управляем всем и как supermassive blackhole пространство гнем, по меньшей мере, неразумно :)


            1. Nurked Автор
              26.07.2023 14:02

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


              1. ivankudryavtsev
                26.07.2023 14:02

                Дискуссия перестала быть томной. В этой системе координат не вижу пространства для обсуждения.


  1. Tsimur_S
    26.07.2023 14:02
    +11

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

    А знание асм как-то повлияет на 300 мегабайт ассетов?

    Вопрос со звездочкой: Можно ли избежать загрузки 300 мб ассетов если не знаешь асм?


    1. lorc
      26.07.2023 14:02
      +1

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

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


      1. Tsimur_S
        26.07.2023 14:02
        +2

        Во-первых может прийти понимание, что 300 мегабайт ассетов - это как-то дофига. 

        А может и не прийти. Может так же прийти если твой единственный ассемблер это ассемблер из игры Shenzhen IO или вообще никакой.

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


      1. acsent1
        26.07.2023 14:02

        А почему 300 Мб - это много? Для какой-нибудь игрушки - это тьфу
        Может оно просто кажется много, ибо еще помнятся времена когда и жесткие диски были меньше этого не говоря про оперативку


        1. Vizmaros
          26.07.2023 14:02
          +1

          Потому что речь шла о отображении времени. А в 300 Мб можно 3D модель дедушкиных часов засунуть с анимацией маятника и хода часов. Можно, но зачем?


      1. iig
        26.07.2023 14:02
        +1

        когда понимаешь что 300 МБ ассетов - это дофига,

        Эти 300 мб для начала кто-то сконструировал, наверное, ему они зачем-то были нужны.


        1. lorc
          26.07.2023 14:02

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


  1. Vest
    26.07.2023 14:02
    +1

    Мне понравился тот момент с интервью. Я раньше этот кусочек читал в другом посте.

    И я согласен с этим принципом. Сам стараюсь так же жить и всегда задавать вопрос «почему?», чтобы разобраться в проблеме.


  1. akakoychenko
    26.07.2023 14:02
    +8

    Вставлю свои 5 копеек в защиту религии...

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

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

    А чем же занимается абсолютное большинство разработчиков, - они решают задачи, где бесконечное множество субоптимальных решений решит проблему бизнеса. Условная еще одна CRM может работать на практически любом СУБД/фреймворке/ЯП/железе, и решать поставленную задачу. И, фактически, религия дает возможность начать решать задачу мгновенно. Без нее команда может застрять в бессмыссленных спорах "какая субд лучше себя покажет в проекте на 20 пользователей".


    1. murkin-kot
      26.07.2023 14:02
      +1

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

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

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

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


  1. slbeat
    26.07.2023 14:02
    +3

    Умный не тот, кто знает многое, а тот, кто знает нужное!


  1. eandr_67
    26.07.2023 14:02
    +2

    А как же вера в ООП — с высшей мантрой "полиморфизм, инкапсуляция, наследование" и священным текстом "Design Patterns"? Ведь именно с этого всё началось.


    P.S. Прекрасная статья.


    1. gatoazul
      26.07.2023 14:02

      Вы тоже помните этот дикий синхронный вой начала 90-х о приходе ООП - нового мессии, который решит все проблемы программирования? Эти непрерывные славословия, это постоянное "фу" на все остальные подходы?


      1. Ndochp
        26.07.2023 14:02

        Там еще CASE был рядом, который строился по классам и обратно.


  1. youngmysteriouslight
    26.07.2023 14:02
    +4

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

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

    Как отмечали выше другие, наклеивание ярлыка «религиозный фанатик» на всех несогласных — тоже форма сектантства.

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


  1. SuperCat911
    26.07.2023 14:02
    +1

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

    Когда кто-то выбирает мейнстрим технологию, то обычно ссылается на ее авторитетность в глазах международного сообщества, намекая на то, что миллионы разработчиков не могут ошибаться. Чтобы не выглядеть идиотом, предварительно нагугливается какая-нибудь статья о том, как красиво решается подобная проблема. Собственно отсюда и идет вера в стек. А еще это приправляется вопросом: а кто это потом все поддерживать будет? Ответ будет простым: да кто угодно, кто также верит и интересуется этой же технологией. Самое главное, чтобы технология была от какой-то известной компании, а не ноунейма.

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


    1. acsent1
      26.07.2023 14:02

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


    1. cdriper
      26.07.2023 14:02

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

      на этом принципе "абстракции от низлежайшего уровня" построена любая сложная система


      1. MihaTeam
        26.07.2023 14:02

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


  1. izogfif
    26.07.2023 14:02

    База лежала долго, так как при попытке записи чего-то нового, она шерстила все миллионы предыдущих записей и сравнивала их ИДшники с ИДшником записываемого.

    Можете пояснить, почему? Это какая-то специфика используемой базы данных? Разве базе много времени требуется, чтобы отыскать коллизию среди 16-байтовых (GUID'ы вроде бы как 16-байтовые последовательности) последовательностей в проиндексированном столбце, на который навешен unique или primary key?


    1. Nurked Автор
      26.07.2023 14:02

      Он написал код, котррый выгружал эти гуиды и обрабатывал его на сервере каждый раз при записи.


      1. izogfif
        26.07.2023 14:02

        ОК. А что если бы он пытался сделать вставку в базу данных с ON DUPLICATE KEY UPDATE guid = guid (т.е. тупо ничего не делать)? Все равно бы тормозило?


        1. Nurked Автор
          26.07.2023 14:02
          +1

          В то время, как я помню, монгодб такого синтакса не понимала.

          Наверноеж можно было. Знаете только чем мы её заменили, эту БД? Текстовыми файлами на диске. Оказалось что GREP был намного более эффективным решением.


          1. RH215
            26.07.2023 14:02

            Оказалось что GREP был намного более эффективным решением.

            Так аналитика на unix-окружении всегда была самым эффективным и быстрым решением. Где-то рядом ещё sqlite находится.


      1. acsent1
        26.07.2023 14:02

        А код ревью у вас бывает? Очевидно же что перебор всех строк в данной задаче - это совсем не то, что нужно


  1. Dolios
    26.07.2023 14:02
    +1

    Краткое содержание статьи:
    Мойте руки перед.... и зад! (и прочие труизмы)


    1. victor_1212
      26.07.2023 14:02

      интересно каких высших истин Вы ожидали :)


  1. Pavel1114
    26.07.2023 14:02
    +3

    каждый день на хабре в топе очередной преисполнившийся. Уже забыли как патчить kde под bsd


    1. Nurked Автор
      26.07.2023 14:02

      Вот, не поверите, чем я щас занимаюсь.

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


      1. pulsatrix
        26.07.2023 14:02

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


  1. Error1024
    26.07.2023 14:02
    +6

    "Ну и что, что не знает? Хрен с ним, с этим ассемблером, кто на нём пишет?" А вот хренушки вам. На нём всё работает. А когда вы знаете асм хотя бы пары процессоров, вы понимаете, как они работают.

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

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


    1. atshaman
      26.07.2023 14:02
      +4

      С учетом кучи не особо документированных оптимизаций на уровне процессорной микроархитектуры все становится совсем смешно. Если до первых пентиумов еще можно было верить в то, что CPU выполняет вот ровным счетом то и так как ты в своей assembler'ной портянке понаписал, то сейчас это ну... э... та самая "слепая вера".


  1. DabjeilQutwyngo
    26.07.2023 14:02
    +2

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

    Так вот в подавляющем большинстве случаев ответ будет обескураживающим: мысли сперва взялись, а потом уже под них психика стала подкидывать сознанию аргументацию, которое оно приняло. Вот так психика манипулирует сознанием, чтобы не дать ему себя обнаружить и познать. В этом самое главное -- мотив, т.к. ради него всё было, а содержание аргументации выполнило лишь роль ключа к замку. И потому эта аргументация образовалась довольно произвольным образом: человек поверил либо в утверждение, либо в его отрицание. Т.к. иной путь -- проверять и выяснять, т.е. исходить из начальной точки "неизвестно" или "существуют исходные варианты с таким-то способом их перечисления и разбиения". И это не путь человека, а путь разума, который может обрести достаточную мощь и силу по сравнению с человеческой психикой лишь с развитием неокортекса (т.е. около 25-28 лет), в отличие от интеллекта.

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

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

    В этом смысле человек не обладает свободой воли: его путь выбора -- верить, почему он так и стремится выстроить процессы и системы через это действие, его входные и выходные аргументы. Так человек избегает неизвестного, непонятного и ответственности за свой выбор. Без ответа на вопрос, каким образом думаешь и выбираешь, без проверки собственных выводов и мыслей, воля не принадлежит исполняющему устройству: для такого ответа требуется понимание и познание. Это точно также, как компьютер не понимает, если ему нечем, и поэтому его приходится программировать. А когда есть чем, то это ещё должно произойти: наличие функциональности не означает её вызова и выполнения.

    Таким образом, лишь разум обладает свободой воли, т.е. субъектностью, и потому иногда и кое-где может что-то выбирать, вызывая, местами, требующиеся для этого действия в человеке. Относительная свобода приходит лишь с освобождением разума от оков человеческой психики: больше всего обманывает она и мозг в силу своего устройства и задач, под которые они затачивались. Хотя бы для этого стоит разбираться и проверять там, где можно либо знать, либо не знать (в противоположность верить = игнорировать само существование объекта описания, его поведение и увязывание мысленного или иного образа с ними). Т.е. чтобы совершать осознанный и свой выбор, а не чужой (особенно когда это бессознательный выбор собственной психики или человека), наивно веря при этом, что он свой (особенно потому что человеческий и на эмоциях). В этом смысле программист становится таковым лишь познав собственное мышление, его методы и причины, по которым он не может заложить их в вычислительную систему для воспроизведения (эмоции как сигналы давно уже заложены и воспроизведены в технических и вычислительных устройствах).


  1. DenisPantushev
    26.07.2023 14:02

    [].find(e=> {e.id === id}) - это стандарт в нашем проекте!


  1. flancer
    26.07.2023 14:02
    +10

    Вот что-то мне показалось, что в чём-то автор лукавит. "Если вы не понимаете, как работает Нода, то сядьте и разберитесь в ней." (с) Ага, и с Пайтоном так же? И с JS? И с TS? А есть ещё Java, PHP, C#, Go тот же. RDBMS - сядьте и разберитесь с Oracle/MS SQL/PostgreSQL. Изучите отличия MariaDB от MySQL. А потом разберите отличия всего это многообразия от NoSQL DBs, объектно-ориентированных БД, БД документов и иерархических БД. Чем отличается Tailwind от CSS3. Когда лучше применять React, когда Angular, а когда Vue? Для чего нужен Svelte? Нужен ли вообще $mol? Можно изучить ещё различия PHP'шных фреймворков друг от друга - Laravel, Symfony. Java'вский Spring. Занырнуть в архитектуру и особенности функционирования WordPress, Magento, Joomla, Django, Odoo, 1C, Liferay. Понять чем CMS отличаются от CRM, а всё это от ERP и BPMS.

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

    "Я знаю только то, что ничего не знаю, но другие не знают и этого" (с) Сократ


    1. Vizmaros
      26.07.2023 14:02

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


      1. V1RuS
        26.07.2023 14:02

        и ведь находит!


  1. sepulkary
    26.07.2023 14:02
    +2

    Говорить кому-то, что ты - сын божества, - удивительно удобно.

    Вообще-то не совсем. Если вы почитаете «Золотую ветвь: Исследование магии и религии» Фрэзера (имхо, книга № 1 для по данной теме), то увидите, что божественных посланников периодически пускали на фарш просто за то, что дождик, например, вовремя не пошел.


  1. nikolz
    26.07.2023 14:02

    Вера и знания - две противоположности.

    Вера позволяет экономить время и уклониться от ответственности за свои действия.

    Знания позволяют объяснить (оправдать ) свои действия, но требуют умственных усилий и время находить причинно-следственные связи.

    Каждый сам решает, что ему выбрать.


  1. Bedal
    26.07.2023 14:02
    +6

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


  1. checkpoint
    26.07.2023 14:02

    Навеяло AI Коаны из The Jargon File.


  1. BobovorTheCommentBeast
    26.07.2023 14:02
    +3

    1. Похожий на 95% текст появляется на Хабре раз в год. Я, читая думал, что это кто то залил еще один перевод.

    2. Евангелист жалуется на евангелистов, спешите видеть.

    3. Это все кукареки без подкрепления. Пусть и направленный против кукареков без подкрепления.


  1. alebedev7
    26.07.2023 14:02
    +1

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


  1. bbs12
    26.07.2023 14:02

    Даже если вы читаете абсолютно бесполезную книгу о том, как ловить котиков в капканы, вы от этого не станете глупее.

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

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


    1. Nurked Автор
      26.07.2023 14:02

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


    1. Yuriy_75
      26.07.2023 14:02

      >>Если постоянно потреблять бесполезную информацию в больших количествах, то она может со временем вытеснить что-то полезное

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

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


  1. Yuriy_75
    26.07.2023 14:02

    А для чего нужны эти быстро создаваемые и быстро выкидываемые на свалку программы? ИМХО - в первую очередь ради корпоративных менеджеров. Создается проект, выбиваются бюджеты. Потом наверх идет красивый отчет, дальше кто-то получает приличный годовой бонус, а возможно и повышение. Что будет через год-другой с этим программно-аппаратным комплексом - nobody cares.

    А разработчики и ихние технологии в этом процессе - всего лишь необходимый для пьесы реквизит. См. "Бредовая работа" Дэвида Гребера.


  1. Hivemaster
    26.07.2023 14:02
    +2

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

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

    Нет ничего ужасного в том, чтобы учиться чему-то новому.

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


  1. nkgrig
    26.07.2023 14:02
    +6

    Луддит

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

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

    Необразованный

    Про историю и в частности историю религии написана полная ахинея. Приведу только несколько примеров.

    Греки и Римляне пришли к мысли о необходимости строительства дорог, школ и храмов в качестве главной цели.

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

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

    Нет. Религия не используется для этого. Основная задача религии - снижение войск для контроля территориии.

    Но чем больше мы узнавали, тем меньше нам требовалось Испанская Инквизиция.

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

    Бредит

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

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

    Даже если вы читаете абсолютно бесполезную книгу о том, как ловить котиков в капканы, вы от этого не станете глупее.

    Станете.

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

    Не казалось. Не помогла. Видно.

    Не существует плохих занятий. Не существует плохих книг.

    Существует.

    Никогда не говорите, что какой-то язык лучше, чем какой-то другой язык.

    C++ умеет гораздо больше и более выразителен, чем TypeScript, Rust, JAVA, например. Запрещаешь говорить об этом.

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

    Ну-ка, вмемогущий, сделай так, чтобы HTML-вёрстка сайтов была не тестовой, а передевалась с сервера в виде бинарного объекта, и воспринималась браузером. Или, вот, в TS нет нормальной типизации и перегрузки. Пойдёшь пилить, потратишь бесконечность времени. Ах, ну, да, я же забыл: "Не существует плохих занятий".

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


    1. murkin-kot
      26.07.2023 14:02
      +1

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

      Помимо отмеченных вами закономерностей существует много других, вами незамеченных.

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


  1. pulsatrix
    26.07.2023 14:02

    Что то автор над питоном слабо надругался. Подкину дровишек:
    — Нет языка лучше Питона и Гвидо ван Россум — пророк его.


  1. novemix
    26.07.2023 14:02

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


  1. event1
    26.07.2023 14:02

    Мозг потребляет много энергии. Экономить энергию — эволюционно выгодная стратегия. Разбираться во всём — требует много работы мозга. Там на разные вопросы могут появится разные ответы. Религиозная вера даёт на все вопросы один и тот же ответ и, следовательно, требует меньше работы мозга. Следовательно тратится меньше энергии. Следовательно, это эволюционно выгодная стратегия.


    1. bbs12
      26.07.2023 14:02

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


      1. OlegZH
        26.07.2023 14:02

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

        Не понял. Можно было бы подумать (как это ни звучит запредельно цинично), что с точки зрения эволюции, как бы это сказать, нужно иногда обрывать ветки. Или Докинз, как раз, говорит об этом? Объясните, пожалуйста.


        1. bbs12
          26.07.2023 14:02

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

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


      1. event1
        26.07.2023 14:02

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

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


        1. MihaTeam
          26.07.2023 14:02
          +1

          Забавный факт, атеисты в какой-то степени тоже религиозные фанатики. Верующие свято верят в условного Бога, но не могут доказать его существование. Атеисты верят в отсутствие бога, но не могут доказать его отсутствие. (Я знаю, что бремя доказательства лежит на том кто делает заявление)


          1. event1
            26.07.2023 14:02
            +3

            Атеисты верят в отсутствие бога,

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

            но не могут доказать его отсутствие

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

            Таким образом:

            Забавный факт, атеисты в какой-то степени тоже религиозные фанатики

            не забавный и не факт


            1. MihaTeam
              26.07.2023 14:02
              +1

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


              1. khajiit
                26.07.2023 14:02

                Атеизм – это отрицание существования Бога или богов.

                Вики говорит:


                Не следует путать с Антитеизмом

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


                1. MihaTeam
                  26.07.2023 14:02
                  +2

                  Спасибо, не знал. Тогда приношу свои извинения.


                  1. khajiit
                    26.07.2023 14:02

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


                    1. MihaTeam
                      26.07.2023 14:02
                      +1

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


                1. Wesha
                  26.07.2023 14:02
                  +1

                  Атеизм не отрицает существовение богов, они ему просто не нужны.

                  Это просто опять Оккам бритвочкой побаловался.


        1. bbs12
          26.07.2023 14:02

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

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


          1. event1
            26.07.2023 14:02

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

            С религиями же напротив, человек может выбрать любую или отказаться от всех. Причём, это не вчера началось — Сократа осудили за антирелигиозную пропаганду. 2500 лет назад, примерно. Таким образом, если бы строго атеистическое общество имело бы преимущество перед религиозными обществами, оно бы появилось и вытеснило бы религиозные общества


            1. khajiit
              26.07.2023 14:02

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


  1. Soukhinov
    26.07.2023 14:02

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

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

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

    А ещё у нас в графическом редакторе есть код, который написан в двух вариантах потому, что у Arm и Intel разные протоколы кэш-когерентности, и код затачивался под каждый из них.


    1. AlexSteelax
      26.07.2023 14:02

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


      1. RH215
        26.07.2023 14:02

        А что не так? Мелкие оптимизации зачастую плохо портируются между процессорами от разных вендоров, а тут целые разные архитектуры.


  1. wilelf
    26.07.2023 14:02

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

    Но тут же вопрос о ремесленниках (кто знает, как делать) и мастерах (кто понимает, почему именно так надо).

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

    А философия – да. Чувствуется. Без сарказма.


  1. alphikk
    26.07.2023 14:02

    Как по мне - краткое содержание статьи это негодование автора о том, что софт стал раздут а программисты непрофессиональны. Конечно, всё можно сделать качественно и быстро работающим, написать на С/С++ , заниматься годами отладкой и нагрузочным тестированием, вопрос, сколько времени это займёт? И нужен будет ли этот софт спустя это потраченное время? Софт нужен здесь и сейчас, софт вокруг нас. Терминалы электронных очередей, онлайн банкинг, такси, умный дом, наукоемкий софт на gpu и тд. Сфера информационных технологий развивается очень стремительно.То что нельзя было представить в 2005 , сейчас можно сделать за неделю. Просто оптимизации производительности и закрытие тех долга должны решаться по мере реальной необходимости и окупаемости софта.


    1. MihaTeam
      26.07.2023 14:02

      Суть поста не в том, что всё можно сделать на плюсах и будет всё летать. Суть в том, что разработчики выбирают какую-то технологию не разбираясь в ней, а просто потому что(подчеркнуть нужное): так повелось, так сказали в каком-то гайде, тот авторитетный человек назвал технологию нужной. А последствия того, что человек не изучает то, с чем он работает могут быть ужасающими. В статье отличный пример с монгой, когда человек прогоняет всё данные через клиент. Если бы человек разобрался в своём яп и монге, произошло бы такое? Нет. И да, софт булет здесь и сейчас, а потом бизнес будет разгребать последствия. Другой пример, сейчас всех джунов заставляют учить js event loop, и они зубрят, но понимания что и как у них не появляется, а про конструкцию сет тайм-аут с нулевой задержкой я давно не слышал, хотя, при тяжёлых действиях на фронте, она может ускорить рендер. Такая же ситуация и с алгоритмами, их возвели в культ, но того, что за ними стоит никто толком не учит. На фронте вообще ужасная ситуация, люди тащат с npm даже самые мелкие библиотеки. Имхо, но суть статьи в том, что если что-то изучаешь, то копни чуть глубже, не до самого ядра планеты, а чуть-чуть, если что-то собираешься сделать, то подумай перед этим, ты разработчик, и тебе платят не за следование религиозным догмам, а за твой мозг в первую очередь. Ты ты можешь решить задачу сейчас, не подумав, с наскока, выбрав, только те технологии, которые знаешь, даже если они совсем не подходят, и бизнес будет благодарен тебе, сегодня, а завтра проклянет, когда весь проект начнёт сыпаться. И да, предыдущее предложение не значит, что нужно под каждый проект учить новые технологии и тратить на это время и деньги бизнеса, определить где это целесообразно, а где нет, тоже входит в зону ответственности разработчика.


  1. Acid_Bl4ck
    26.07.2023 14:02

    Программистом я в последний раз был 15 лет назад, а с тех пор геймдизайнер, но у нас всё так же. Абсолютно солидарен.


  1. ildarin
    26.07.2023 14:02
    +1

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

    Наука - тоже религия, со своими догматами (логика), разве что логика может обосновать саму себя. А так наука отвечает на тот же вопрос, что и другая религия - че у вас тут происходит? Один из постулатов - причинность. А дальше уже трактовка текстов различных Святил науки (святых). Чем Эйншейн не святой?

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

    А так - это уже третья статья с +100 голосов о недостатке у коллег критического мышления. Чё происходит?