Aug 28

Какие языки сейчас используются в веб-программировании? Навскидку я могу составить такой список: C#, Java EE, Python, Ruby, PHP, Perl. JavaScript брать в расчет не буду - сейчас я хочу поговорить именно о server-side языках.

C# - первая версия этого языка появилась в 2000 году, для веба стал использоваться с приходом ASP.NET, который вышел в 2002м году.

Java EE -  первая версия, которая называлась J2EE и имела версию 1.2, вышла в далеком1991м году. Следующая версия 1.3 была выпущена аж через 11 лет. Сейчас новые версии выпускаются гораздо чаще. Используется в основном для разработки веб-сервисов. По крайней мере я не встречал мелкие или небольшие компании, которые писали бы “просто сайты” на Java EE.

Python - на самом деле достаточно древний язык. Первая версия языка была выпущена в 1990м году. Когда его начали достаточно сильно использовать в веб-приложениях сказать трудно. Можно считать, что в интернет он вошел с появлением таких легких и быстрых фреймворков, как Django/Turbogears и т.д. В таком случае получается что в инете он с 2004-2005-го года. На самом деле все было несколько раньше, но приход в интернет в то время был не совсем очевиден. Фреймворк Zope, который был изначально нацелен на интернет, был выпущен в 1995-1997 годах. Точнее на данный момент сказать не могу. Но еще раз повторюсь - это не было массовым явлением.

Ruby - разработан в 1995м году. В интернете стал использоваться с появлением, ясное дело, Ruby On Rails, который вышел в 2004-м году.

PHP - эдакий старичок программирования сайтов. Первая версия, которая называлась PHP/FI вышла в 1994м. А тот PHP, который мы знаем появился в 1997м году с выходом PHP3 и именно с этого момента он начал набирать популярность как язык для веб-разработки.

Perl - вышел в 1987м году, а вот когда появился в вебе - для меня остается тайной. Я этот язык особо никогда не любил и уж тем более никогда не использовал. Пользуются ли им еще в вебе - пользуются, но, как мне кажется, популярность этого языка неуклонно падает.

Теперь, собственно, к чему я вел это все. Выводы по Perl’у я делать не могу, а вот по всем остальным языкам получается интересная картина. C#/Python/Ruby - заявили массово о себе совсем недавно, причем их массовое распространение связанно с написанными для них фреймворками (ASP.NET/Django и компания/ROR). Java - в вебе используется только Java EE, и, хоть и появилась она давно, сейчас явно не собирается скидывать обороты. PHP - язычок, который пришел в веб сам, для которого до недавнего времени и фреймворков то не было, а те что были - их не использовали.

Я веду к тому, что все современные языки в вебе используют фреймворки, причем используют чуть ли не в обязательном порядке (да, вы можете на руби писать веб приложение, не используя рельсы, но никто этого при здравом уме делать не будет). А вот писать приложение на PHP не используя никаких уже созданных компонент - вполне обычное дело. И народ наоборот не хочет использовать фреймворки аргументируя это тем, что они “слишком сложные”, “тормозные” и т.д.  И очень большая часть сайтов делается потом непонятно как… посмотришь код - убиться хочется.  такое впечатление, что фраза “PHP портит нормальных программистов” - это не бред, а самая настоящая реальность.

В итоге (все ИМХО):

  1. смысла использовать PHP, если есть возможность использовать что-то более современное, - НЕТ
  2. если уж использовать PHP, то с умом - не писать все сначала, а выбрать удобные компоненты для разработки нужного вам веб приложения

Из PHP Framework’ов я бы посоветовал выбрать Zend Framework, как наиболее конфигурируемый и обьектно-ориентированный. Для себя я выбрал именно его. Но в нем есть одно “но” - если вы в качестве wrapper’а для DB собираетесь использовать зендовские классы - вам возможно прийдется сменить хостера, так как нужна будет поддержка PDO/PDO_MySQL/PDO_PgSQL, которая, как мне кажется, не у всех хостеров есть.
PS. Лично мне сейчас нравится:

  • для веб-разработки для себя - Python, для заказов - PHP + Zend_Framework
  • для desktop-gui-приложений - C#
  • для консольных - C++

PPS. Пару часов назад гуглил украинских хостеров. Завтра буду узнавать - есть ли у них поддержка PHP >= 5.1.3 и PDO_MySQL (требования к Zend Framework’у). Посмотрим, какие результаты это даст. Кто знает хороших укр. хостеров - отписывайтесь, составлю табличку - кто и что поддерживает.

written by fxposter \\ tags: , , , , , , , , , , ,


18 Responses to “Мысли о Web Programming Languages”

  1. 1. crash Says:

    Perl можно сказать пришли в инет когда сами-то и появились, перл был очень популярен в написании CGI-приложений.
    Хостер толковый tophost.com.ua, но в принципе можно и VDS взять, если нужен самый новый софт.

  2. 2. Sam Says:

    Zend не понравился. Сейчас пробую Code Igniter и CakePHP. Не понравятся – допишу свой.

  3. 3. FX Poster Says:

    crash
    Ага, ок. Но сути не меняет – в вебе, имхо, перл позиции сдает.

    Sam
    А чем не понравился-то? :)

  4. 4. Sam Says:

    Жирный очень уж для своих возможностей. Посмотреть тот же CakePHP… там есть даже ORM нормальный, а весит в разы меньше. Дело даже не в весе, а в том, как это повлияет на производительность… инклюды кучи файлов всё-таки при каждом запросе – жёсткая штука.

  5. 5. FX Poster Says:

    Где в cakephp orm? ткни пальцем. нет там ничего.

  6. 6. Sam Says:

    http://manual.cakephp.org/chapter/models

  7. 7. FX Poster Says:

    Угумс. То же самое что и в Zend_Db_Table на самом деле.

  8. 8. FX Poster Says:

    crash
    По поводу VDS – я тогда смысла с PHP заморачиваться не вижу. :) Ставишь туда Рельсы/Джанго/Zope и радуешься жизни :)

  9. 9. Sam Says:

    Вообще самый приятный orm в ezpdo. Лучше пока ничего не видел.

  10. 10. FX Poster Says:

    Django? :)
    Zope – но там немного непривычная архитектура.

    Для PHP – Propel говорят самый классный.

  11. 11. Sam Says:

    Ну уж нет! Propel ты не развернёшь где попало, да и пока развернёшь голову всю пробьёшь. А потом ещё конфиги в xml фигачить…

    Так да конечно, с точки зрения производительности предгенерация Propel хороша…

  12. 12. FX Poster Says:

    Для организации хорошей ORM все равно прийдется прописывать, какие поля у тебя в таблице есть. И неважно где это делать – в xml-файле или где-то еще.

  13. 13. Sam Says:

    Очень даже важно. Глянь на досуге ezpdo.

  14. 14. FX Poster Says:

    Так и хочется прочитать – “епздО”. :)
    А нафлудили мы тут…

  15. 15. Андрей Says:

    Новый 2008 год внушает много оптимизма по поводу развития Java. ожидается много новшеств.

  16. 16. c0nst Says:

    Чем мне не нравятся веб-фреймворки на java – очень много, слишком много либ подключать нужно. И потом если что-то не так работает – кода немеряно – трудно разбираться. А задача веб-фреймворка достаточно простая – не нужно тут тонны классов делать.
    Сам использую чистые Servlets + небольшие доработки для обработки реквестов. Ну а для темплейтов использую Velocity – хотя и от него хочу отказаться, так как можно уже javascript на сервер сайде использовать (ScriptEngine).

  17. 17. charnad Says:

    Если перед человеком стоит выбор с какого фреймворка начинать изучение фреймворков в PHP, то я бы посоветовал Kohana. Не знаю как 3я ветка, но 2я очень и очень проста. Она настолько проста, что за пару месяцев использования можно разобраться в ее ядре и использовать всю ее силу.
    Я сам начинал с symfony. Да, это не тот фреймворк, с которого стоит начинать. На неподготовленную голову сразу сыплется куча понятий, Propel/Doctrine, Partials, Component, Routing, Yml. В Кохане простой и понятный ORM, максимально облегченный шаблонизатор, простой роутинг.
    Она не без недостатков, конечно же, но все таки я советую ее.

  18. 18. FX Poster Says:

    А я теперь советую всем Ruby On Rails :)))

Leave a Reply