Скидки до 20% + 2-ая профессия бесплатно и подарки на 50 000₽

Главная | Все статьи | Дневник студента

Как понять, что достаточно разобрался в технологии? Разбираем особенности PHP

Время чтения статьи ~2 минуты
Статья написана студентом Хекслета. Мнение автора может не совпадать с позицией редакции
Как понять, что достаточно разобрался в технологии? Разбираем особенности PHP главное изображение

В процессе изучения программирование иногда довольно сложно уверенно сказать «Я достаточно разобрался в этом». Ну, а как же все-таки понять, где граница этой достаточности?

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

Задайте себе вопрос: «Какие недостатки имеет технология X?», — На такой вопрос сможет ответить только человек, который детально разобрался в данном вопросе. Конечно, если он не прочитал где-то об этом. О преимуществах и так можно узнать из официальных сайтов, блогов. А вот о минусах обычно не принято громко говорить. Но они есть в каждом языке программирования.

Также полезно: Компиляция и интерпретация кода что это такое и в чем разница

Для примера возьмем PHP. Привожу некоторые тезисы из статей в интернете на тему «Почему PHP так плох и ужасен».

  • «Нельзя создать десктопное приложение», — PHP не предназначен для этого. Это скриптовый язык для веба.
  • «У программ на PHP более низкая защищенность», — Спорно. Плохой код можно писать на любом языке.
  • «Нет статической типизации», — Для любителей можно установить declare(strict_types=1). Также использовать тайп-хинтинг. Я подозреваю? что в PHP намеренно не внедряли типизацию для понижения порога входа.
  • «Глобальные переменные в проекте», — Просто не пользуйтесь.
  • «Требуется apache, nginx, php-fpm», — Разве язык программирования должен включать в себя сервер? Например, для запуска Java-приложений требуется JVM, и это нормально.
  • «Нельзя компилировать», — В большинстве случаев PHP-программисту не требуется компиляция кода. Для особых случаев есть HHVM.

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

  1. В PHP осталось большое наследие в виде неоднозначных имен встроенных функций и порядков аргументов в них. В каких-то названиях есть символы нижнего подчеркивания, в каких-то нет.
  2. Нет коробочной поддержки юникода. Для работы с юникодом нужно использовать функции с префиксом mb. Не так критично, но сколько новичков наступали на эти грабли?
Аватар пользователя Mr. Robot
Mr. Robot 17 октября 2022
0
Похожие статьи
Рекомендуемые программы
профессия
Верстка на HTML5 и CSS3, Программирование на JavaScript в браузере, разработка клиентских приложений используя React
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Python, Разработка веб-приложений и сервисов используя Django, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Тестирование веб-приложений, чек-листы и тест-кейсы, этапы тестирования, DevTools, Postman, SQL, Git, HTTP/HTTPS, API
4 месяца
с нуля
Старт 26 декабря
профессия
Программирование на Java, Разработка веб-приложений и микросервисов используя Spring Boot, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Google таблицы, SQL, Python, Superset, Tableau, Pandas, визуализация данных, Anaconda, Jupyter Notebook, A/B-тесты, ROI
9 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на PHP, Разработка веб-приложений и сервисов используя Laravel, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Ruby, Разработка веб-приложений и сервисов используя Rails, проектирование и реализация REST API
5 месяцев
c опытом
Старт 26 декабря
профессия
Программирование на JavaScript в браузере и на сервере (Node.js), разработка бекендов на Fastify и фронтенда на React
16 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на JavaScript, разработка веб-приложений, bff и сервисов используя Fastify, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Git, JavaScript, Playwright, бэкенд-тесты, юнит-тесты, API-тесты, UI-тесты, Github Actions, HTTP/HTTPS, API, Docker, SQL
8 месяцев
c опытом
Старт 26 декабря