Pull to refresh

Comments 83

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

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


Ну в целом если хабр был готов к статье об отличниках, я подумал что GT самое место что-бы рассказать свою слезливую историю.
UFO just landed and posted this here
Потому и не стал это постить туда :)
Прочитал по диагонали, под конец стало жалко минуты жизни. Есть же соц.сети — разве там нельзя изливать свои терзания?

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

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


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


Спасибо.

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

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

А вы видели, что бы этот инструмент использовали по назначению?
Ну то есть, что бы по окончанию прототипирования начальство(PM, заказчик, продуктовнер) не приходило с «да тут почти всё работает, мы уже заказчику показали — доделывайте и в продакшн».
О, это на самом деле не то, в чем следует признаваться. Всем плевать, быдлокодер вы или нет. Главное, работает ли то, что вы сделали, или нет.
Статья не совсем об этом, красной нитью тема о том, что быдлокодит любой кто обучается и от этого не уйти, и это должно перестать быть постыдным для новичков в профессии.

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

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

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

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

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

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

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


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

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

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

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

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


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

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

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

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

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

> Итого кому выгодны стандарты?… Работодателям

А вы всерьёз надеетесь на успех, если ваша методология(её отсутствие), в конечном счёте, не выгодна работодателю?

> Когда-то не было стандартов на мебель, каждый мастер делал ее уникально, такая мебель ценится до сих пор.

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

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

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

Расстреливают?

> А что такое успех, дайте определение.

Сами дайте. Вы на какой успех рассчитываете?

> А вы можете привести пример конкретной мебели тех времен?

Во-первых, тезис «такая мебель ценится до сих пор» притащили вы — неужели вы сами не можете привести примеров? Странно с меня просить, или это какой-то прием демагогии?

> Если мысль не поняли — задавайте вопросы.

Эм… а я что делаю?

Я вашу аналогию понял так: если код перестаёт приносить удовольствие от владения раньше, чем умрут внуки — это быдлокод.
От «самобытного» кода устают даже его создатели.

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

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

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

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

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

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


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

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

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

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


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

>Быть начинающим (быдлокодером если вам так угодно)

Начинающий != быдлокодер. Начинающий может чего-то полезного не знать, это нормально. Быдлокодер полезное узнал и отверг. «зачем мне разбивать тысячестрочную функцию на части, и так работает», «зачем делать программу готовой к неправильным данным? Пусть пользователь вводит правильно!», «зачем мне использовать для этой задачи подходящий язык? Я будут везде использовать тот, что знаю (или думаю, что знаю)». Быдлокодер — это не начинающий, это конченный.
Я имел ввиду что тс говорит о себе как о быдлокодере, но по факту он просто начинашка. Быдлокодер это не описание уровня а просто обзывательство. Если подходить конструктивно к вопросу «а зачем нам письками мериться и измерять уровень» то это нужно чтобы понять какую задачу можно доверить, а какую не стоит. Вот начинающему можно доверить работу интелектуального шаблонизатора с вербальным программированием. В принципе в этом нет ничего плохого, и даже такие люди могут быть полезны при правильной постановке задачи.
Я быдлокодер? — Да.
Волновало ли меня это тогда? — Да.
Волнует ли сейчас? — Волнует. Иначе зачем бы я писал эту статью.

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

Всем привет, меня зовут Александр и я тоже быдлокодер.
Привет Аллигатор и Александр, я 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 доширака в месяц. И в итоге все смотрят косо на небыдлокодера, так что небыдлокодить не так просто как кажется, особенно под дикой нагрузкой и сжатыми сроками.

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

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

Статья о том как из-за быдлокодкеров современные программы тормозят больше, чем во времена DOS habrahabr.ru/post/346054
Это где автор сравнивает вывод в текстовом режиме при монопольном использовании процессора и дисплея с выводом в графическом режиме через виртуальную машину Java во внутренний буфер композера, а затем удивляется, что второе — медленнее?
Поймите одну простую вещь: у разных групп людей разные критерии оценки.

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

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

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

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

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

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

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

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

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

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

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

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


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

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


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

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

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

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

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

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

Сдал проект.
Через год потребовалось работать над ним дальше. Парни без меня отлично его расширили, все перкрасно. Через месяц или два, один из них говорит что-то вроде:
— Спасибо за хорошее оформление и пояснение в коде, из комментариев мы многое поняли как работает ООП.
Было чертовски приятно =)
visual studio, если для видны. (бесплатная)
Подскажите, какую программу для визуального програмирования C+ лучше изучать для не частых проектов?
Насколько мне известно, даже в дельфи нужно писать этот ваш код ручками…

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

Sign up to leave a comment.

Articles