- Не умер ли ещё PHP (и ещё 11 вопросов, которые не стыдно задавать в 2022)
- Что вообще такое бэкенд, зачем им заниматься?
- Что выбрать — PHP, Python, Go или Node.js?
- Почему все говорят про Python? Он крутой?
- PHP умирает?
- PHP сложный?
- Бэкенд — это про логику и алгоритмы?
- У фронтендеров есть React и Vue, а у бэкендеров?
- Где мне пригодятся эти знания?
- Деньги-то вообще есть? Или работать за 20 тысяч?
- Придётся ли устанавливать Linux, чтобы писать бэкенд?
- Как взломать базу паролей на бэкенде на PHP
- Почему о фронтендерах все говорят, а о бэкендерах нет?
- Причины актуальности PHP в 2023 году
- Заключение
Не умер ли ещё PHP (и ещё 11 вопросов, которые не стыдно задавать в 2022)
Уже который год во всех слаках, дискордах, телеграмах и форумах главный вопрос о любом языке программирования звучит так — стоит его учить В ЭТОМ ГОДУ, или лучше уже не надо? Взять какой-нибудь PHP — его же вечно хоронят, и всё никак.
Есть и много других вопросов. Например:
— Что выбрать — PHP, Python, Go или Node.js? Или Visual Basic? Или С? Может, Brainfuck?
— Почему все говорят про Python? Он крутой? Круче, чем всё?
— Бэкенд — это про логику и алгоритмы? Матан нужен? А чувство прекрасного?
— У фронтендеров React, Vue и миллионы других фреймворков, о которых все слышали, а что у бэкендеров? Терпение?
— Придётся ли устанавливать Linux, чтобы работать с бэкендом?
— Почему о фронтендерах все говорят, а о бэкендерах нет? Это потому что у них зарплата 20 тысяч?
Как хорошо, что спрашивать не стыдно, а отвечать — бесплатно. Поэтому мы попробуем ответить, а вы присоединяйтесь к обсуждению, потому что в таком деле у всех свои ответы.
Что вообще такое бэкенд, зачем им заниматься?
Если упростить, то любой сайт — это код, файлы, базы данных и картинки. Всё это лежит не на компьютере у разработчика сайта, а на сервере — отдельном компьютере, к которому может подключаться много пользователей.
Бэкенд-разработчик отвечает за то, что лежит на сервере — делает так, чтобы файлы сохранялись и читались, базы данных работали, как следует, байтики передавались, а в браузере у пользователей показывалось то, что они хотят увидеть, а не какие-нибудь сепульки.
Например, бэкенд-разработчик может сделать так, чтобы ваше письмо дошло, куда надо, а приложенный по пути годовой отчёт в эксельке не потерялся. Или чтобы аватарка в соцсети была на месте и все лайки в инстаграме остались там, где вы их поставили, а не переехали на страницу к другому человеку. Потому что представьте, какая это была бы катастрофа.
И вот бэкендеры спасают нас от этого.
Есть и более «обычные задачи» — все формы регистрации, запись к врачам и даже этот блог работает с помощью бэкендеров. Блог, например, написан на PHP. Этот текст ещё минуту назад лежал в базе данных, а когда вы открыли эту страницу, загрузился оттуда, и теперь вы можете его читать.
Что выбрать — PHP, Python, Go или Node.js?
Смотря для чего. На PHP работает подавляющая часть сайтов, но другие языки могут быть моднее. Вообще, конечно, любой язык можно приспособить под любую задачу — наверняка есть работа и для бэкенд-разработчиков на Python, если в какой-нибудь компании так принято.
Можно писать сайты на C, делать бэкенд на Visual Basic и игры в Экселе, но зачем?
Node.js — другой хороший и модный вариант бэкенда, а ещё с ним проще стать фулстеком. Потому что можно выучить JavaScript и писать сразу и фронтенд, и бэкенд, и получать больше денег.
Почему все говорят про Python? Он крутой?
Python очень приятный, его легко выучить и развлекаться. Но в бэкенд-разработке он используется не слишком часто. Он лучше подходит для других задач — аналитики, работы с нейросетями, вычислениями и статистикой. Там есть всё или почти всё, что для этого нужно.
PHP умирает?
Нет, не умирает. Он, может быть, менее модный, чем был когда-то, но на нём всё ещё работают 80% сайтов в интернете. Четыре из пяти, представьте себе. Работа для PHP-разработчиков никуда не денется, потому что никуда не денутся 50 с лишним миллионов сайтов, внутри которых бьется пиэйчпишное сердце (ух как завернул).
PHP сложный?
Не сильно сложнее, чем другие популярные языки. А раньше его простота вообще приводила к тому, что на нём было слишком просто написать плохой код (поэтому его так много). С выходом PHP 8 такого стало меньше.
Для сравнения сложности, вот минимальный код, который понадобится, чтобы вывести строчку «Hello, world» на разных языках.
// PHP // Python print("Hello, World!") // Ruby puts "Hello World" // Go package main import "fmt" func main()
Уважаемые разработчики на PHP, Python, Ruby и Go с годом практики и больше. Мне нужна была наглядная иллюстрация, поэтому сделайте, пожалуйста, вид, что не видели этого сравнения.
А ещё у PHP замечательная документация, в которой есть примеры использования всего на свете и комментарии от пользователей, у которых есть свои варианты кода на каждый случай жизни.
Бэкенд — это про логику и алгоритмы?
Если фронтендерам алгоритмы обычно нужны не раньше третьего-четвёртого года работы за деньги, то бэкендерам хорошо бы сразу понимать, где можно оптимизировать код. Всё-таки к серверу может быть и миллион запросов в секунду, и там каждый байт на счету.
У фронтендеров есть React и Vue, а у бэкендеров?
Не переживайте, у бэкендеров тоже есть свои фреймворки. Django, Laravel, Yii 2, Ruby on Rails, Flask, CakePHP, Spring Boot, тысячи их. Все они созданы, чтобы облегчить разработку и сделать её понятнее.
Осталось не забывать главное правило — выучите язык перед тем, как учить фреймворк, а не после. Потому что учить сначала фреймворк это как строить дом, начиная с третьего этажа.
4.02. Алекс доказывает, что он не виноват. Просто 12 этажей Сидорова на 4 метра выше и на 5 метров шире, чем 12 этажей Петровича. Выяснилось, что они строили из разных панелей. Но Алекс все равно ламер, поскольку его крыша не подходит по размеру ни одному из вариантов. Его шахта лифта, кстати, тоже.
Где мне пригодятся эти знания?
В принципе знание языков программирования и основ работы бэкенда пригодится в большой или маленькой компании, которая делает сайты.
А знание, как написать «Hello, World» поможет в экспериментах. Можете, например, попробовать тренажёр по PHP — вы там сделаете целую страничку интернет-магазина своими руками. Вообще, хорошо сначала попробовать, прежде чем бросаться с головой в новое дело. Вдруг вам вообще не понравится?
Деньги-то вообще есть? Или работать за 20 тысяч?
Как правило, у всех есть знакомый JavaScript-разработчик (а если у вас его нет, то это вы). Обычно знакомый JavaScript-разработчик зарабатывает больше ста тысяч, работает в какой-нибудь компании, у которой есть свои курьеры с доставкой еды, и хвастается, что можно не ездить в офис.
И это, на секундочку, фронтенд.
А теперь посмотрите статистику от Хабр Карьеры. 140 тыс — средняя зарплата бэкендеров в 2021, это даже больше, чем во фронтенде, хотя казалось бы.
Конечно, не у всех есть знакомый бэкендер, но если вы им станете, то все только спасибо скажут. Сможете круглые сутки переустанавливать винду всем родственникам (шутка).
Придётся ли устанавливать Linux, чтобы писать бэкенд?
Бэкендерам обычно нужно понимать, как устроены Линукс, терминал, файловая система, права доступа, и как это всё заставить работать, потому что на Линуксе работают сервера (см. вопрос номер 1).
Но правда в том, что к серверам обычно подключаются удалённо, а писать код и гуглить на StackOverflow можно хоть на ноутбуке с Windows — было бы желание, а все инструменты уже есть.
Как взломать базу паролей на бэкенде на PHP
Не знаю, почему об этом постоянно спрашивают. Взламывать пароли вообще плохо, не занимайтесь таким.
Почему о фронтендерах все говорят, а о бэкендерах нет?
Если вы следите за русскоязычным твиттером или регулярно просмотриваете топ Хабра, то знаете как минимум нескольких фронтендеров, которые постоянно выгорают, но продолжают зарабатывать миллиарды в наносекунду. Они ездят на конференции, пишут статьи, и поэтому их заметно.
Так вот, смысл в том, что бэкенд-разработчиков ровно настолько же много, нужно просто за ними специально послеживать. Не будем советовать конкретных — при должном желании вы найдёте нескольких и самостоятельно.
Смысл в том, что говорят о тех, кого видно. Если вы сделаете себе карьеру и будете выступать на конференциях и писать в Твиттер о том, как устали делать однотипные лендинги и гонять туда-сюда джейсончики, то и о вас заговорят. Ну или можно просто переводить всё подряд на Хабр, и о вас тоже заговорят.
А можно быть просто хорошим разработчиком и делать проекты, которые помогают компании — это тоже путь. И без разницы, фронтенд это, бэкенд или мобилка. Главное — делать хорошо.
А с мифами о PHP разберёмся в прямом эфире 28 февраля в 19:00. Лёша Симоненко из Академии и Алексей Солодкий, руководитель PHP-разработки из BelkaCar, обстоятельно поговорят о современном PHP и ответят на все вопросы из чата.
Причины актуальности PHP в 2023 году
Во-первых, PHP — это язык с открытым исходным кодом, что означает, что его можно свободно использовать и модифицировать. Это способствовало росту большого сообщества разработчиков, которые вносят свой вклад в развитие языка, разрабатывая библиотеки, расширения и фреймворки, которые можно использовать для создания мощных и сложных веб-приложений.
Кроме того, PHP имеет большое количество CMS (систем управления контентом), написанных с его помощью, таких как WordPress, Drupal и Joomla. Эти CMS занимают значительную долю рынка в мире веб-разработки, и изучение PHP может быть очень полезным для разработчиков, которые хотят создавать пользовательские плагины, темы и расширения для этих платформ. Фактически, только WordPress поддерживает более 40% всех веб-сайтов в Интернете, а PHP является основным языком, используемым для создания пользовательских плагинов и тем WordPress.
PHP также имеет большое количество популярных фреймворков, таких как Laravel, CodeIgniter и Symfony, которые позволяют легко и быстро создавать сложные веб-приложения. Эти фреймворки предоставляют ряд функций и инструментов, таких как аутентификация, маршрутизация и интеграция с базами данных, которые могут помочь вам оптимизировать процесс разработки и более эффективно создавать высококачественные приложения.
Еще одним фактором, который способствует сохранению актуальности PHP, является его совместимость с другими веб-технологиями. PHP может легко интегрироваться с HTML, CSS, JavaScript и другими языками веб-разработки. Это делает его идеальным выбором для создания веб-приложений, требующих взаимодействия в режиме реального времени, таких как чат-приложения и веб-сайты электронной коммерции.
Более того, PHP развивался на протяжении многих лет, и в его последних версиях появилось несколько функций, которые делают его более современным языком. Например, PHP 8.0, выпущенный в 2020 году, внес несколько улучшений, включая повышение производительности, улучшенную обработку ошибок и новые языковые функции, такие как именованные аргументы и типы объединения. Это гарантирует, что PHP остается современным и развивающимся языком, который можно использовать для создания современных и сложных веб-приложений.
Заключение
PHP все еще стоит изучать в 2023 году. Несмотря на появление новых языков программирования и фреймворков, PHP остается одним из наиболее широко используемых языков программирования для веб-разработки. Он прост в освоении и использовании, имеет большое и активное сообщество разработчиков, широко поддерживается поставщиками веб-хостинга и имеет ряд популярных фреймворков, которые позволяют легко и быстро создавать сложные веб-приложения. Кроме того, нет недостатка в вакансиях, доступных для разработчиков PHP. Так что, если вы заинтересованы в веб-разработке и рассматриваете возможность изучения нового языка программирования, PHP определенно стоит рассмотреть.