Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Уйти ли из PHP?
Форумы портала PHP.SU » PHP » Программирование на PHP » Уйти ли из PHP?

Страниц (1): [1]
 

1. Truedefiner - 24 Июля, 2018 - 21:32:57 - перейти к сообщению
Добрый день, уважаемые форумчане. Около 10 лет работаю в сфере web-разработки.
И за это время я обнаружил ужасающую статистику - почти ВСЕ проекты в которых пришлось участвовать состояли из изрядной порции говно- и быдло- кода, написанного, почти что "школьником". И это не сайты-визитки, это серьезный коммерческие проекты!

Даже если в списке технологий гордо звучит "Laravel", "ZendFramework", или Yii2, то ВЕЗДЕ где я сталкивался, данный фреймворк используется только как реализация MVC, и дальше валидации параметров роута никто не углубляется (а нет, иногда прикрутят какой-то middleware, в качестве гигантского суперкостыля). А кое-где и вообще доходит до чуть ли не fileputcontents/filegetcontents прямо в контроллере, и работа с GET|POST там же.

Вместо ООП длиннейшие if-else. Вместо кучи удобных функций ORM... ну вы поняли, апдейт в цикле, и да, о транзакциях никто не слышал.

Проектирование структуры БД вообще никто не уделяет внимания, тем более оптимизации запросов.

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

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

А иногда многие вообще гордятся тем что "мы перешли на php 7.1!", - "какой 7.1, чувак?! У тебя один и тот же запрос в коде в каждой функции написан, с 15 подзапросами, который выполняется 20 секунд! Ну да, зато теперь ты в него из поста переменную вставляешь через null-coalescing оператор".

Зачем вообще на всех собеседованиях спрашиваю - "знаете ли вы что такое композиция?", очень хочется спросить: "а ты вообще когда её последний раз применял???".

И вот у меня назрел вопрос, а может это специфика "рынка php"? Может у программистов на других языках таких проблем нет (java, Perl, Ruby)?

Неужели если открыть код какой-нибудь игры bethesda, или код google-docs, там будет такой же набор костылей?

Где работают квалифицированные php-разработчики который и пишут тот код который можно найти в исходниках symfony, laravel?

Стоит ли искать такую работу?

Стоит ли вообще набирать такую квалификацию - расти в высоту в PHP, или забить на это дело и расти в ширину - изучать новые новые технологии каждую на 10% выучил и всё, пишешь в скилах что великий знаток, а дальше как-нибудь склепаешь?

Спасибо за внимание.
2. Мелкий - 25 Июля, 2018 - 11:41:41 - перейти к сообщению
Truedefiner пишет:
пишут тот код который можно найти в исходниках symfony

А вы ковыряли исходники той же doctrine? Нещадно протекающие абстракции от того единственного, от чего эта штука должна была абстрагировать; query builder, написанный явно из предположения что у вас бесплатный и бесконечный CPU - имея уже готовую структуру запроса выкидывать её полностью, генерировать DQL и заново разбирать AST, чтобы по нему построить SQL и дать ещё раз его распарсить базе.
У самой symfony тоже можно понаходить странные вещи. Да ей и общей тяжеловесности в общем-то хватает.
Про laravel не помню, давно последний раз видел.

Truedefiner пишет:
Может у программистов на других языках таких проблем нет (java, Perl, Ruby)?

Я некоторое время назад случайно переквалифицировался в postgresql DBA и теперь встречаюсь со множеством разных проектов от кровавого java до хипстерского nodejs, от перла, питона и руби до go.
Со стороны работы с базой - совершенно никакой разницы. Одни и те же подходы и ошибки. Разница только в том, насколько всякое гвоздями прибитое orm мешает со своими внезапными фокусами.
Всякое orm - вообще отдельная боль. Сгенерированный запрос за 100мб размером, сожравший несколько десятков гигабайт RAM и вызвавший рестарт с OOM - это из практики. Коллеги говорят как-то и гигабайтный запрос видели.
А на одной конференции человек из зала порадовал историей, как не в меру умный orm сгенерировал рекурсивный cte. Без условия выхода из рекурсии.

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

 

Powered by ExBB FM 1.0 RC1