Прошлая серия:
Откуда растут ноги ненависти к php?
Я не знаю, есть ли где-то на планете второй такой поехавший, которому реально интересно понять, как инструменты разработки развивались и приобретали успех у простых смертных мартышек. Ну вот нравится мне собирать информацию, на которой невозможно заработать денег. Я пока что не встречал ни одного блогера, который подобный анализ произвел для веб-разработки в целом — а мне интересно.
Итак, что нового я откопал: WordPress, который изначально был CMS для создания бложиков в два клика, внезапно развился в целую платформу, и вот уже на нем клепают интернет-магазины — хотя затея эта, на мой взгляд, и провальная, ведь нагрузку WP абсолютно не держит, а ломают сайты на WP из-за уязвимостей плагинов на раз-два, только и успевай накатывать патчи в надежде, что сегодня взломают не тебя.
Давайте подумаем: а что же у нас до WordPress было инструментом для создания бложиков? Ну? Ну?
Идем далее:
https://www.djangoproject.com/weblog/2005/nov/16/firstrelease/ - Django 0.90
https://github.com/django/django/tree/ce079538c66d826be5f0c4260ab4405b7abcbed7 — примерное состояние сорцов перед релизом 0.90
Что представляла собой джанга на момент 2005 года? Платформа для создания CMS некоего регионального новостного сайта (история разработки) и блевотных бложиков, по сути стоящая на трех китах:
— шаблонизатор;
— ORM, поставляющий содержимое из баз данных в шаблонизатор и засовывающих их обратно в базу из форм;
— алгоритмы авторизации и админка для изменения содержимого бложика.
Вы уже снова узнали, что аналогичный инструмент до боли стар и хорошо нам всем знаком. Забавно, что в дичайшую нечитаемую лапшу джангу превратило уже сообщество — оригинальные сорцы имели зачатки лапши только в иерархии полей модели, где создатели почему-то решили логику отображения-контроллера полей в шаблоне (генерации HTML и валидации введенных полей, core/formfields.py) унаследовать от классов с алгоритмами доступа к БД (core/meta.py), в остальном это было простецкое наследование от template.Node (управляющие структуры шаблона) и meta.Model (абстрактной бессмысленной сущности для агрегации полей аля «таблица»), и даже было немало классов без базового класса. Итого 12 тысяч строк с комментами тогда, а сейчас в Django 300+ тысяч строк питона.
Вы уже поняли логику успеха? Делаем инструмент для создания говнобложиков в два клика — миллионы индусов кидаются писать на нем свои говноблоги — на рынке оказывается огромное число кодеров толка «я не умею в PHP, но могу сделать вам сайт на WordPress» или «питон? не, не умею; когда-то слышал про него, но толком не пытался изучить, я пока только на Django научился сайты писать».
С другой стороны — почему бы не позволить людям писать в два клика вебсайты на Go? Или на лиспе. Где там наш Пол Грэм со своим конструктором сайтов на лиспе? В конце-концов, я и другие программисты пишем программы именно для того, чтобы простой человек мог без напряга воспользоваться нашим софтом.
Интересно было бы услышать вашу аналитику о делах недавнего прошлого: Ruby on Rails? Symphony? Я вот пока не понял, почему Laravel нынче стал лидером среди других PHP фреймворков.