Чому мова PHP досі актуальна? | robot_dreams
Для відстеження статусу замовлення - авторизуйтесь
Введіть код, який був надісланий на пошту Введіть код із SMS, який був надісланий на номер
 
Код дійсний протягом 2 хвилин Код з SMS дійсний протягом 2 хвилин
Ви впевнені, що хочете вийти?
Сеанс завершено
На головну
Чому мові PHP роками пророкують «смерть», але вона досі актуальна?

Чому мові PHP роками пророкують «смерть», але вона досі актуальна?

Колонка Костянтина Сороки, Senior Software Developer в DataArt

Костянтин Сорока, Senior Software Developer у компанії DataArt та лектор курсу «PHP-developer з нуля», зацікавився цією мовою, ще коли навчався у школі, і тепер вже понад 10 років використовує її для роботи.

У своїй колонці для robot_dreams розробник розказує, чому PHP часто критикують, які вона має переваги та чому є сенс вивчати її новачку.

Костянтин Сорока, Senior Software Developer у компанії DataArt та лектор курсу «PHP-developer з нуля»

Чому я вирішив писати на PHP і як будував свою кар’єру

Мова PHP є однією з найпоширеніших мов у сфері веброзробок. З цією мовою програмування я стикнувся ще у школі, десь на початку 2000-х років. З того часу я вже мав уявлення, що це таке і для чого цю мову використовують.

Досвіду програмування цією мовою я маю понад 10 років. З них комерційний досвід (робота на компанію) — приблизно 8. До того в мене були фриланс-проєкти, завдяки яким я набув досвіду спілкування із замовниками та познайомився з PHP-фреймворками. Першою компанією, де я почав працювати, була вебстудія Sponge D&D. У ній я почав свій шлях відразу як Fullstack-розробник, завдяки чому я більш щільно познайомився не лише з комерційною розробкою на PHP, а ще й із JavaScript, який використовують у клієнтській частині застосунків.

До того, як я став фултайм-розробником, працював у ІТ-компанії на позиції, пов’язаній з менеджментом. Остання моя посада — замкерівника фінансового відділу компанії. Я бачив з іншого боку, як ведуть розробку, які запити потрібно ставити розробнику, як аналізувати продукт, щоб можна було його покращити.

Упереджене ставлення до PHP

З упередженим ставленням до мови PHP я стикався найчастіше у постах на форумі. Щось на кшталт: PHP — це мова, яка вже померла чи помирає. В реальному житті подібне можна почути нечасто.

Мова програмування — це лише інструмент. Наскільки вона гарна чи погана, повністю залежить від розробника, який її використовує.

Ця думка, що PHP — погана мова, мені здається, виникла з тих часів, коли вона тільки з’явилась у середині 90-х. Тоді ця мова була сумішшю PHP-коду і HTML-коду в одному файлі. Цей код було дуже важко читати, до того ж не було ніяких стилів кодування, якихось підходів чи стандартів. Якщо порівнювати Java тих років і PHP, то відмінність буде помітна. Здавалося, що PHP — це мова, яка написана на коліні, й вона не зможе довго прожити. З того часу багато що змінилось. Окрім, напевно, єдиного — традиції хейтити ту чи іншу мову.

Зараз PHP зайняла свою нішу як мова для вебпрограмування. Нею працюють близько 77 % усіх сайтів у вебпросторі. Мені здається, саме це є вагомим показником того, що з мовою все гаразд.

Звичайно, PHP, як і будь-яка інша мова, може «померти». Однак, на мою думку, PHP буде актуальною мовою ще принаймні років десять. Взагалі мені важко зараз сказати, з такою статистикою, за яких умов інша мова може замінити PHP у цій ніші. Для цього всі сайти, що використовують PHP як мову для серверної частини, мають бути переписаними або забутими у вебпросторі.

Основні переваги та недоліки PHP

Основна перевага — це те, що ця мова програмування є вузькоспеціалізованою. Вона була створена як серверна частина, з якою взаємодіє користувач. І з плином часу ця сфера залишається за PHP. Тобто розробник із самого початку може сфокусуватися на одній сфері. Якщо порівняти з іншими мовами, наприклад, з Python, то на початку розробнику зовсім незрозуміло, в якому векторі треба рухатися. Зробити цей вибір буває досить складно, і це одна з причин збільшення порогу входу.

Ще однією перевагою є те, що ком’юніті PHP є дуже розвиненим. Людина, яка починає програмувати цією мовою, використовує той чи інший інструмент — якийсь фреймворк чи готове рішення. Тобто спеціаліст із легкістю може знайти відповідь на своє запитання. Навряд чи розробник може стикнутися з такою ситуацією, коли проблему хтось ще не вирішив.

Ця мова, оскільки вона існує дуже давно й використовується у вебі, підтримується майже всіма актуальними серверами. Це дає універсальність у виборі середовища. Тобто ваш застосунок буде працювати. Це вагомий «плюс» на користь PHP.

Щодо недоліків:

  • Є специфічні завдання, для яких PHP не підходить. Для їхнього розв’язання краще використовувати іншу мову. Це стосується проєктів нейромережі, штучного інтелекту.
  • Також із власного досвіду можу сказати, що з PHP легко «вкотитись» у професію. Але через це й досить часто можна зустріти непрофесійно написаний код з недоліками сек’юрності або читабельності.
  • Я стикався з проєктами, які пишуть близько десяти років. І код, написаний десять років тому, може мати досить дивний вигляд. Наприклад, він може бути в один довгий рядок або в ньому можуть бути якісь проблеми із захистом конекту.

Яка мова — основний конкурент PHP?

У вебі не для супернавантажених застосунків можна виділити два основних конкуренти PHP — це Node.js (грубо кажучи, JavaScript, який може працювати на сервері) і Python, який можна використовувати для веброзробки:

  • Node.js має привабливий вигляд для розробників, бо ця мова використовує один синтаксис. Таким чином, розробник пише весь код — що клієнтський, що серверний, використовуючи одну мову. Йому не потрібно знати жодних інших інструментів.
  • Щодо мови Python, яку використовують для вебу, — зараз я в ній бачу багато недоліків у сфері веброзробки. Найбільш розповсюджені фреймворки досить замкнені, а їхнє ком’юніті мені здалося не таким розвиненим, як у PHP. Ні в якому разі я не хочу сказати, що Python — це поганий інструмент, але я не бачу сенсу використовувати його для більшості вебзастосунків. Це як користуватися вдома на кухні мультитулом: можна, але не завжди доцільно.

На поточному проєкті я особисто використовую різні мови програмування — і PHP, і JavaScript, і Python. Є різні мікросервіси, написані тією чи іншою мовою програмування, залежно від завдань. Адже, нагадаю, мова програмування — це лише інструмент для реалізації того чи іншого задуму.

Якщо людина хоче розвиватися на ринку розробки, то їй треба розуміти переваги й недоліки кожної мови програмування, щоб найкраще використовувати ці мови під конкретні завдання.

Кількість вакансій у сфері PHP-програмування

За останні п’ять років, мені здається, кількість вакансій PHP-розробників збільшилася. Через війну є просідання, але це у всіх сферах, бо ринок перебуває у стресі.

Але принаймні для розробників-початківців я не можу сказати, що зараз ситуація більш проблемна, ніж рік чи два тому.

Як змінювалася кількість вакансій на PHP з січня 2022 до серпня 2023 порівняно з іншими мовами // Дані DOU

Які додаткові технології варто вивчати PHP-розробнику, щоб бути конкурентоспроможним

Ще спочатку мова PHP була щільно пов’язана із HTML і JavaScript, тому що PHP — суто серверна технологія, а вказані інструменти відповідають за інтерфейс сайту, з яким взаємодіє користувач. Тож розробник на PHP як десять років тому, як п’ять, так і зараз повинен мати принаймні базові знання HTML і JavaScript. Це щодо технологій.

Ще дуже важливо знати англійську мову. Для початківців гарний рівень знання англійської навіть більш важливий, ніж для розробників вищого рівня — Senior. Бо Senior уже вміє програмувати, а початківцю ще потрібно вчитися. Дуже багато корисних ресурсів для навчання є в англомовному просторі, до того ж високий рівень знання англійської мови — вагома перевага під час влаштування на роботу.

Ще статті
Експертки про те, як оцінюють кандидатів на нетехнічних інтерв’ю
Частина 2. Робота із записами: вставка, читання, змінення й видалення