20 февр. 2009 г.

Мифы о PHP

Человек знающий то, что знают другие, также невежественен, как если бы он ни знал ничего.

Вступление

У меня есть подруга, фанатичная феминистка, которая постоянно рассказывает мне истории о доминировании во всем женщин над мужчинами. Однажды она мне заявила «Женщины по статистике, гораздо реже попадают в автомобильные аварии, по сравнению с мужчинами, потому что мы лучше, бла бла бла ...».
Так вот, если разобраться, есть другая статистика, которая опровергает «статистику» подруги — это количество женщин за рулем, которых в разы меньше количества мужчин.

В мире существует разнообразное количество всевозможных мифов.
Цель данной статьи, разоблачение мифов о PHP.

Немного истории

В 1994 году датский программист написал набор скриптов на Perl/CGI обрабатывающие HTML-шаблоны и назвал их «Personal Home Page».

Вскоре функциональности и быстроты перестало хватать, и был написан на языке C новый интерпретатор шаблонов PHP/FI (Personal Home Page/Forms Interpreter).

PHP/FI включал базовую функциональность сегодняшнего PHP: оформление переменных в стиле Perl, автоматическую обработку форм и встраиваемость в HTML.

В 1997 году PHP был заново переписан с нуля, после чего появилась третья версия.

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

В июле 2004 года выходит пятая версия, вводится поддержка XSLT/XML.

Мифы

Миф 1. PHP — язык программирования

Разве? Смотрим расшифровку аббревиатуры - «Hypertext Preprocessor».
Как видно из истории, PHP создавался как шаблонизатор для Perl, со временем перерос, но об этом далее.

Миф 2. На PHP сделано больше всего сайтов

Миф, больше всего сайтов сделано на HTML :)

Стоит отметить, что на PHP сделано невероятное количество очень простых «home pages», которые представляют собой практически статические страницы.

Миф 3. PHP самый популярный язык

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

Миф 4. PHP простой язык

Миф. Дизайн кода поражает своей без организованностью и полным отсутствием архитектурной логики, наличием большого количества разнообразных и альтернативных функций. Следует отметить несогласованный синтаксис некоторых функций, что в итоге требует постоянного обращения к документации.

Вот почему у подавляющего большинства PHP разработчиков постоянно открыт официальный FAQ.

Миф 5. PHP мощный язык

Очередной миф. Ищем самые сложные и ноу-хау технологические проекты на PHP — их нет!

Конечно, мне сразу возразят, а как же эти «проекты», отвечу сразу, что львиная доля функционала этих «проектов» написана не на PHP, а на Java, C++, Python, либо комбинации того и другого.

Миф 6. PHP быстрый и шустрый

Еще один миф. Вся скорость связана с небольшим количеством функционала поддерживаемого в PHP, естественно, что другие платформы (.Net, ColdFusion, RoR и т.д.) с более богатым спектром фич будут работать медленнее.

Это тоже самое что сравнивать «NotePad» и «Word» :)

Также следует учесть, что порой скорость работы не существенна, например, скрипт отрабатывается на PHP за 0.1 сек, а на .Net за 0.2 сек, в итоге пользователь не заметит разницу.

Миф 7. PHP высокотехнологичный хайтек

Миф. Все популярные современные платформы (.Net, ColdFusion, RoR и т д) для разработки веб приложений уже давно обогнали PHP по функционалу и возможностям.

Миф 8. PHP быстрая среда разработки

Миф. Разработка на PHP гораздо более трудоемкая. Причины: хаос в дизайне кода и скромный функционал по сравнению с современными требованиями к проектам.

Вот почему не выбирают PHP при разработке крупных проектов ;)

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

Миф 9. PHP экономная разработка

Супер миф! Если учесть все факты озвученные выше, то разработка на PHP — одна из самых дорогих и не экономных, я бы даже сказал «Золотая».
Наблюдается одна интересная особенность — чем сложнее проект, тем больше он становится «Золотым» при использовании PHP.

Только 1 месяц лишнего срока разработки на PHP и заказчик сможет экономить в среднем 1500$, а это 2 года очень хорошего VPS хостинга.

Итого

Интернет развивается очень стремительными и динамичными темпами. За пару последних лет существенно изменились концепты и подходы, интернет становится все более стандартизированным и упорядоченным (это действует не только на языки, платформы, технологии, но и на дизайн, контент, психологию пользователя и т.д.). PHP уже не отрабатывает запросы современных проектов.

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

Что же в итоге выбрать, какую платформу для разработки, как самим разработчикам, так и заказчикам?

Для небольших проектов (веб-сайты фирм, компаний и небольших организаций) отлично подойдет Ruby on Rails.
Для веб 2.0 сервисов отличным решением будет Ruby on Rails, ColdFusion, Python, Django.
Для бизнес приложений — .Net, ColdFusion, Java, Spring, Hibernate.