Преамбула: Это не более чем мой скромный манифест, статья вода и автор опозорился. Я предупредил…

Здравствуйте, я fullstack разработчик. Разработкой я увлекся ещё в далёком 2009 году, когда мне было 16. Начинал я постепенно и катализатором моего увлечения, как ни странно, стала l2. Эхх, чудесные были времена, дивный новый мир и прекрасные хроники C6.

Как так вышло я и не вспомню. Но в итоге я собрал, натянул и доработал шаблон на ucoz'e, выкатив в мир новый клан-сайт. Помню мне даже посчастливилось застать ад кросс-браузерности и табличной вёрстки. Гуглил я тогда неистово много (впрочем, как и сейчас), но в целом история закончилась хеппиэндом ведь мне дали закена. С познания ucoz'a, HTML и CSS стартовал мой путь web разработчика.

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

Уверенно кодить я начал лишь 1.5-2 года назад. Как и у многих, всё началось с более глубокого изучения php, после jquery и sql. Я подсел и начал более плотно интересоваться темой. Вот тут-то и понеслось… MVC, MVP, SOLID, ООП, BEM etc. Было непонятно, но по-прежнему интересно. Да и к тому-же незнание хотя бы части этого джентльменского набора автоматом переводили меня в ранг быдлокодера. А такой участи я не хотел и страшно этого стыдился. Что же, пришлось быстро пробежаться по всему необходимому стеку.

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

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

Я быдлокодер? — Да.
Волновало ли меня это тогда? — Да.
Волнует ли сейчас? — Надеюсь нет.

Если кратко, то я php-monkey и моя работа требует значительно меньшего объема знаний чем программирование на C++. Но знаете, я люблю веб и хочу его развивать, каким бы простым он не казался и как бы плохо я не писал, ведь если вы не быдлокодите, не важно на чём, то возникает резонный вопрос кодите ли вы вообще?

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

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

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


  1. Hellsy22
    07.01.2018 21:35
    +14

    Разве GT — подходящее место для камингаутов?

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


    1. Aligatro Автор
      07.01.2018 21:43
      +6

      Разве GT — подходящее место для камингаутов?


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


    1. Timur_n
      07.01.2018 22:05
      +7

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


    1. qwert_ukg
      08.01.2018 06:14
      +1

      Хабр разорвал бы парня)


      1. Aligatro Автор
        08.01.2018 07:13
        +1

        Потому и не стал это постить туда :)


  1. ganzales
    07.01.2018 22:10
    +6

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


    1. Aligatro Автор
      07.01.2018 22:11
      +4

      Стоило прочесть преамбулу…


  1. AMDmi3
    07.01.2018 22:18

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


    1. Aligatro Автор
      07.01.2018 22:46
      +1

      В целом это я и хотел донести.


  1. belousovsw
    07.01.2018 22:46
    -1

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


    И судя по Вашей статье Вы ещё не встречались с серьезными нанимателями и деньгами за Вашу работу.


    Спасибо.


    1. stychos
      08.01.2018 01:18
      +8

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


      1. vassabi
        08.01.2018 02:24

        +1
        лично видел код, который писали электрики в 1998м году, когда учились программировать на С.
        Этот код до сих пор не только работает в продакшене, но и продается одной весьма известной в западном полушарии компанией (увы, большего я не могу сказать по NDA), которая занимается в том числе атомом, турбинами, военщиной и т.д.


  1. senseyua
    07.01.2018 22:48
    +2

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


  1. AntonSor
    07.01.2018 23:38
    +1

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


    1. Aligatro Автор
      07.01.2018 23:42
      +1

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

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


  1. DrNefario
    08.01.2018 00:22
    -9

    Не берусь судить об уместонсти выкладывания данной «статьи» на этом ресурсе. Но обратить внимание на большое количество ошибок в написании текста просто обязан.

    1. Нарушены смысловые нормы.
    Что вы противопоставляете с помощью союза «а» в данном предложении?

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

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

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

    И еще пунктов 10...

    Советую автору данной статьи снова дать оценку своим знаниям русского языка и заново ознакомиться со школьной программой. Это поможет в будущем не утруждать себя написанием статьи о «непозорности быть быдлописателем».


    1. Aligatro Автор
      08.01.2018 00:28
      +5

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

      Советую автору данной статьи снова дать оценку своим знаниям русского языка и заново ознакомиться со школьной программой. Это поможет в будущем не утруждать себя написанием статьи о «непозорности быть быдлописателем».


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


    1. yosemity
      08.01.2018 00:35

      Всё это принято писать в личку. Пункт 3. вполне понятен, автор с горем пополам осилил тему, вероятно на каком-нить WP


      1. DrNefario
        08.01.2018 00:48
        -3

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


        1. yosemity
          08.01.2018 01:12
          +3

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


          1. DrNefario
            08.01.2018 10:53

            Не живу по понятиям.
            Здравый смысл здесь как раз таки в том, что как автор не обязан был сдать проверку на знания русского языка перед написанием своего breakthrough "творения", так и я ему не редактор и изволен сам выбирать место написания своей конструктивной критики.
            Раз уж мы обратились к понятиям, то я скажу, что это статья не достойна такого ресурса как geektimes. На фоне статьей того же SLY_G и marks, у меня сложилось плохое впечатление о ресурсе в целом.
            Понимаю, допустить 3-4 ошибки, но когда перед тобой плохо написанный и, порой, бессвязный текст, читать его становиться, мягко говоря, неприятно. Аргументация выше.


            1. REALpredatoR
              08.01.2018 11:24

              Не живу по понятиям.

              По-моему как раз живёте. Ведь правила русского языка это и есть понятия придуманные не вами.


            1. alix_ginger
              08.01.2018 11:51

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


              1. Maccimo
                08.01.2018 23:30

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

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


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


                1. alix_ginger
                  09.01.2018 11:26

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

                  Кроме того, «докопаться до орфографии» равносильно «argumentum ad hominem» — переходу на личности, а это в приличном обществе неуместно.

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

                  Люди, мешающие другим ради того, чтобы блеснуть своей грамотностью — вот кто «достоин порицания»


    1. we1
      08.01.2018 05:45

      Вот кстати. Это предложение я так и не понял, автор таким образом заменил «китайскую грамоту» или там правда был арабский язык?
      Мне кажется, что оно несколько иначе должно выглядеть. Как-то так:
      «Как сейчас помню свою фрустрацию от прочтения исходников какой-то темы — китайская грамота».
      Ну или там на арабском, тогда тоже запятые не нужны.


      1. Aligatro Автор
        08.01.2018 07:16

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


        1. kashtan404
          09.01.2018 10:39

          Ленинград — Свобода
          Цитата из песни:
          «Мой приемник — односторонняя связь,
          Тире и точки — арабская вязь.»


  1. korjikk
    08.01.2018 01:26
    +1

    КГ/АМ. Если ты вошёл в профессиональную сферу, а не просто кодишь ради хобби, у тебя просто нет шансов не выучить все фундаментальные принципы. А просто быдло-программируя будешь топтаться на месте.


    1. u010602
      08.01.2018 17:44

      Выучив принципы будешь топтаться на том-же месте, просто под определенный общепринятый ритм. Вся стандартизация по сути имеет одинаковые плюсы и минусы по всем отраслям. Когда-то не было стандартов на мебель, каждый мастер делал ее уникально, такая мебель ценится до сих пор. Конечно и фигни в то время наделали не мало. Сейчас корпусную мебель пилят по стандарту в каждом гараже, кто-то будет ее использовать через 100 лет? Нет, ее выкинут на свалку при следующем ремонте. И тут вопрос — кто еще быдло кодер :) Быдло по определению что-то массовое, понятие быдло вышло из понятия пролетариата, а пролетариат — из рабочих заводов. Где все под шаблон один и то-же изо дня в день. Сейчас формируется стандартизация среди разаботчиков и даже среди архитекторов, и работа превращается в «манки код», т.е. все понятно, нет ни каких вызовов, просто нужно напечатать очередную стандартную фигню по перекладыванию данных на\с гуи.
      Кроме того любая популярная отрасль порождает подражателей — людей среднего ума, не способных самих выработать свой стиль, они просто его тырят у других. А таланту шаблоны не нужны. Помните как забег в Австралии выиграл фермер в дырявых башмаках?
      Итого кому выгодны стандарты? Посредственным людям, не способным сделать свой стандарт, не способным читать чужой не стандартный код. Работодателям — им легче менять людей на других, т.к. стандартный код легче поддерживать при помощи более дешевых средних работников. Разработчикам ИДЕ — т.к. они могут анализировать стандартные шаблоны и продавать электронных советчиков посредственным людям.
      Выгодны ли стандарты крупным талантам в программировании? Я не уверен, спросить не у кого :) Но логика подсказывает — что им они либо бесполезны либо раздражают тем, что ставят в рамки.
      Тут как в музыке — таланты пишут что хотят и это звучит десятилетиями, ломают все стандарты и им плевать.
      Посредственности очень озабочены стандартизацией и определением своего стиля — в итоге их забывают после второго альбома.
      И кто здесь быдло? И что из этого «для быдла»? :)
      Я лично всегда с уважением отношусь к самобытным разработчикам и их проектам, их код интересно читать и изучать, в нем есть что-то. А потом они «само-стандартизируются», их код становится банальным, скучным. И тот и тот код — работает, и колво багов не меняется. Просто один скучный, другой нет.


  1. ilitnyexpert
    08.01.2018 01:26
    -2

    Почему все так набросились на автора?

    Да здесь 95% комментаторов проектировать не умеют, знают максимум 1 язык(Не надо пожалуйста отвечать «Кроме js я еще и typescript знаю! Это не одно и тоже!», лол) или 1 стек технологий, т.е. в переводе на русский, являются низкоквалифицированными специалистами. То что рынок IT испытывает кадровый голод, и вас берут на хорошие зарплаты, не повод считать себя блестящими инженерами, поводов для раздувания ЧСВ тут нету. На безрыбье и рак рыба.

    Автору могу посоветовать набрать еще несколько лет опыта, изучить разные области разработки(не только web), и поменьше обращать внимания на ЧСВшных зануд. Да, и ничего хорошего в том, чтобы быть быдлокодером нет.


  1. smer44
    08.01.2018 02:46

    Ну собсвенно любая разработка в наше время без использования средств высокого уровня, и без генерализации в решении конкретной проблемы и без возможности ре-использования кода в другом проэкте то естть «просто на» js, php и т.п. суть быдлокод,
    а появляется быдло и с другой стороны с чрезмерным использованием продвинутых вещей как в Spring когда переменную надо в 20 разным местах в XML обьявлять…


    1. JuniorIL
      08.01.2018 08:50

      Я вижу Вы давно на Спринге не писали…
      Ну или недавно, но на очень старом. Зачем XML то?


      1. smer44
        10.01.2018 20:50

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


  1. tzlom
    08.01.2018 02:54
    +2

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

    Я не откажусь быть архитектором

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


    1. Aligatro Автор
      08.01.2018 05:26

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


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

      но почему то решили рассказать нам что всё делаете правильно.

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

      А языки здесь вообще не причём.


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


  1. JohnSmith001
    08.01.2018 05:11
    +2

    Я быдлокодер? — Да.
    Волновало ли меня это тогда? — Да.
    Волнует ли сейчас? — Волнует. Иначе зачем бы я писал эту статью.

    Собственно, я и сам быдлокодер. И если бы меня это не волновало, я бы не писал этот коммент.


    1. Aligatro Автор
      08.01.2018 06:19

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

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

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

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


      1. 380365
        08.01.2018 09:03
        +1

        Конечно же вы неправильно определяете быдлокод (далее: ГК). Это задача не совсем тривиальная. Для начала я бы добавил немного «солипсизма»: пока вы не поняли, что ваш код ГК, он таковым не является — даже если кто-то другой его так назовёт. В этом случае, я бы сказал, вы пишете наивный код (не путать с «нативным»).

        Ваш код становится ГК ровно в тот момент, когда вы, взглянув на своё прошлогоднее творение, восклицаете: «Ё-моё! Какой же ГК я написал!» И в следующий момент определяется, кто вы сегодня. Если обнаруженный ГК ещё действует в производстве и у вас есть совесть и возможности, вы немедленно начинаете свой старый ГК рефакторить — то есть вас всё равно нельзя назвать быдлокодером.

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

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


  1. NumLock
    08.01.2018 05:32
    +1

    С быдлокодсвом, когда гениталиями меряются — понятно.
    Где ответ о том «Как не впасть в зависимость от общественного мнения» в статье?


    1. Aligatro Автор
      08.01.2018 06:24

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


  1. qwert_ukg
    08.01.2018 06:18

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


    1. Aligatro Автор
      08.01.2018 07:12

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

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

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


      1. qwert_ukg
        08.01.2018 07:37

        Поэтому мне не понятно почему та же java в фаворе, а php это по определению урод и все кто на нем пишут даже не программисты

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

        Что это?
        деструкторы

        Это криво работает. Сами разработчики ПХП не рекомендуют

        Ну и самое крутая «фича» в ПХП это перегрузка констант :)


        1. Aligatro Автор
          08.01.2018 07:46

          екстендеры Что это?


          Я имел ввиду наследование.


          1. qwert_ukg
            08.01.2018 08:15

            Рекомендую попробовать другие языки, это позволит вам писать более крутой код на ПХП (хотя, сомневаюсь что потом захочется на нем писать)


            1. Aligatro Автор
              08.01.2018 09:05

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


              1. JekaMas
                08.01.2018 09:51

                Python. Для ml особенно вариантов нет.


  1. hzs
    08.01.2018 06:25
    +2

    Всем привет, меня зовут Александр и я тоже быдлокодер.


  1. iit
    08.01.2018 07:22
    +1

    Привет Аллигатор и Александр, я php небыдлокодер.

    Изначально я проучился 4 года к колледже где используя turboPascal великий сенсей нас гонял по структурам данных и алгоритмам сортировки.

    Именно тогда на втором курсе я и встал на сторону тьмы (php), хотя стоит признать — мне удалось продать 3 софта частным конторам — один на c++, один на delphi и один на VB.Net. Естественно там был быдлокод. Заказ на десктопное приложение в нашем городе — скорее чудо чем данность и мне вообще повезло что я их ухватил, постоянное жить такими заработками я бы не смог.

    Одногрупники тоже распределились по технологиям — кто-то выбрал java и сейчас счастлив, кто-то action-script и когда умер flash человек стал менеджером. еще один кайфовал по питону и уехал в чехию.

    Изучая php и html/css и читая различные книги я стремился всегда превзойти себя и создать свой «идеальный код». Но что в итоге? я работаю 5 лет backend разрабом и стараюсь писать адекватный код, но вот только это никого не волнует.

    Бизнесу важен быстрый результат а не идеальный код. И понятное дело все чаще и чаще бизнес задается вопросом почему middle — спец с 5-и летним стажем фигачет систему сложностью N за 4 месяца и кушает 5 дошираков в месяц, когда быдлокодер со стажем в 1 год делает похожую систему за месяц и кушает 1.5 доширака в месяц. И в итоге все смотрят косо на небыдлокодера, так что небыдлокодить не так просто как кажется, особенно под дикой нагрузкой и сжатыми сроками.

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


    1. JuniorIL
      08.01.2018 11:37

      Я вот первые пять лет опыта хотел быть не быдлокодером. Делал карьеру, хоть и не имея образования, учил всякие крутые технологии. Писал на Скале, с коллегами обсуждал прелести монадов, мечтал разобраться в Хаскеле и Скалази. А потом, когда намаялся с левыми библиотеками (может сейчас уже все лучше) и пришёл в фирму поднимать проект с нуля, решил что надо становиться быдлокодером. Отставил Скалу, где же я себе потом в команду разработчиков найду? Взял Спринг, который позволяет за пол дня поднять веб аппликацию и начал на нем фигачить. И очень тому рад, наконец то я занимаюсь тем, что решаю людям проблемы, а не проедаю деньги акционеров, потому что у нас большая фирма и мы можем (писать crud на Скале).


  1. Idot
    08.01.2018 07:44
    +1

    Статья о том как из-за быдлокодкеров современные программы тормозят больше, чем во времена DOS habrahabr.ru/post/346054


    1. Hellsy22
      09.01.2018 04:26

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


  1. ilya-ivanov
    08.01.2018 08:41
    +3

    Поймите одну простую вещь: у разных групп людей разные критерии оценки.

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

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

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

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


    1. SantaCluster
      08.01.2018 11:25

      классический треугольник типа better-faster-cheaper: заказчик-пользователь-коллега, выбери любые 2 вершины :)


  1. Scf
    08.01.2018 08:54

    А, джуниор? Со временем придет понимание, что чем больше программист знает и умеет, тем больше ему платят. «быдлокодер» от слова «быдло» — крепостной крестьянин, который никогда не станет инженером.


    1. JustDont
      08.01.2018 13:37

      Быдлокод не имеет никакого отношения к должности. Я работаю в очень большой конторе, где, например (среди прочих) быдлокодит VP (вице-президент) по технологиям. Почему? Очевидно потому, что на написание крутого прекрасного кода у него физически нет никакого времени, а вот родить очередной proof of concept и поручить многочисленным подчинённым доработать его до появления всех этих прекрасных словей, которыми описывают небыдлокод (reliability, accessibility, serviceability) — это вполне себе работает.

      В соседней ветке комментариев всё правильно сказали, что из трех способов оптимизации разработки (better-faster-cheaper) упор можно сделать максимум на два, и, внезапно, очень мало каким конторам оптимизация по качеству кода интересна в большей степени, чем оптимизация по цене или скорости выпуска продуктов.


  1. Rumlin
    08.01.2018 09:09

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


    1. extempl
      08.01.2018 09:25

      MVP или нет — это холивар. В каждом конкретном случае важно может быть что угодно, либо скорость, либо качество.


  1. younghacker
    08.01.2018 09:50
    +1

    Давайте быдлокодить софт для атомных электростанций и ракет

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


    1. OKyJIucT
      08.01.2018 11:47
      +1

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


    1. qwert_ukg
      08.01.2018 14:46

      На ПХП


  1. Mitch
    08.01.2018 13:47
    +1

    А я вот даже не быдлокодер :(
    Пока вообще не кодер.
    Все хожу как то вокруг, то то одно поизучаю то другое.
    Раз в несколько лет у меня возникает мысль, а не переквалифицироваться ли в программисты.


    • В школе изучал турбо паскаль
    • В университете самостоятельно си, без плюсов и обьектов, тексты найчился парсить дальше дело не пошло.
    • Писал скрипты на баше для себя когда админил linux веб серверы.
    • Изучал питон по книжке, парсить обрабатывать тексты для себя научился, даже что то полезное накодил.
      Но на джанго я увяз и сделать что то в веб не осилил.
    • Научился писать простые sql запросы
    • Базово освоил git
    • На hexlet прошел половину стека php разработчика, и чуток по JS.
      Список технологий в JS который надо осознать и использовать, все это управление зависимостью, пакетные менеджеры, и автомодификация кода под разные версии ужасает и уводит в сторону от собственно програмирования. Забросил.
      В процессе я понял что языки без строгой типизации меня ужасают тем, как легко можно накосячить и долго это отлавливать.
      Еще проникся духом функционального программирования и идеей делать все что только возможно чистыми функциями.
    • Прошло еще полгода. Я полез изучать solidity чтоб писать смарт контракты на эфире.
      Сложилось ощущение что тут стек технологий более короткий достаточно осознать, чтоб начать делать что то полезное. Пока экспериментирую в Remix, до реального блокчейна еще не добрался.

    К чему все это?
    Я просто никак не могу начать делать что то полезное в программировании.
    Мне надо освоить какой то минимальный стек технологий, чтоб я мог делать что то за деньги.
    А иначе у меня быстро пропадает мотивация и я опять начинаю плотно катать в покер, просто потому что нужны деньги на жизнь.
    В то же время, я понимаю что кодить мне бы было на порядок интереснее, чем играть.
    И по деньгам, в долгосрочной перспективе — тоже интереснее.
    Яма потенциальная какая то, которую никак не могу преодолеть.


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


    1. evtomax
      08.01.2018 14:15

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


    1. Timur_n
      08.01.2018 17:34

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


      1. Mitch
        08.01.2018 18:21

        hexlet платный, мне в целом понравилось обучение.
        на вопросы в коментах к уроку отвечают


  1. FlashManiac
    08.01.2018 14:42
    +1

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

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

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


    1. evtomax
      08.01.2018 14:46

      Стек технологий надо воспринимать, как полуфабрикат.


  1. barbanel
    08.01.2018 17:16

    Просто опишу два случая за фрилансерскую карьеру.
    1) Довелось поддерживать один «проЭкт». Неделю матерился и плевался, разбираясь в коде. Потом узнал что писал этот «проект» — гинеколог! Фрустрация, ржач, осознание смысла бытия…
    2) На проекте мне сразу было сказано — коллеги неопытные программисты, относитесь с пониманием, пишите побольше комментариев. Ок.
    Первой строчкой в главном файле проекта стало:

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

    Сдал проект.
    Через год потребовалось работать над ним дальше. Парни без меня отлично его расширили, все перкрасно. Через месяц или два, один из них говорит что-то вроде:
    — Спасибо за хорошее оформление и пояснение в коде, из комментариев мы многое поняли как работает ООП.
    Было чертовски приятно =)


    1. MikailBag
      08.01.2018 23:31

      visual studio, если для видны. (бесплатная)


  1. ZhenyaRUS39
    08.01.2018 20:40

    Подскажите, какую программу для визуального програмирования C+ лучше изучать для не частых проектов?


    1. old_bear
      08.01.2018 21:10

      Конечно же Delphi!


      1. barbanel
        09.01.2018 10:50

        Насколько мне известно, даже в дельфи нужно писать этот ваш код ручками…


    1. AntonAlekseevich
      09.01.2018 14:08

      Изучите Qt Creator.
      Так или иначе вам придется писать ручками обвязки, но сложностей с GUI и i18n будет чуть меньше.