Современный PHP и ранний PHP — два разных языка

Сергей Герасименко — один из самых опытных преподавателей в IT-Академии Алексея Сухорукова. В большую программистскую жизнь он выпустил уже несколько десятков java-разработчиков.

Другой его курс — курс по PHP. Мы спросили у него, почему PHP стоит выбрать в качестве первого языка программирования, есть ли у последней версии проблемы с производительностью и сколько смогут зарабатывать выпускники сразу после курса.В нашей Академии вы преподаете курсы по Java и PHP. Расскажите, с чего начинался ваш путь в программировании, какой язык программирования был первым?

Впервые познакомился с программированием в старших классах на примере языка Pascal. Я настолько увлекся программированием и алгоритмизацией, что решил посвятить себя этой области. Окончив госуниверситет по специальности «Системный программист, математик» с отличием, я устроился на работу в американскую компанию Epam Systems, где приобрел неоценимый практический опыт в создании бизнес приложений в среде PHP и Java. Программирование — это настолько увлекательное и интересное занятие, что оно быстро становится хобби.

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

В сфере веб-программирования очень важна стабильность работы приложений под высокими нагрузками, поэтому требования работодателей с каждым годом возрастают. Чтобы работать в успешной компании необходимо знать все основные современные тенденции и механизмы, позволяющие создавать высоконагруженные приложения. Наш курс устроен таким образом, что все самые основные механизмы языка PHP изложены последовательно, и поэтому на определенной стадии обучения наши студенты готовы создавать не только собственные фреймворки и «движки», а любые высоконагруженные приложения. Это достигается за счет использования паттернов проектирования таких как MVC и Singleton.

Стоит ли начинать свое знакомство с программированием с языка PHP?

PHP является оптимальным выбором в качестве первого языка, так как он доступен в освоении и является одним из самых востребованных языков не только в России, но и в мире. Сам факт, что такие сайты как Facebook и Wikipedia созданы на PHP, говорит о многом. Используя язык PHP можно создавать не только web-приложения, но и GUI-приложения, что является существенным преимуществом по сравнению с другими языками. Синтаксис языка очень похож на синтаксис языка C, С++ и Java. Поэтому, если потребуется в дальнейшем изучать другой язык, то можно считать, что основы Вы уже знаете.

PHP иногда критикуют за производительность. Насколько такая критика оправдана, как обстоят дела в последних версиях?

Действительно в ранних версиях языка были проблемы с производительностью, и поэтому PHP не использовался для создания высоконагруженных систем, а также проектов, где требовалась постоянная связь между клиентом и сервером. Протокол http не позволяет организовать данное взаимодействие. Но с появлением такого механизма, как веб-сокеты, о данной проблеме можно забыть. Язык PHP настолько изменился в лучшую сторону по сравнению с первыми версиями, что позволяет создавать любые высоконагруженные веб-приложения с оптимальной системой защиты. PHP современной версии и более ранней версии — это два разных языка. PHP7 стал в 3 раза быстрее. Теперь в PHP есть не только возможность использовать ООП, которое очень сблизилось с концепцией языка Java, но и применять синтаксис Escape-кода для Unicode, создавать типы скалярных параметров и подсказки (hints) по возвращаемым типам и многое другое.

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

Веб-приложения постепенно вытесняют десктопные приложения за счет менее затратного сопровождения и удобного интерактивного интерфейса. С появлением последней версии языка PHP, крупные компании, например, где я работаю (в информационно-вычислительном центре управления ОАО «РЖД»), многие десктопные приложения переделывают именно под веб-приложения. Поэтому изучение PHP сейчас — это перспективно и актуально. 90% сайтов и веб-приложений разработаны именно на PHP, поэтому для создания серверной части язык PHP является лидером. В PHP есть также возможность создавать десктопные приложения, но данную функциональность более оптимально реализовывать на других языках, например, C++ или Java. Это связано с тем, что компилируемые языки быстрее взаимодействуют с системными настройками устройства, для которого разрабатывается ПО.

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

Есть две категории программистов — «разработчики» и «кодеры». Кодеры — это специалисты, которые знают синтаксис языка, но не могут применить свои знания языка в создании собственных алгоритмов. В основном кодеры стараются найти готовое решение в сети и использовать его в работе. Разработчики в отличие от кодеров знают основы программирования, теорию алгоритмов и умеют создавать свои собственные решения, алгоритмы, оптимизировать их. Поэтому очень важно понимать не только как устроен язык и какие в нем механизмы, но также знать основы алгоритмов и программирования. Для современного PHP-программиста необходимо иметь практические знания таких механизмов как OOP, design patterns, шаблонизаторы, PDO, механизмы для работы с буферизацией и так далее. Все эти темы будут пройдены на нашем курсе.

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

Приведу пример. Например, мы хотим создать сайт из множества страниц. Любой сайт основан на языке разметки гипертекста HTML. В каждом сайте есть блоки, которые не изменяются, например, «шапка сайта», «подвал сайта» и другие. Единственный блок, который обязательно должен меняться для всех страниц это «блок с контентом». Если использовать только html, то придется создавать для каждой страницы отдельный файл, а это неэффективное потребление ресурсов. Используя PHP, можно создать всего один файл и на основе URL подгружать нужный контент. Язык PHP создан специально для взаимодействия с серверной частью веб-приложений. С этой задачей он справляется идеально. С его помощью можно взаимодействовать с базами данных, с веб-сервисами, любыми форматами данных, например, JSON, XML и другими.

Немного о вашем курсе по PHP. Его главные цели, задачи. Что смогут делать выпускники курса, на какую должность и зарплату они смогут претендовать.

В настоящее время наиболее востребованы full-stack разработчики, то есть разработчики полного цикла. Для создания веб-приложений кроме знаний языка PHP, необходимы также знания HTML, CSS, JS, SQL и др.  Наш курс включает все основные механизмы для создания любого веб-приложения с нуля. Для трудоустройства в любую компанию необходимо иметь портфолио. На нашем курсе мы ориентируемся на создание высоконагруженных систем. В рамках курса будет разработан собственный фреймворк, на котором можно создать любой сайт, веб-приложение.

Также мы изучим такую важную и современную тему как веб-сокеты, создадим PHP-демона. На курсе студенты познакомятся с самыми востребованными современными фреймворками — YII-2 и Laravel. Для работы в команде необходимы знания системы контроля версий, и поэтому на курсе уделяется время изучению такого важного механизма как GIT. В результате обучения у каждого студента будет создан уникальный современный интернет-магазин, который будет адаптирован под высокие нагрузки. Наш курс ориентирован именно на то, чтобы после его прохождения студенты могли реализовывать эффективные веб-приложения любой сложности, работать в команде. Имея опыт создания собственных «движков», «интернет магазинов», «демонов», зная особенности мировых фреймворков, наши студенты смогут устроиться junior php-разработчиком и претендовать на оклад от 40000 рублей сразу после трудоустройства и от 70000 рублей через год работы. В Москве эти цифры можно умножить на 2.

Получить профессию PHP-разработчика Вы можете на наших курсах по PHP