Почему все ненавидят PHP

Ғылым және технология

Вышла новая версия PHP! Самое время посмотреть, в какую сторону развивается язык, и откуда к нему столько хейта.
0:00 Вступление
0:31 Проблема №1
3:44 PHP без фреймворка
5:19 Новые фичи в 8.3
5:33 Typed class constants
5:55 Dynamic class constant fetch
6:30 Override attribute
7:31 Deep-cloning of readonly properties
8:02 json_validate
10:46 Randomizer
12:05 Linter
12:22 Остальные изменения
#айти #php #программист #войтивайти #программирование #javascript

Пікірлер: 122

  • @user-nf3ny1zn5p
    @user-nf3ny1zn5p5 ай бұрын

    }{орошо что есть 1С, что бы PHPшникам тоже было над чем посмеяться...

  • @ilya_3991

    @ilya_3991

    5 ай бұрын

    На самом деле, 1С-ники говорят то же самое про PHP. А чтобы веселье было обоюдным компания 1С создала Bitrix.

  • @ocean1487

    @ocean1487

    5 ай бұрын

    ​она его не создала, она его купила

  • @ilya_3991

    @ilya_3991

    5 ай бұрын

    @@ocean1487 покс

  • @vader1413

    @vader1413

    5 ай бұрын

    И не только про 1С можно так сказать, да и вообще дело вкуса на самом деле. Мне например нравится php и python. Про какой нибудь java вообще молчу, это не для моего ума

  • @vader1413

    @vader1413

    5 ай бұрын

    Что за сайт у парня на видео с зелёной буквой w?

  • @ITentrepreneur
    @ITentrepreneur5 ай бұрын

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

  • @soversus5374

    @soversus5374

    9 күн бұрын

    У языка нет недостатков, недостатки у тех, кто их придумывает. )

  • @ITentrepreneur

    @ITentrepreneur

    6 күн бұрын

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

  • @fugirai
    @fugirai5 ай бұрын

    Спасибо ютубу, что закинул тебя в рекомендациях на главную! Очень хорошо 🤝🏻

  • @user-es5dl2rb6t
    @user-es5dl2rb6t10 күн бұрын

    Я открою вам секрет. Чтобы писать на PHP не нужно знать так много функций. По 10-20 функций работы со строками и массивами закрывает 90% задач. Я 80% функций PHP вообще не использовал. Никто не пишет на голом PHP. Все используют фреймворки или CMS. А эти функции служат кирпичиками для этих самых фреймворков.

  • @Torbjorn-ph7rt
    @Torbjorn-ph7rt5 ай бұрын

    Вобщем вся ненависть этого чела к пыхе описывается одним словом "ниасилил".

  • @AlexeyProgramming

    @AlexeyProgramming

    5 ай бұрын

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

  • @Torbjorn-ph7rt

    @Torbjorn-ph7rt

    5 ай бұрын

    @@AlexeyProgramming справедливо. "Вы просто не умеете его готовить".

  • @qrthack3233
    @qrthack3233Ай бұрын

    101 мой друг, хочу в backend, выбираю между PHP, Golang, Node.js, что посоветуешь, чтобы легче было устроиться на работу с перспективой? Или с какого языка посоветуешь начать?

  • @AlexeyProgramming

    @AlexeyProgramming

    Ай бұрын

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

  • @qrthack3233

    @qrthack3233

    Ай бұрын

    @@AlexeyProgramming думал у PHP меньше конкуренции по сравнению например с JS, Python, Java, т.к. курсы сейчас делают не по PHP) и поэтому легче вкатиться будет

  • @AlexeyProgramming

    @AlexeyProgramming

    Ай бұрын

    @@qrthack3233на самом деле конкуренция прежде всего от фрилансеров и старичков которые за 20 лет выучили пхп, их очень много и делают сайты-визитки именно на нём, это та ниша которую на 100% занял php как самый дешевый и доступный на любом копеечном хостинге, другие стеки стоят намного дороже захостить

  • @ideldotpro

    @ideldotpro

    10 күн бұрын

    ​@@qrthack3233 ты прав Конкуренции меньше.

  • @user-es5dl2rb6t

    @user-es5dl2rb6t

    10 күн бұрын

    @@qrthack3233 ты абсолютно прав. В PHP намного меньше конкуренции. А вакансий вполне хватает. Автор канала при каждом удобном случае хочет пнуть PHP. Даже сейчас вспомнил каких-то фрилансеров. А тут речь идет о вакансиях) Хотя он должен был вспомнить, что на каждую вакансию Python и JS поступают по 500 откликов. Речь идет тут именно про это.

  • @mercurykd
    @mercurykd5 ай бұрын

    какой классический смузиджиес программист)) а что с дикцией? всё такое инглиш, но почему-то "пэхэпэ" и "питон"..

  • @AlexeyProgramming

    @AlexeyProgramming

    5 ай бұрын

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

  • @mercurykd

    @mercurykd

    5 ай бұрын

    @@AlexeyProgramming смузипрограммист имеет следующие паттерны: - надменная улыбка при упоминании пхп - сравнение с нодой - смотря сколько fabric смотря сколько details (c) пол ролика хейтишь названия легаси функций - не граммар нази 🤭 впервые вижу чтобы когда так выпячивают инглиш акцент так жестко прокалываются на "пэхэпэ/питон", прям когнитивный диссонанс)

  • @AlexeyProgramming

    @AlexeyProgramming

    5 ай бұрын

    @@mercurykd второй по популярности бэкенд язык после пхп это нода, с чем еще сравнивать? можно с джавой сравнить или сишарпом, ситуация будет такая же, только в пыхе мусор в глобал спейсе без адекватного нейминга. Весь этот «легаси» появился разом в районе 4-5 версии пхп, и сразу с разными названиями - почитай хотя бы про функции конвертации энтити. И есть наверное разница в придирках к написанию/произношению слов в речи, и названиях функций, которые ИЩУТ и НАБИРАЮТ на клавиатуре десятки тысяч пхпистов каждый день 🤭 Впервые вижу чтобы так жестко дояпывались к произношению, ты что-то не понял о чем я говорил? Англики никогда не делают замечания по акценту или грамматике, это считается очень некультурным, а вот восточные славяне в последнее время в каждом видео «отмечаются», с чего бы это? 🙄🤭

  • @username739

    @username739

    15 күн бұрын

    @@AlexeyProgramming ну чувак, ты тут захейтил хрень, которая в разработке применяется чуть реже, чем никогда) Ты еще забыл упомянуть, что в функциях высшего порядка для обработки массивов (array_map, array_filter, array_reduce) порядок аргументов разный)

  • @AlexeyProgramming

    @AlexeyProgramming

    15 күн бұрын

    @@username739 кстати да, это важное замечание

  • @user-nf3ny1zn5p
    @user-nf3ny1zn5p5 ай бұрын

    8:10 Куда? Когда? В обед?

  • @AlexeyProgramming

    @AlexeyProgramming

    5 ай бұрын

    в объедок, никогда не слышали про объедко-ориентированное погромироване? 🤭

  • @vitiok78
    @vitiok785 ай бұрын

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

  • @Roltun

    @Roltun

    5 ай бұрын

    что такое дженерик

  • @vitiok78

    @vitiok78

    5 ай бұрын

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

  • @Roltun

    @Roltun

    5 ай бұрын

    Спасибо @@vitiok78

  • @AlbertCartel

    @AlbertCartel

    5 ай бұрын

    ​@@vitiok78 php уже как младший братишка java в банкпх начинают потихоньку юзать в последних версиях

  • @soversus5374

    @soversus5374

    9 күн бұрын

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

  • @goodfather7843
    @goodfather78435 ай бұрын

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

  • @AlexeyProgramming

    @AlexeyProgramming

    5 ай бұрын

    комма, я из Латвии, мы так разделяем версии 🤭

  • @goodfather7843

    @goodfather7843

    5 ай бұрын

    @@AlexeyProgramming принял, запомнил) Ну латыши...

  • @user-nf3ny1zn5p
    @user-nf3ny1zn5p5 ай бұрын

    4:13 Ибаш скриптов

  • @AlexeyProgramming

    @AlexeyProgramming

    5 ай бұрын

    bash

  • @soversus5374
    @soversus53749 күн бұрын

    Это называется когда перешел с js на php. ) Теперь нужен обзор, когда с php на js. )))))))))))))))

  • @AlexeyProgramming

    @AlexeyProgramming

    9 күн бұрын

    Я на пхп больше пишу чем на js, 20 лет уже скоро как 🤭

  • @Roltun
    @Roltun5 ай бұрын

    Давайте перепишем русский православный ПХП с правильными нейм спейсами

  • @doublelolka
    @doublelolka5 ай бұрын

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

  • @yohohowowowo9471
    @yohohowowowo947115 күн бұрын

    Я вспомнил, почему ненавижу пхп...Это был первый язык, который я собирался изучить(естественно забил), поэтому я очень долгое время думал, что все языки такие. Просто с позиции новичка это выглядело так: мне нужно выучить 200 функций, чтобы начать писать код, чуть более интересный, чем вывод "Hello world!"...Тогда правда и нормальных учебников не было, не говоря уже про видеоролики. Так что можно сказать спасибо пхп за то, что в мире стало одним программистом меньше)))

  • @AlexeyProgramming

    @AlexeyProgramming

    15 күн бұрын

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

  • @darkshaman766
    @darkshaman7665 ай бұрын

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

  • @AlexeyProgramming

    @AlexeyProgramming

    5 ай бұрын

    о, еще один камент от любителя пхп из разряда «если не нравится значит ты просто не умеешь на нем писать»🤭

  • @darkshaman766

    @darkshaman766

    5 ай бұрын

    @@AlexeyProgramming а вчем я не прав ?

  • @AlexeyProgramming

    @AlexeyProgramming

    5 ай бұрын

    @@darkshaman766 в том что инструменты изначально должны проектироваться так, чтобы быть удобными, расширяемыми, и безопасными. А не так, что если не нравится как мы сделали инструмент, то просто не используй его. Ну а утверждение что если плюешься и хейтишь то ты прогер только на словах вообще граничит между глупостью и попыткой оскорбить 🤭 Типа настоящий погромист не замечает недостатки инструмента с которым работает что ли? 🙄

  • @AlexeyProgramming

    @AlexeyProgramming

    5 ай бұрын

    @@darkshaman766 а что касается С++ - из-за его недостатков и появился rust, та же причина по которой objective c превратился в swift, java в kotlin, ну и php в один прекрасный день превратится во что-то другое, более удобное и с грамотной архитектурой. Мне кажется только человек не пробовавший ничего удобнее пхп будет закрывать глаза на его недостатки, и считать всех осуждающих его болванами и недопрограммистами. Это пахнет ригидностью, настоящий программист чтобы оставаться на плаву должен постоянно изучать что-то новое, и пробовать новые инструменты, чтобы ускорить и упростить свой workflow, а не уперто писать тем же стилем и решать задачи тем же образом, которым писал 20 лет назад.

  • @darkshaman766

    @darkshaman766

    5 ай бұрын

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

  • @MyNameIsRishat
    @MyNameIsRishat5 ай бұрын

    Ну ёлки-палки, совсем с толку сбили, так учить PHP или нет? Или лучше сразу выбрать Node JS или Go? Я уже практикуюсь в написании своего первого проекта и уже готов был начать изучать Laravel, а тут блин... такое.

  • @AlexeyProgramming

    @AlexeyProgramming

    5 ай бұрын

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

  • @MyNameIsRishat

    @MyNameIsRishat

    5 ай бұрын

    @@AlexeyProgramming Спасибо за совет!

  • @user-es5dl2rb6t

    @user-es5dl2rb6t

    10 күн бұрын

    Да учи смело. Laravel один из лучших фреймворков, которые есть на любом языке.

  • @anoninko
    @anoninko4 ай бұрын

    4:47 Чувак, изобрети docker

  • @AlexeyProgramming

    @AlexeyProgramming

    4 ай бұрын

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

  • @andreyrudin2286
    @andreyrudin22865 ай бұрын

    PHP достиг уже уровня своего совершенства, много из того что Вы хейтите, как раз для того о чем Вы же сказали в видео, не сломать половину Интернета. Очень люблю PHP, да, те функции в глобальной области можно было бы по объектам распихать, оставив эти функции там же для существующих проектов, но не знай, даже я в этом смысла не вижу. Поэтому и никому это не нужно соответственно. Чтобы не подумали что я как люблю так и знаю только PHP. Нет, JS, Dart, Java, Go, Python. Мне есть с чем сравнить. Со многим в видео согласен, и со многим нет.

  • @AlexeyProgramming

    @AlexeyProgramming

    5 ай бұрын

    а с чем не согласны? 😉

  • @andreyrudin2286

    @andreyrudin2286

    5 ай бұрын

    @@AlexeyProgramming ох, я уж забыл. это надо пересматривать, на цитаты разбивать, на это время надо. ну к примеру, про 30 лет назад не надо было собирать данные из кучи микросервисов и отдавать клиенту. Сделан акцент на том, что типа вот поэтому PHP язык для прошлого Интернета, а сейчас уже все современное и нужны другие языки. Ну и сейчас для 99% микросервисы оверхед и не нужны. Т.е. акцентики такие.

  • @AlexeyProgramming

    @AlexeyProgramming

    5 ай бұрын

    @@andreyrudin2286 ну микросервисная архитектура стала популярной в последние 10 лет с массовым переходом в облако, до этого действительно большинство сайтов и сервисов были монолиты. А микросервисы вводят не потому что это классный баззворд и так «модно», в 99% случаев их введение 10 раз обсуждалось technical authority, апрувилось у стейкхолдеров, и обосновано финансово и технически

  • @andreyrudin2286

    @andreyrudin2286

    5 ай бұрын

    @@AlexeyProgramming угу, тото потом некоторые возвращаются к монолиту, вспомнить не вспомню, но видел доклады.

  • @AlexeyProgramming

    @AlexeyProgramming

    5 ай бұрын

    @@andreyrudin2286 не справились с поддержкой, бывает 👋 но не на пхп же обратно перелазят

  • @illoprin
    @illoprin5 ай бұрын

    Знаете, друзья, на фоне 1С, php - это ангельски удобный язык. Всё на фоне 1С выглядит лучше 1Сники не обижайтесь, платформа очень удобная, но язык полное дерьмо, знаю по опыту)

  • @AlexeyProgramming

    @AlexeyProgramming

    5 ай бұрын

    Про 1С кто-то знает вне стран СНГ? Никогда не сталкивался с ним в работе 🙄

  • @DainiusKirsnauskas

    @DainiusKirsnauskas

    5 ай бұрын

    ​@@AlexeyProgrammingМои коллеги из Литвы отдалёёённо слышали...

  • @illoprin

    @illoprin

    5 ай бұрын

    ​@@AlexeyProgramming Это я так, к слову)

  • @user-es5dl2rb6t

    @user-es5dl2rb6t

    9 күн бұрын

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

  • @anoninko
    @anoninko4 ай бұрын

    Чувак, от нашего стола вашему столу. Если ты пишешь 15 лет на PHP, который ненавидишь, для тебя есть C#

  • @anoninko

    @anoninko

    4 ай бұрын

    Сам я с пыха, на котором писал 11 лет, перешёл на Шарп, и всё окей

  • @rianadams7535
    @rianadams75355 ай бұрын

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

  • @AlexeyProgramming

    @AlexeyProgramming

    5 ай бұрын

    А конкретнее в чем JS не годится? 🤭 Функции не только мне неудобно использовать, все плюются на нейминг и разношерстность использования. Я 15 лет пишу на нем просто не зацикливаюсь на нем и есть с чем сравнивать хотя бы, а пхпшники которые толком ни на чем кроме пхп не писали обычно и пишут такие каменты «вы просто его не знаете», даже будь ты 10 раз сеньором 🤭

  • @xekcrash1893
    @xekcrash18935 ай бұрын

    В JavaScripte больше недостатков чем в php, но тем не менее хэйтят толкало php

  • @AlexeyProgramming

    @AlexeyProgramming

    5 ай бұрын

    а можно подробнее про недостатки JavaScript? 🤭

  • @xekcrash1893

    @xekcrash1893

    5 ай бұрын

    @@AlexeyProgramming 1. JavaScript больше относится к процедурному языку а не к ООП. Костыльное наследование, инкапсуляция. 2. Отсутствуют типы свойства. Из-за этого нужно читать метод и что он делает со свойствами и только тогда мы поймем какой тип свойства нужно передать 3. Пакетный менеджер. Самый дырявый а так же помойный из всех что я знаю. Это первое что пришло на ум, я думаю если покопается там много чего еще можно найти.

  • @AlexeyProgramming

    @AlexeyProgramming

    5 ай бұрын

    ​@@xekcrash1893 1. Другой метод наследования ещё не значит что он костыльный. В целом он даже больше ООП чем PHP, хотя бы потому что в JS аболютно всё это объект, даже Function, Number, и String. Инкапсуляцию я показал на примере - методы работы со String и Array в Javascript скрыты в объектах, а не валяются в Global Space как у PHP. 2. Не будем забывать что JS это прежде всего язык для веба, работающий на клиенте и пересылающийся по сети, и типы и даже аннотации это лишний оверхед. Остальное решается через TypeScript. Сейчас практически все проекты пишутся на нём и собираются в ES5. Даже те единичные случаи когда команда по какой-то причине не знает TypeScript то есть JSDoc с аннотациями типов, проверки подхватит IDE. 3. Во-первых, пекедж менеджер это не часть языка, для nodejs помимо npm есть ещё минимум два популярных - pnpm, yarn. Дырявый? Вряд ли, у них есть команда которая все vulnerabilities в пакетах регулярно трекает и их видно при npm audit. Помойный? Он прекрасно решает проблему кросс-депенденси при таком огромном количестве версий пакетов, в отличие от тех же Packagist и pip. И это самый популярный пекендж менеджер на планете, 12 миллионов девелоперов его используют, абсолютный рекордсмен.

  • @bloodjopa

    @bloodjopa

    5 ай бұрын

    @@AlexeyProgramming у пхпшника бомбануло

  • @Roltun

    @Roltun

    5 ай бұрын

    А вот метод объекта может терять контекст this - это полезно когда нибудь?@@AlexeyProgramming

  • @proxyuser-et
    @proxyuser-et5 ай бұрын

    ОООООО... У кодеров тоже есть свой тридемакс)))))))))) пхп должен купить автодеск)) тридемакс такая же говнина.

  • @AlexeyProgramming

    @AlexeyProgramming

    5 ай бұрын

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

  • @proxyuser-et

    @proxyuser-et

    5 ай бұрын

    @@AlexeyProgramming не не блендер норм щас. я хоть и не работаю там но он в CGI тусовке не замечен был особо в говножуйстве. а вот тридемакс это да. это просто уничтожитель нервов. там не убирают функции в новых версиях старые. про них забывают и пишут новые поверх них. И много еще говна. Один ток MCGraph - я хз зачем в триде пакете для художников редактор кода блять уровня какого то ассемблера. без документации!!! А как автодеск любит купить конкурента под предлогом развития и уничтожить его это ваще...

  • @nibunimu
    @nibunimu5 ай бұрын

    а я ещё плачу что JS дерьмо невыносимое

  • @ideldotpro

    @ideldotpro

    10 күн бұрын

    Я так и не понял, в почему PHP дерьмо

  • @alexeys1789
    @alexeys17893 күн бұрын

    Блин, первая проблема это просто смешно, не? То есть да, у пыхи есть проблемы с выразительностью, но то о чём говорит автор, а именно про нейминг низкоуровневых глобальных функций, это очень плохой аргумент. Этот аргумент приводится либо не разбирающимися в PHP людьми, либо опытными ребятами, но они и упоминают этот аргумент как не самый значительный. Итак, почему аргумент так себе? Во-первых, эти функции применяются не так часто и встретить их можно только в низкоуровневых модулях. Во-вторых, глобально на читаемость кода применение даже рядом функций array_merge и usort никак не влияет. Сейчас в любой IDE можно посмотреть что делает функция просто наведя на неё мышкой. Ну а решение в виде применения Laravel и хостинга, серьёзно?) И да, в PhpStorm есть инспекции по типу EA_Extended(вроде так), которые на самом деле бьют по рукам, если не так применяешь тот же in_array. В общем, видео от человека, который вообще не понимает что такое PHP и почему на самом деле у этого языка проблемы. Просто запрыгнул в поезд хайпа, когда все внезапно начали говорить о смерти PHP. Но я распишу, с чего это началось. На самом деле, около двух лет назад(но могу ошибаться с датами) из команды разрабов PHP ушёл Никита Попов, который вносил в язык нового больше, чем все остальные ребята (Дмитрий Стогов в основном занимается низкоуровневыми штуками по типу JIT и делает колоссальную работу, но это не влияет на возможности именно языка, поэтому он в этот список не входит). После этого появились сомнения, что PHP будет очень медленно развиваться или же не в ту сторону (посмотрите на PHP 8.3 и новые RFC для включения в следующую версию, к слову, автор затрагивает эту тему, но явно не говорит об этом, то есть он банально этого не знает и не понимает XD, 15 лет работает на пыхе, да-да). Ну а в чём же действительно проблемы PHP? 1) отсутствие асинка. Это решается через KPHP, amPHP и подобные штуки, но поддержка в самом языке из коробки - совсем другое дело. Пока это не появится в PHP, нет смысла начинать новые проекты пилить с использованием этого языка 2) отсутствие дженериков. Тоже база, не понятно, почему этим всё ещё никто не занялся 3) базовые структуры данных, да и в целом весь SPL просто кусок кала 4) язык для веба столько лет используется, но до сих пор для всяких классов запросов/ответов мы имеем лишь интерфейсы из PSR'ов, а реализации из коробки отсутствуют Вот эти вещи действительно важные, а то, о чём говорит автор... Ну, я от школьников такое слышал, но они не рассказывают про 15 лет опыта и не предлагают мне использовать Laravel, блять)) Не, ну реально, какой ларавель в 2024 году? Действительно сложно было пойти хотя бы почитать критику этого фреймворка?

  • @AlexeyProgramming

    @AlexeyProgramming

    3 күн бұрын

    Какие низкоуровневые модули? Вы ставите дополнительные модули чтобы совершать примитивные операции с массивами или вырезать кусочек строки? Хотя бы половина этих функции используется практически в любом проекте в котором есть обработка данных. Это влияет не на читаемость кода, а на писабельность, потому что нейминг конвенции как таковой нет, и они не являются методами объектов или структур данных как в любом другом ООП языке. То есть в 2024 году мы до сих пор пишем на пхп в процедурном стиле, который как бы полноценный ООП язык с классами и методами. А ещё дубликаты и алиасы тех же функций, или очень похожие делающие практически одно и то же. IDE? Ок, чтобы посмотреть что делает функция надо её сперва написать правильно, а когда такая каша в нейминге и типизации это втройне дольше и сложнее. В том же JS или Python методы работы с массивами появляются только при работе с переменной соответствующего типа, то же самое и со строками. Сам факт что без IDE это сложно говорит об отвратительной организации нейминга и постоянном отсутствии контекста. Главная и единственная проблема PHP это огромный багаж легаси который он тащит с собой мертвым грузом более 20 лет, который тянет его на дно и не даёт развиваться, а не отсутствие дженериков. Из-за этого легаси и проблемы с неймингом, структурами данных, он обрастает новым функционалом выдуманным на коленке на отебись, чтобы только не сломать то что уже работает, и срочно решить горящие проблемы. Laravel сейчас самый популярный фрейм, я начинал с CodeIgniter 15 лет назад. Вы видимо по несознанке сели не на тот поезд (симфони) и сейчас ищете любые способы самоутвердиться унизив фреймворк который по факту требуют в 60-70% вакансий на PHP

  • @alexeys1789

    @alexeys1789

    2 күн бұрын

    @@AlexeyProgramming Спасибо за развёрнутый ответ, не ожидал. Отвечу несколькими частями, не знаю какое ограничение у ютуба на длину комментов

  • @alexeys1789

    @alexeys1789

    2 күн бұрын

    @@AlexeyProgramming 1) Во-первых, как часто возникает потребность в работе с примитивами? Не знаю что у вас там за бизнес логика, но если не считать легаси и мёртвый код, где всё на массивах вместо объектов, то мне с этим приходится сталкиваться крайне редко. Во-вторых, как вы связали низкоуровневые модули и сторонние(я так понимаю, под "дополнительными модулями" имелось в виду именно это) модули? Речь шла о слое абстракции над такими модификациями. Сразу приведу пример, поскольку видно, что с принципами проектирования архитектуры модуля вы не знакомы. Нужно зарегестрировать пользователя, при этом выдать ему слаг. Слаг генерируется, допустим, из половины юзернейма и в конец этой строки добавляется дата регистрации. Итак, у нас есть модель, которая занимается регистрацией пользователя и в процессе регистрации вызывает сервис для создания слагов. Именно в этом сервисе и будет инкапсулирована вся работа со строками. Вот о чём была речь, а не о каких-то дополнительных модулях, но это вообще шок, что такую базу я должен рассказывать. "Это влияет не на читаемость кода, а на писабельность". Блин, когда все переживают о том, чтобы их код был читабельным, вас интересует проблема писабельности... Код читается куда чаще, чем пишется (очередная база), поэтому этот аргумент вообще не понятно зачем приведён. "потому что нейминг конвенции как таковой нет" да, это факт, однако и язык старый. У всех старых языков есть такие проблемы, PHP не единственный в своём роде. Интересно, вы предлагаете в каждой версии (или что ещё хуже в одной) исправлять названия некоторых функций? Ну, удачи вам потом с переездом на новую версию языка. Спросите у питонистов, каково это, когда в одной из новых версий поломали обратную совместимость, я думаю они расскажут вам какое это удовольствие. Хотя человеку, который за 15 лет(если это правда, конечно) так и не вырос с уровня стажёра, такие проблемы наверняка даже и в голову не приходили. В общем, это сто процентов того не стоит, да и на самом деле это не критично, поскольку уж за 15 лет разработки(или всё-таки нет XD) точно можно запомнить основные функции языка.

  • @alexeys1789

    @alexeys1789

    2 күн бұрын

    @@AlexeyProgramming 2) "они не являются методами объектов или структур данных как в любом другом ООП языке. То есть в 2024 году мы до сих пор пишем на пхп в процедурном стиле, который как бы полноценный ООП язык с классами и методами". Это да, только в таком случае мы работаем не с объектом класса `string`, а с данными, к которым нужно применить операцию. Семантически как по мне более понятно, что если мы хотим привести строку к lowercase, то это операция над строкой, а не над объектом строки со значением 'foo'. "IDE? Ок, чтобы посмотреть что делает функция надо её сперва написать правильно, а когда такая каша в нейминге и типизации это втройне дольше и сложнее" опять же, есть набор частоприменяемых функций, а если не знаешь название функции, то можно столкнуться с трудностями, что эта функция на самом деле работает не так, как ожидалось. Вообще удивительно, что вас беспокоит лишь управление языком. Язык программирование - инструмент для решения проблем бизнеса, не более "Сам факт что без IDE это сложно говорит об отвратительной организации нейминга и постоянном отсутствии контекста". Это не сложно, я лишь сказал, что эта проблема уже давно решена, не стоит для этого менять язык и ломать BC. "Главная и единственная проблема PHP это огромный багаж легаси который он тащит с собой мертвым грузом более 20 лет, который тянет его на дно и не даёт развиваться". Интересно, а вы с другими языками вообще работали? Неужели PHP единственный такой? И да, самое интересное, как это проблема нейминга функций "тянет язык на дно и не даёт развиваться"?))) Если речь не об этом, то я не понимаю, о каких таких проблемах, которые не дают языку развиваться, вы говорите. Да, есть старые вещи, однако они сохраняются чтобы не ломать BC и на деле особенно никому не мешают. Есть куда более значимые проблемы, ваш текущий взгляд называется термином bike-shed.

  • @alexeys1789

    @alexeys1789

    2 күн бұрын

    @@AlexeyProgramming 3) "Из-за этого легаси и проблемы с неймингом, структурами данных, он обрастает новым функционалом выдуманным на коленке на отебись, чтобы только не сломать то что уже работает, и срочно решить горящие проблемы". А можно конкретные примеры, какой такой функционал вводится лишь чтобы не сломать что работает и решить какие-то "горящие проблемы"? Да, есть не самый полезный функционал по типу того же атрибута Override, однако это явно не из-за проблемы нейминга функций. "Laravel сейчас самый популярный фрейм, я начинал с CodeIgniter 15 лет назад" с одного ужаса на другой, соболезную. Расскажу вам историю появления лары, о которой вы наверняка не задумывались. Существовал симфони, потом бах, ниоткуда появился ларавель, о котором до этого никто не слышал, и внезапно все начали говорить о нём. При этом на тот момент он на 90% состоял из симфони, а то новое, что он предлагал критиковалось сообществом. Прошло время, но лара всё ещё засматривается на симфони. Да что уж там говорить, даже сейчас в ларе много компонентов симфони. И это не скопированный код, а действительно зависимости от библиотек симфони. Но конечно, куда уж мне учить человека смотреть зависимости проекта, если этот человек 15 лет разрабатывает. Интересно, если вы критикуете симфони, то что же тогда с ларой, которая берёт компоненты симфони? Ну и "самый популярный фрейм" это конечно очень сильный аргумент, показывающий мощь фреймворка. А всякие там фасады лары, которые привносят в проект миллион проблем, вас не беспокоят, ларавель ведь всё ещё популярный "фреймворк который по факту требуют в 60-70% вакансий на PHP". Ну да, поддерживать этот кал, который был создан на волне хайпа, кому-то же нужно) Только вот новых проектов на этом чуде сейчас создаётся всё меньше и меньше, интересно же почему... Посмотрите статистику, большая часть шарящих людей, использующих не самописный фреймворк, предпочитают именно симфони, при этом как для коммерческих, так и для пет-проектов

Келесі