Пора перестать ненавидеть PHP, даже если он этого заслуживает Перевод

Yori Yori 24 Октября 2021 (ред)

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

Погодите, нет, может, стоит сказать: раньше для этого была веская причина. Сам язык прошел долгий путь с момента своего дебюта в 1994 году. Да, 1994 год, эквивалент мезозойской эры в истории Интернета.

Еще несколько лет назад это был старый и устаревший язык сценариев. Фактически, вначале он даже не предназначался для того, чтобы быть настоящим языком программирования. По крайней мере, в сознании его создателя Расмуса Лердорфа. Вот что он сказал по этому поводу:

Я очень не люблю программировать. Я построил этот инструмент, чтобы программировать меньше, чтобы я мог просто повторно использовать код… Я не знаю, как это остановить, никогда не было намерения писать язык программирования […]. Я вообще не знаю, как писать язык программирования, я просто добавлял следующий логический шаг.

Если вам интересно, как случайный программист, родившийся в Гренландии (!), неохотно создал одну из самых влиятельных веб-технологий всех времен, что ж, это все еще немного загадка. Дело в том, что, несмотря на то, что это был странный, ошибочный и непоследовательный язык, он все же был лучше, чем большинство — если не все — альтернативы, доступные в то время.

Современный PHP

Но является ли современный PHP тем же языком, что и раньше? Конечно, нет, с каждым выпуском он становился все лучше и лучше и постепенно превратился в довольно приличный инструмент, который многие веб-разработчики начали использовать ежедневно для разработки современных и поддерживаемых приложений и веб-сайтов. Фактически, в настоящее время PHP поддерживает более 70% веб-сайтов, к которым вы можете получить доступ из своего веб-браузера.

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

Это может показаться бессмысленным примером, но взгляните на эти функции:

str_replace("a", "b", $randomString); // replace part of a string

strtoupper($randomString); // make the string uppercase

ucfirst($randomString); // make the first letter of the string uppercase

Это полный бардак. Все эти функции связаны со строками, но они не следуют какому-либо предсказуемому шаблону именования. И хотя это всего лишь глупый пример, он ясно показывает, насколько плохо было спроектировано ядро ​​языка. И если вам интересно: да, эти функции все еще используются сегодня.

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

Для большинства разработчиков это все тот же язык, с которым они боролись еще во времена PHP4. Они полностью игнорируют то, как PHP7 полностью изменил лицо языка, а следующая версия, PHP8, сделала его еще лучше. В ядро ​​вошло множество новых востребованных функций. Теперь язык зрелый, с сильными возможностями ООП и полнофункциональной, хотя и необязательной системой типов.

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

Ист. It's time to stop hating on PHP, even though it kinda deserves it.

PHP

2 Ответа

  1. German German 24 Октября 2021

    Я сам не пишу на PHP, поглядываю. Да, он здорово подрос в последнее время, из того что вижу.

  1. OleStep OleStep 6 Августа 2022 (ред.)

    PHP прекрасный язык, как бы его не ругали. Но он несет определенную опасность: он слишком многое прощает. А если нет самодисциплины, разработчик может вырасти эгоистом, которому плевать на все правила, стандарты и лучшие практики. В этом минус PHP.