3 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Стоит ли учить php в 2019

Какие перспективы у PHP и стоит ли на нём писать

  • Ответы экспертов, 5 августа 2017 в 20:57
  • Елена Брызгалова

Наш подписчик прислал вопрос в редакцию Tproger:

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

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

Николай Добровольский , вице-президент Parallels

В мире технологий все довольно быстро меняется. И правда, сейчас эра популярности PHP уже прошла. Поэтому говорят не зря. Достаточно просто взглянуть на http://githut.info.

Я бы посоветовал сейчас смотреть на JavaScript или Python как на наиболее популярные языки в области веб-разработки. Но через несколько лет все снова изменится. Уже сейчас много проектов делают на Ruby или Lua, которые отличаются еще большей скоростью разработки. Мы в Parallels для веб-разработок используем Python и JavaScript.

Игорь Сомов , бэкенд разработчик Avito, преподаватель

В интернете очень много мифов о PHP. Есть несколько причин их возникновения:

  • вы начали использовать PHP 4 года назад и потом перешли на другой язык. Теперь странно сравнивать старую версию языка с любым современным языком. Посмотрите на ChangeLog — вы увидите, что изменилось действительно многое;
  • в PHP очень низкий порог входа, и вы можете быстро начать решать задачи. Да, вы можете писать плохой код, как и в любом другом языке. Однако, когда вы действительно понимаете, как работает PHP изнутри, вы начинаете писать более качественный и производительный код. Если вы знакомы с базовым синтаксисом, то рекомендую посмотреть на современные фреймворки: Laravel, Symfony — и узнать PHP чуть подробнее. PHP очень активно развивается, обладает огромным профессиональным сообществом. Он является одним из самых быстрых скриптовых языков.

Сейчас все стандартные задачи на бэкенде можно решить с помощью PHP, существует огромное количество готовых решений, поддержка всех современных баз данных и технологий. Многие крупные компании используют PHP: Facebook, Vk, Mail.ru, Avito.

Но не стоит отрицать, что PHP ещё есть куда расти. Поэтому советую не верить слухам, а попробовать PHP самостоятельно.

Виталий Леонов , Руководитель бэкенд разработки Avito. Zend сертифицированный PHP-разработчик.

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

Так что PHP вполне себе перспективен на ближайшее десятилетие.

Степан Чельцов , генеральный директор агентства «Первый интернет-проект»

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

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

Сергей Прокофьев , управляющий партнер агентства CreativePeople

У меня такое ощущение, что PHP сто лет стоял и еще сто простоит. Слишком много проектов на нем, для слишком большого количества разработчиков этот язык является основным. Я как-то слабо себе представляю 1С-Битрикс, переписанный на Python. Однако, я здесь больше рассуждаю как менеджер, так как сам завязал с программированием на уровне С.

Александр Павлов , ведущий разработчик AndersenLab

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

Алексей Золотых , Frontend разработчик Wrike

Насколько я знаю, у PHP достаточно много проблем. Но основная проблема этого языка — низкий порог входа. Научиться делать простые вещи можно за пару дней или даже часов. Важно то, что умение генерировать HTML или виртуозно настраивать WordPress плохо соотносится с программированием. Хотя эти навыки и позволяют зарабатывать неплохие деньги.

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

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

Иван Никитин , директор «Иван Никитин и партнеры»

Слухи о смерти PHP сильно преувеличены.

PHP сегодня — это 25 % всего интернета.

Василий Васильков , эксперт IT-конференции «Стачка»

Ответ «да» на все вопросы.

Стоит ли продолжать с ним работать? Да. Стоит ли искать другой язык? Да. Является ли он настолько бесперспективным, как говорят? Да.

Однако, я считаю, что все диспуты про PHP уже можно прекратить. Первое место в номинации «плохой язык» уже лет пять принадлежит JavaScript, и я не вижу других, столь же сильных претендентов на это место.

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

Григорий Земсков , Директор компании «Ревизиум»

Популярность языка PHP растет с каждым годом. Это обусловлено тем, что, с одной стороны, он прост в изучении, предоставляет широкие возможности для разработки решений для веба; а с другой стороны, огромное число популярных CMS реализовано именно на PHP: WordPress, Joomla, Drupal, DLE, MODx. Все популярные коммерческие CMS также работают на PHP: Bitrix, Netcat, UMI.CMS. Он поддерживается на подавляющем большинстве российских и зарубежных хостингов. Среду для веб-разработки можно легко развернуть на локальном компьютере.

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

Алла Клименко , CEO Mad Devs

Среди наших клиентов PHP все еще пользуется спросом. Как правило, это проекты, которые мы беремся делать не с нуля, а на какой-то стадии для доработки и сопровождения. Если проект приходит с нуля, то наш выбор языка однозначно будет не в пользу PHP. Мы больше работаем с Django, React.js и Golang. Более того, если к нам приходит проект, сделанный на PHP и садится на долгосрочную поддержку и доработку, то рано или поздно мы также стараемся переписать его с нуля. В общем, все зависит от целей и финансовых возможностей заказчика.

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

Дмитрий Сошников , технологический евангелист Microsoft, доцент МФТИ, МАИ, преподаватель детского лагеря JUNIO-R

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

Что касается PHP, то он подходит для определенного круга задач, а именно для веб-сайтов, как правило, не слишком больших. Для больших корпоративных и высоконагруженных систем обычно используют другие технологии, основанные, например, на C# или Java. Кроме того, C# или Java позволят создавать не только веб-сайты, но и мобильные приложения, то есть с точки зрения универсальности они безусловно интереснее для изучения.

PHP в 2019 году

Так ли страшен слон, как его малюют?

  • 11May
  • PHP

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

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

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

Конечно все еще есть много разработчиков, пишущих “говно-код” – потому что либо у них нет других вариантов, они должны или потому что, возможно, они не знают как это делать лучше.

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

Краткий тезис, если “многабукаф”

  • PHP активно разрабатывается с новым выпуском каждый год
  • Производительность с эры PHP 5 выросла вдвое, если не втрое
  • Существует чрезвычайно активная экосистема фреймворков, пакетов и платформ
  • За последние несколько лет в PHP было добавлено много новых функций, и язык продолжает развиваться
  • Инструменты, подобные статическим анализаторам, выросли за последние годы и только продолжают расти

Немного истории

Для краткости рассмотрим цикл выпуска релизов PHP. Сейчас мы имеем в своем распоряжении PHP 7.3, версия 7.4 ожидается в конце 2019 года. PHP 8.0 вероятней всего будет следующей версией после 7.4.

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

В целом, каждый новый выпуск активно поддерживается в течение двух лет, плюс еще один год проходит под эгидой «Только исправлений безопасности». Цель состоит в том, чтобы мотивировать разработчиков PHP оставаться в курсе как можно больше: небольшие обновления каждый год намного проще, чем, например, мажорный переход от 5.4 до 7.0.

Активный обзор временной шкалы версий PHP можно найти здесь. Ну и наконец, PHP 5.6 была последней версией 5.x, следующей уже был PHP 7.0. Если вы хотите узнать, что случилось с PHP 6, вы можете прослушать подкаст PHP Roundtable.

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

Производительность PHP

В версиях 5.x производительность PHP была…, ну в лучшем случае средней. В 7.x очень большая часть ядра PHP была переписана с нуля, что привело к значительному увеличению производительности, примерно, в два-три раза. У Kinsta, например, хороший список результатов тестирования производительности PHP на различных фреймворках.

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

Конечно, фреймворки на PHP не будут превосходить тех же C и Rust, но они работают намного лучше, чем Rails или Django, ( нисколько не хейтю Пайтон, сам его очень люблю ) и сравнимы с ExpressJS.

Фреймворки и экосистема

Говоря о фреймворках: PHP это уже не CMS’ки уровня WordPress. Да и большинство CMS на PHP не являются представителем современной экосистемы.

В настоящее время, есть два крутых фреймворка: Symfony и Laravel . Конечно, есть еще и Zend, Yii, Cake, CodeIgniter и т. д. – но если вы хотите знать, как выглядит современная PHP-разработка, вам хорошо было бы познакомиться с одним из этих двух фреймворков.

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

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

Один из способов измерить текущее состояние экосистемы PHP – посмотреть на Packagist, основной репозиторий пакетов для PHP. Можно наблюдать экспоненциальный рост. С более чем 25 миллионами загрузок в день, справедливо сказать, что экосистема PHP уже не так слаба как это было раньше.

Посмотрите на этот график, в котором указано количество пакетов (и версий) с течением времени. Его также можно найти на веб-сайте Packagist .

Помимо фреймворков и CMS, мы также наблюдаем в последние годы рост асинхронных фреймворков. Это фреймворки и серверы, написанные на PHP или других языках, которые позволяют пользователям запускать действительно асинхронный PHP. Примеры тому Swoole , Amp и ReactPHP.

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

В списке внутренних рассылок – это место, где ведущие разработчики обсуждают развитие языка, – также говорилось о том, чтобы добавить libuv в ядро. Для тех, кто не знает, libuv – это та же библиотека, которую Node.js использует для обеспечения асинхронности.

Сам язык

Пока async и await не доступны, но за последние годы было сделано много улучшений для самого языка. Вот неполный список новых функций в PHP:

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

Обсуждение новых функций ведется во “Внутреннем” списке рассылок, которые можно почитать любому пользователю. Прежде чем добавить новую языковую функцию, необходимо провести голосование. Только RFC с большинством голосов не менее 2/3 допускается в ядро.

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

Хотя большая часть основной разработки выполняется на добровольной основе, один из разработчиков ядра PHP, Никита Попов, недавно был нанят компанией JetBrains для работы над языком на полный рабочий день. Другим примером является фонд Linux, который недавно решил инвестировать в Zend Framework. Подобные работы и вложения гарантируют стабильность для будущего развития PHP.

Набор инструментов

Помимо самого ядра, наблюдается и увеличение инструментов вокруг него в последние несколько лет. На ум приходят статические анализаторы типа Psalm, а так же Phan и PHPStan, созданные Vimeo.

Эти инструменты будут статически анализировать ваш PHP-код и сообщать о любых возможных и типовых ошибках. В некотором смысле предоставляемые ими функциональные возможности можно сравнить с TypeScript.

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

Вдохновленные сообществом JavaScript, сообщество PHP предпринимала попытки расширить синтаксис PHP в пользовательской среде. Проект с именем Pre делает именно это: позволяет использовать новый синтаксис PHP, который переносится в обычный код PHP.

Хотя идея зарекомендовала себя в мире JavaScript, она может работать в PHP только если будет обеспечена надлежащая поддержка IDE и статического анализа. Это очень интересная идея, но она должна развиваться, прежде чем ее можно будет назвать «мейнстримом».

В заключение

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

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

  • Поделиться
  • Комментарии
  • Лайк

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

Какие требования к Junior PHP Developer в 2019?

Какие требования нужно выполнить, чтобы стать Junior developer, Middle и Senior developer?
Быть может не совсем в ту ветку форума написал, но мне показалось, что здесь я смогу получить.

Требования к junior python developer
Здравствуйте , вдохновился языком Phyton , у меня ряд вопросов к профессионалам. 1.Во первых.

Какие требования к Junior С#?
Нужен совет! Сл. осенью планирую перебираться в Питер и искать там работу Junior c#, какие.

Каковы фактические требования к Junior Python Developer?
Доброе время суток! Интересует личный опыт людей, получивших работу Junior Python Developer’ом.

Junior Web Developer (PHP/Front)
Добрый день. Ищу работу удаленно / офис Санкт-Петербург. О себе: Студент 4 курса, факультета.

jonikster, я не в дополнение напишу, а по делу: учитывая, что все вышеперечисленные знания у Вас базовые, а Вы за полтора месяца планируете изучить темы до требуемого уровня, то условия следующие:
1. Вы – человек, которому не нужен опыт для работы, так как Вы СРАЗУ приобретаете его из прочитанного материала.
2. У Вас эйдетическая(или, на худой конец, фотографическая) память.
3. Вы устраиваетесь по знакомству и Ваши ошибки и нехватку знаний и опыта будут терпеть.

ПыСы
Если последний пункт “2*2=4”, то учиться Вам и вовсе не надо.

Пифагор, 1. Естественно, прочитал тему, подкрепил ее знания выполнением какой нибудь задачи.
3. Есть компания, они берут удалённо на стажера. Но минимальные знания должны быть.

Добавлено через 51 секунду
Custos, Я имел ввиду, что параллельно с PHP не учил JS. JS для Backend я не рассматриваю.

Ошибаетесь. За 2019 ничего особо не поменялось.

Решение

Вы не поняли мою мысль. За полтора месяца Вы не продвинетесь дальше и не наберете достаточно опыта. Закладывайте на обучение МИНИМУМ полгода. Это минимум. С ежедневной(!) практикой 12 – 14 часов.

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

Пифагор, Только вот какое отношение имеет AJAX к Backend?

Добавлено через 48 секунд
Custos, Для Backend нет ничего лучше PHP и Python для карьеры. По Node.js работы еще меньше, чем по Python.

Действительно, какое отношение имеет AJAX к Backend?

О, вспомнил:
1. Фоновый обмен данных с сервером
2. Работа с базами данных
3. Уменьшение нагрузки на сервер за счет частичного обновления документа

Скажите: а чем конкретно, по Вашему мнению, занимается Backend-разработчик.

Расскажите это Java/C/C++/Rust разработчикам, пусть посмеются.
Хотя, тут уже зависит от того, какой смысл Вы вкладываете в слово “карьера”.
Если для Вас “карьера” – это клепать сайтики из говна и палок, то тогда ок.

СергейСереб, речь идет о получении общих знаний и опыта в области веб-программирования в целом, а не конкретно о понимании MVC. Путь выбирает сам человек. Я же пытался донести до ТС объемы информации, которые ему предстоит освоить и убедить, что не возможно(или крайне затруднительно) за 1,5 месяца(да и за полгода) осилить оные. И, полагаю, существует крайне мало людей, кто сможет по 12 часов в сутки на протяжении длительного времени учиться, учиться и еще раз учиться.

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

Добавлено через 3 минуты
За сим позвольте откланяться и покинуть эти дебаты.

Источники:

http://tproger.ru/experts/php-prospects/
http://sergeymukhin.com/blog/php-v-2019-godu
http://www.cyberforum.ru/php-beginners/thread2464733.html

голоса
Рейтинг статьи
Читать еще:  Что такое патина
Ссылка на основную публикацию
Статьи c упоминанием слов: