WSGI фреймворк? » комментарииhttps://softwaremaniacs.org/blog/2008/04/20/wsgi-framework/2011-06-05T02:10:05.015696-07:00Иван Сагалаев о программировании и веб-разработкеhttp://softwaremaniacs.org/media/sm_org/style/photo.jpgЛеонид Швечиков на "WSGI фреймворк?"
2011-06-05T02:10:05.015696-07:00Леонид Швечиковhttp://softwaremaniacs.org/forum/python/32546/https://softwaremaniacs.org/blog/2008/04/20/wsgi-framework/#comment-86429А вы читали статью (и комментарии к ней) Ивана Сагалаева — WSGI ФРЕЙМВОРК?
<p>А вы читали статью (и комментарии к ней) Ивана Сагалаева — WSGI ФРЕЙМВОРК?skru на "WSGI фреймворк?"
2009-01-16T09:49:11-08:00skruhttps://softwaremaniacs.org/blog/2008/04/20/wsgi-framework/#comment-32152От изобретения велосипедов не избавлены и те, кто работает с фреймворками. Просто это откладывается на какой-то срок. Обычно до момента выхода за рамки прототипа или когда понадобилось сильно расширять функционал. Вот тогда-то и возникает вопрос, что лучше: строить свой фреймворк поверх существующего или с нуля.
<p>От изобретения велосипедов не избавлены и те, кто работает с фреймворками. Просто это откладывается на какой-то срок. Обычно до момента выхода за рамки прототипа или когда понадобилось сильно расширять функционал. Вот тогда-то и возникает вопрос, что лучше: строить свой фреймворк поверх существующего или с нуля.Dyadya Zed на "WSGI фреймворк?"
2008-12-09T06:59:09-08:00Dyadya Zedhttps://softwaremaniacs.org/blog/2008/04/20/wsgi-framework/#comment-31542@Вацлав: Я не знаю зачем писать код с нуля, если уже есть Django. Блоги или мультиблоги - вполне стандартная задача для Django. У вас есть всё время вселенной для решения уже решенной задачи? Его всегда можно форкнуть, выкинутьпереписать всё ненужное. Будет супер вариант, сделанный для себя. Не знаю, как глубоко...
<p>@Вацлав:</p>
<p>Я не знаю зачем писать код с нуля, если уже есть Django.<br>
Блоги или мультиблоги - вполне стандартная задача для Django.<br>
У вас есть всё время вселенной для решения уже решенной задачи?<br>
Его всегда можно форкнуть, выкинутьпереписать всё ненужное. Будет супер вариант, сделанный для себя.</p>
<p>Не знаю, как глубоко вы в него закапывались, но если рассматривать Django как еще одну питонячью библиотеку - то она решает свои задачи очень успешно. Никто не переписывает urllib только для того, чтобы забрать страничку с удаленного сервера.</p>
<p>Мне нравится в Джанго, что над кодом работает огромное количество людей по всему миру, код развивается. Такими темпами развивать код могут только крупные корпорации, да и то результат не всегда успешен.</p>
<p>Соглашусь с Александром Кошелевым, что люди, не использующие фремворки или плохо знают их возможности, или не хотят их изучать. Есть еще психологический аспект: мой код самый суперский код в мире и если я написал это сам и это работает, значит я офигенски крут и не нужны мне никакие фреймворки.</p>
<p>Ну и что, что это заняло больше времени, кого это волнует?BigHo на "WSGI фреймворк?"
2008-12-08T11:08:10-08:00BigHohttps://softwaremaniacs.org/blog/2008/04/20/wsgi-framework/#comment-31533Джанго — именно библиотека, он не навязывает никакого жесткого каркаса разработки. Лишь рекомендует определенные паттерны. Это с какой стороны посмотреть. Стандарты ISO - тоже рекомендации, но попробуй закрутить метрическую гайку на дюймовую трубу. Когда же все комплектующие выпускаются на одном заводе, то и в соответствии к ISO стандартам можно отнести...
<blockquote>
<p>Джанго — именно библиотека, он не навязывает никакого жесткого каркаса разработки. Лишь рекомендует определенные паттерны.</p>
</blockquote>
<p>Это с какой стороны посмотреть. Стандарты ISO - тоже рекомендации, но попробуй закрутить метрическую гайку на дюймовую трубу. Когда же все комплектующие выпускаются на одном заводе, то и в соответствии к ISO стандартам можно отнести только внешние характеристики, такие, как форм-фактор и другие основные потребительские качества. Корейские производители, например, заливают внутренность телевизора смолой, чтобы не принимать претензий к внутреннему устройству - ремонтопригодности: деталь то одна, абыдна - да? ;)</p>
<p>Так и с веб-приложениями. Что мне не нравится в django, так это навязывание своего темплейта, своей orm. Взять по отдельности, то orm предполагает двигать разработку БД от django. Это прежде всего выражается в добавлении еще одного идентификатора к большинству таблиц. Но к черту универсальность, если на кону - производительность, и специфическая адаптация запросов.</p>
<p>С другой стороны взять встроенный темплейт. Тут наплевав на производительность выбираю XSLT, поскольку требуется генерить полные странички более редко, чем AJAX ответы. Для AJAX-а "рисование" отдельного темплейта у меня вызывает резкий внутренний протест. Здесь, конечно, lxml.builder - незаменимый друг и товарищ.</p>
<p>Заменив orm и template джанги можно ли считать, что это джанга? Если да, то в какой мере? Осталось изменить парсинг GET строчки на более подобающей данной задаче, как от джанги останется не так уж и много (кстати, что именно?).</p>
<p>С чем согласен, так это то, что вылизанная документация - повод для восхищения. В этом же можно увидеть сильную сторону php и mysql - с чем в немалой степени связано их развитие. Став попсой, можно будет смириться с тем, что джанго станут ругать не реже, чем php - такова уж цена популярности :)Dip на "WSGI фреймворк?"
2008-11-07T14:07:52-08:00Diphttps://softwaremaniacs.org/blog/2008/04/20/wsgi-framework/#comment-31047И все же зря Иван так накинулся на Сергея. Одной большой Истины не бывает, истина для каждого своя. Я вот тоже начал присматриваться к джанге, но в текущем проекте ее использовать не буду, а пойду как раз путем, который проповедует Сергей. Главная причина банально проста - запросы к базе должны...
<p>И все же зря Иван так накинулся на Сергея. Одной большой Истины не бывает, истина для каждого своя. Я вот тоже начал присматриваться к джанге, но в текущем проекте ее использовать не буду, а пойду как раз путем, который проповедует Сергей. Главная причина банально проста - запросы к базе должны быть оптимизированы настолько, что придется использовать SQL напрямую, без всякой высокоуровневой обвязки. Насколько я понял, джанга это впринципе позволяет, но тогда автоматически отваливается 50% фич, за которые ее так любят :)</p>
<p>Да и вообще... Фреймворки - это хорошо. Если их можно допилить напильником - вдвойне хорошо (опираясь на мой достаточно обширный опыт использования Qt). Но иногда действительно стоит пойти другим путем. Возможно для Сергея это "иногда" случалось намного чаще.Иван Сагалаев на "WSGI фреймворк?"
2008-10-18T13:29:53-07:00Иван Сагалаевhttps://softwaremaniacs.org/blog/2008/04/20/wsgi-framework/#comment-30824Но если проектов у него множество (т.е. не 2-3, а 200-300), и все они весьма разные, то использование фреймворков затрудняет работу, в отличии от работы с набором библиотек Эта фраза, равно как и сравнение Джанго с WordPress'ом, показывает, что вы, похоже, неверно представляете себе, что это за "фреймворк". С точки...
<blockquote>
<p>Но если проектов у него множество (т.е. не 2-3, а 200-300), и все они весьма разные, то использование фреймворков затрудняет работу, в отличии от работы с набором библиотек</p>
</blockquote>
<p>Эта фраза, равно как и сравнение Джанго с WordPress'ом, показывает, что вы, похоже, неверно представляете себе, что это за "фреймворк". С точки зрения свободы разработки кода Джанго — именно библиотека, он не навязывает никакого жесткого каркаса разработки. Лишь рекомендует определенные паттерны.Вацлав на "WSGI фреймворк?"
2008-10-18T05:48:48-07:00Вацлавhttps://softwaremaniacs.org/blog/2008/04/20/wsgi-framework/#comment-30820Джанго-джанго, танго-танго... Немного похоже на музыку священного ритуала танца с бубном вокруг тотема. Я не хочу и не буду никого критиковать, но джанго (как и любой фреймворк) далеко не всегда пригоден. Если девелопер создает один большой проект, то пожалуй ему джанго полезен. Но если проектов у него множество (т.е. не...
<p>Джанго-джанго, танго-танго...</p>
<p>Немного похоже на музыку священного ритуала танца с бубном вокруг тотема. Я не хочу и не буду никого критиковать, но джанго (как и любой фреймворк) далеко не всегда пригоден. Если девелопер создает один большой проект, то пожалуй ему джанго полезен. Но если проектов у него множество (т.е. не 2-3, а 200-300), и все они весьма разные, то использование фреймворков затрудняет работу, в отличии от работы с набором библиотек и даже в отличии от raw-кодинга.</p>
<p>Возьму пример из другой области. Есть WordPress. Идеальный движок блога для "сферического блоггера в вакууме". Предусмотрено все, что только можно предусмотреть и, одновременно, упущено множество специфичных деталей. А "монстроузность" WP, в свое время вынудила нас к разработке собственного движка (написанного изначально на Python и под связку с Nginx). В результате, мы установили это приложение без лишнего геморроя на сотнях блогов, существенно снизив нагрузки на сервер и избавившись от 85% ддосов (проксированием + снижением затрат CPU &</html> RAM). При этом, объем устанавливаемого софта, в килобайтах, снизился до неприличных 450Кб, которые делали ровно то же, что и многомегабайтный WP. Да, я программист старой школы, привыкший экономить каждый байт и оптимизировать всё, что можно оптимизировать. Будь исключительно моя воля, всё бы было вообще переписано и скомпилировано на C++.</p>
<p>В результате, во многом благодаря (хотя во многом и вопреки) автору критикуемого цикла статей, мы имеем чрезвычайно гибкую реализацию своих проектов, не сдавленные требованиями Django или другого любого фреймворка. И внесение "специфических" изменений делается существенно быстрее.</p>
<p>К чему всё это я? Да, джанго хорош. Очень хорош. Для индивидуальных, отдельно взятых проектов. Но для промышленных масштабов, больше пригоден действительно свой специализированный фреймворк или вообще код from scratch.</p>
<p>Помните древний анекдот, про изобретателя автоматического устройства для стрижки? Ему говорят: "Ну у людей же разные формы головы!". На что он отвечает: "ДО первой стрижки - да".<br>
Так и здесь. Задачи разные. И чем больше компании приходится решать разнообразных задач и подстраивать их под нужды каждого конкретного клиента, тем меньше применимы public движки.MockSoul на "WSGI фреймворк?"
2008-04-23T20:01:46-07:00MockSoulhttps://softwaremaniacs.org/blog/2008/04/20/wsgi-framework/#comment-29919Всегда есть люди, которых посещают мысли вроде "блин ну что это за фигня, почему тут ошибка?! Напишу-ка я всё сам, тут же всё просто!!". Пишут, и это даже работает (собственно, почему бы и нет?). Процентов 90 из таких штучек через какое-то время покрываются пылью и забрасываются. А в начальной стадии,...
<p>Всегда есть люди, которых посещают мысли вроде "блин ну что это за фигня, почему тут ошибка?! Напишу-ка я всё сам, тут же всё просто!!". Пишут, и это даже работает (собственно, почему бы и нет?). Процентов 90 из таких штучек через какое-то время покрываются пылью и забрасываются. А в начальной стадии, когда пыли ещё нет - вот оттуда и вылезают гордые статьи "джанго - монстр, у меня вон - wsgi "чистый"".</p>
<p>На самом деле тут даже обсуждать нечего. WSGI это же WebServerGatewayInterface и ничего более. Интерфейс архиудобный, кстати. И можно (!) делать сайты при помощи чистого wsgi+python, но при этом не всегда понимают ЧТО придётся писать. Одни только POST запросы уже могут надавать по заднице тем, кто не понимает, что это fuckin' huge amount of work.</p>
<p>А так как (как ни крути) - будет создаваться набор функционала для абстракции - вот он и будет новый самописный фреймворк, так что "чистым" wsgi это назвать уже будет попросту невозможно.</p>
<p>Я вот уже тоже попробовал, но мне хватает ума чтобы понять бессмысленность многих высказываний. Пробовал (впрочем, успешно) написать крохотную wsgi-app вообще без фреймворка для реализации четкого прогрессбара загрузки post данных (читай - файлов). Пока писал мне пришлось отрефакторить всё раз пять, лишь чтобы вообще дописать до конца. Результат мне нравится - всё четко, аккуратно, без ошибочек и очень лёгкое решение. Но писал я это по одной-единственной причине - в тот момент на django это реализовывалось совсем невнятным и далеким от "чистоты" методом.</p>
<p>Вместо таких вот извращений я рекомендую всем - уж лучше возьмите и меняйте django. Как минимум для меня идеология этой системы поразительно близка настолько, что у меня даже не возникает желания переписывать процентов 80% функционала. Он и так логичен, я бы и сам так написал. А вот если в django закопаться с головой - понимаешь, что менять его легко. Это открытый код, довольно модульный, который (если мозгов хватит) можно заставить делать всё. Если мозгов не хватит - то тем более создать свою систему с нуля не получится никоим образом.</p>
<p>Кто-то там выше писал в комментарих про "хочу убрать MVC скелет из проекта". Так вот - в джанго (хотя здесь 99% заслуг - питон) вы можете вообще всё нафик переделать. Конечно, есть несколько хуков которые придётся менять (ну например способ как django выискивает USE-тесты). Для больших проектов я всегда отхожу от традиционного способа организации django кода в сторону усложнения. При этом мне вообще не приходится патчить фреймворк - просто на питоне ведь можно с кодом делать все что захочется прямо в рантайме. Для кого-то это новость? ;)Иван Сагалаев на "WSGI фреймворк?"
2008-04-22T02:33:24-07:00Иван Сагалаевhttps://softwaremaniacs.org/blog/2008/04/20/wsgi-framework/#comment-29901Нет, ну вот с такой постановкой я не сголасен :-). Причем с точностью до наоборот: А что касается того, что из джанго нельзя чего-то выдрать или трудно добавить стороннюю библиотеку, то это все конечно же так Интегрированность ≠ жесткость. Люди реально путаются с этим, и я думаю, что долго еще...
<p>Нет, ну вот с такой постановкой я не сголасен :-). Причем с точностью до наоборот:</p>
<blockquote>
<p>А что касается того, что из джанго нельзя чего-то выдрать или трудно добавить стороннюю библиотеку, то это все конечно же так</p>
</blockquote>
<p>Интегрированность ≠ жесткость. Люди реально путаются с этим, и я думаю, что долго еще не перестану объяснять ошибочность мнения о том, что Джанго это "негибко".</p>
<blockquote>
<p>какой фреймворк использовать - это не важно, в прочем не важно и какой язык программирования использовать</p>
</blockquote>
<p>И язык, и фреймворк <em>критически</em> важны. Просто, и Питон, и Джанго — реально хорошие вещи.</p>
<blockquote>
<p>Так что джанго - это не выбор джедаев и фанатиков, это выбор прагматиков и менеджеров проектов</p>
</blockquote>
<p>"The Web framework for perfectionists with deadline". Перфекционисты — тоже своего рода фанатики. Но и у нас есть дедлайны :-)ziro на "WSGI фреймворк?"
2008-04-22T01:20:19-07:00zirohttps://softwaremaniacs.org/blog/2008/04/20/wsgi-framework/#comment-299002slav0nic Других отзывов не стоило ожидать;) наверно 90% посетителей- джангисты А то Вы хотели, все-таки Иван знатный it-евангелист в индустрии вообще и в django в частности. Поэтому здесь в основном тусуются те, кто хочет больше узнать о джанго или посмотреть отзывы людей, которые на нем уже писали. А что касается...
<p>2slav0nic</p>
<blockquote>
<p>Других отзывов не стоило ожидать;) наверно 90% посетителей- джангисты</p>
</blockquote>
<p>А то Вы хотели, все-таки Иван знатный it-евангелист в индустрии вообще и в django в частности. Поэтому здесь в основном тусуются те, кто хочет больше узнать о джанго или посмотреть отзывы людей, которые на нем уже писали.</p>
<p>А что касается того, что из джанго нельзя чего-то выдрать или трудно добавить стороннюю библиотеку, то это все конечно же так, но джангу я допустим не за это уважаю. Ведь с точки зрения управленца проектами, к которым относится в частности Иван и немного я, какой фреймворк использовать - это не важно, в прочем не важно и какой язык программирования использовать. Важно другое - за отведенное время (как правило небольшое) необходимо создать продукт удовлетворяющий требованиям клиента. И здесь на первое место выходит тулсет как таковой, который включает в себя и язык программирования, и фреймворк, и легкость освоения языка и фреймворка теми участниками команды, которые их не знают, и много чего еще.</p>
<p>И вот с этой точки зрения указанные Вами недостатки джанги волшебным образом превращаются в огромные достоинства - инетграция, продуманность и вылизанность компонентов системы, универсальность, легкая обучаемость, предсказуемость и т.д.</p>
<p>К тому же джанго имеет достаточно большое и дружелюбное сообщество, что является несомненным плюсом любого проекта из Public Domain.</p>
<p>Так что джанго - это не выбор джедаев и фанатиков, это выбор прагматиков и менеджеров проектов, ПМСМ.Иван Сагалаев на "WSGI фреймворк?"
2008-04-21T12:42:06-07:00Иван Сагалаевhttps://softwaremaniacs.org/blog/2008/04/20/wsgi-framework/#comment-29898как всё хорошо в джанге и другие не имеют права на существование Я такого не писал, это strawman. Может, это вам стоит отвлечься от отрицательной реакции на Джанго? Я, конечно, привожу ее в качестве примера, потому что лучше всего с ней знаком. Но это только пример, а аргументы свои я,...
<blockquote>
<p>как всё хорошо в джанге и другие не имеют права на существование</p>
</blockquote>
<p>Я такого не писал, это strawman.</p>
<p>Может, это вам стоит отвлечься от отрицательной реакции на Джанго? Я, конечно, привожу ее в качестве примера, потому что лучше всего с ней знаком. Но это только пример, а аргументы свои я, кажется, обосновал.Юревич Юрий на "WSGI фреймворк?"
2008-04-21T10:32:26-07:00Юревич Юрийhttps://softwaremaniacs.org/blog/2008/04/20/wsgi-framework/#comment-29897Гораздо более правильно про WebOb и сделай-сам-себе-фрейморк читать у Яна Бикинга: http://pythonpaste.org/webob/do-it-yourself.html
<p>Гораздо более правильно про WebOb и сделай-сам-себе-фрейморк читать у Яна Бикинга: <a href="http://pythonpaste.org/webob/do-it-yourself.html">http://pythonpaste.org/webob/do-it-yourself.html</a>slav0nic на "WSGI фреймворк?"
2008-04-21T08:53:33-07:00slav0nichttps://softwaremaniacs.org/blog/2008/04/20/wsgi-framework/#comment-29896Других отзывов не стоило ожидать;) наверно 90% посетителей- джангисты, которые ничего кроме джанги не видят... Себя к вебдевелоперам не отношу, но всеже... Джанга имхо нужна там, где она нужна) Есть ниша, в которую прекрасно вписываются антифреймворки аля web.py (другие глубоко не копал). По поводу отсутствия MVC как такового, что мешает...
<p>Других отзывов не стоило ожидать;) наверно 90% посетителей- джангисты, которые ничего кроме джанги не видят...</p>
<p>Себя к вебдевелоперам не отношу, но всеже... Джанга имхо нужна там, где она нужна) Есть ниша, в которую прекрасно вписываются антифреймворки аля web.py (другие глубоко не копал). По поводу отсутствия MVC как такового, что мешает самому создать такую архитектуру? я например привык создавать приложения со скелетоном типа (code.py, settings.py, templates/, app/model/, app/controllers/).А вот в джанге его (mvc) можно ли убрать ? по-моему будет проблемно;)</p>
<p>В нормальный антифреймворках диспатчеры таки есть, и никакая if логика там не нужна, более того там и шаблоны+db orm (простейший) есть, этого имхо вполне достаточно для выполнения ряда задач.</p>
<p>Взять тотже pylons/tg - набор кучи библиотек "склеенных" воедино (практически набор библиотек, а не фреймворк) + добавлены всякие paste/tg-admin и тп вещи, упрощающие работу с моделью и созданием скелетона, но там в отличии от джанги не так проблемно прикрутить сторонний модуль (стальная архитектурность опять же не всегда есть гуд)</p>
<p>Я уже молчу о скорости django (наверно и тут из-за мега архитектурности ;)), разница по сравнению с "недофреймвокрами" 50-100% не в пользу первой;)</p>
<p>ps: каждому свою, но как-то скучно читать камменты о том как всё хорошо в джанге и другие не имеют права на существование. И поменьше фанатизма, он иногда мешает здравой критике ;)<br>
хотя webob - фигня, согласен В)Алексей Гусев на "WSGI фреймворк?"
2008-04-21T05:45:49-07:00Алексей Гусевhttps://softwaremaniacs.org/blog/2008/04/20/wsgi-framework/#comment-29894В пух и прах. А еще: Нпаример, в третьей статье Сергей сетует...
<p>В пух и прах.</p>
<p>А еще:</p>
<blockquote>
<p><em>Нпаример</em>, в третьей статье Сергей сетует...</p>
</blockquote>Zada на "WSGI фреймворк?"
2008-04-21T02:21:50-07:00Zadahttps://softwaremaniacs.org/blog/2008/04/20/wsgi-framework/#comment-29893Хух, спасибо за статью. Я как раз увлекся чтением того цикла и что-то у меня в мозгу начало переключаться... Единственный смысл писать все самому вижу исключительно для образовательных целей (это я имею ввиду себя, бо на написание своего фреймворка при теперешних условиях ума у меня не хватит). В общем спасибо,...
<p>Хух, спасибо за статью. Я как раз увлекся чтением того цикла и что-то у меня в мозгу начало переключаться...<br>
Единственный смысл писать все самому вижу исключительно для образовательных целей (это я имею ввиду себя, бо на написание своего фреймворка при теперешних условиях ума у меня не хватит).</p>
<p>В общем спасибо, что еще раз подтвердили правильность моего увлечения Django.dobrych на "WSGI фреймворк?"
2008-04-21T02:21:12-07:00dobrychhttps://softwaremaniacs.org/blog/2008/04/20/wsgi-framework/#comment-29892+\1 подписываюсь :-)
<p>+\1 подписываюсь :-)Александр Соловьёв на "WSGI фреймворк?"
2008-04-21T01:27:46-07:00Александр Соловьёвhttps://softwaremaniacs.org/blog/2008/04/20/wsgi-framework/#comment-29891По теме велосипедостроения. :-)
<p><a href="http://www.jaisenmathai.com/blog/2008/04/17/why-everyone-should-write-a-framework-and-never-use-it/">По теме велосипедостроения</a>. :-)Dan Korostelev на "WSGI фреймворк?"
2008-04-21T00:23:49-07:00Dan Korostelevhttps://softwaremaniacs.org/blog/2008/04/20/wsgi-framework/#comment-29889Отвлекаясь от темы (со статьёй я согласен полностью), а чем Вас так рассердило упоминание Zope и Django в одном ряду? Если смотреть на Zope3, как на веб-фреймворк (как его в основном и используют), то он даже похож на django, хотя, конечно, принципы немного другие (компонентная архитектура, траверсинг объектов, вместо подключения...
<p>Отвлекаясь от темы (со статьёй я согласен полностью), а чем Вас так рассердило упоминание Zope и Django в одном ряду? Если смотреть на Zope3, как на веб-фреймворк (как его в основном и используют), то он даже похож на django, хотя, конечно, принципы немного другие (компонентная архитектура, траверсинг объектов, вместо подключения правил разбора URL и т.п.).Иван Сагалаев на "WSGI фреймворк?"
2008-04-20T23:19:38-07:00Иван Сагалаевhttps://softwaremaniacs.org/blog/2008/04/20/wsgi-framework/#comment-29888Я все-таки хочу внести еще небольшое разъяснение. WebOb пишет Йен Бикинг, которому в авторитете и уме не откажешь. Однако мне кажется, что и эта штука, и сам Paste для него — скорее эксперименты в духе "посмотрим, как сыграет такая концепция в целом". И все это действительно очень интересно — нащупать...
<p>Я все-таки хочу внести еще небольшое разъяснение. WebOb <a href="http://blog.ianbicking.org/2007/08/18/webob/">пишет Йен Бикинг</a>, которому в авторитете и уме не откажешь. Однако мне кажется, что и эта штука, и сам Paste для него — скорее эксперименты в духе "посмотрим, как сыграет такая концепция в целом". И все это действительно очень интересно — нащупать тот баланс между фичами и их отсутствием, который бы был <em>как раз</em>. Но пока, на мой скромный взгляд, равновато говорить о том, что это полноценный боевой инструмент.Powerman на "WSGI фреймворк?"
2008-04-20T22:29:23-07:00Powermanhttps://softwaremaniacs.org/blog/2008/04/20/wsgi-framework/#comment-29887Ох, что-то соскучился я по дешёвой популярности... пора, пора сходить против ветра! :) Иван пишет всё правильно. Спорить здесь не с чем. Но можно дополнить. Все существующие фреймворки когда-то были написаны вот такими ребятами. Если бы все рассуждали так, как написано в статье - у нас был бы один фреймворк,...
<p>Ох, что-то соскучился я по дешёвой популярности... пора, пора сходить против ветра! :) Иван пишет всё правильно. Спорить здесь не с чем. Но можно дополнить.</p>
<ul>
<li>
<p>Все существующие фреймворки когда-то были написаны вот такими ребятами. Если бы все рассуждали так, как написано в статье - у нас был бы один фреймворк, тот, который бы написали первым.</p>
</li>
<li>
<p>Что касается "Посмотрите на … можно все сделать гораздо проще". Люди вообще, и программисты в частности, к сожалению, обожают всё переусложнять. Поэтому в большинстве случаев <em>действительно можно сделать проще</em>. И нужно! Но, к сожалению, в большинстве случаев проще сделать <em>не получается</em>... а получается полная фигня, описанная в статье. Зато в остальных случаях получаются конфетки вроде OS Inferno. Так что в самом подходе ничего плохого или неправильного нет. Просто за эту работу зачастую хватаются те, кто <em>не в состоянии её сделать</em> - отсюда и сложившееся отрицательное отношение к таким попыткам.</p>
</li>
<li>
<p>Без глубинного понимания системы хорошим программистом стать невозможно. А это понимание проще всего получить в процессе написания своей системы/фреймворка либо вычитывания чужого кода, при условии что этого кода <em>вменяемое количество и он простой</em>. А поскольку найти такой чужой код допольно непросто, чаще встречаются как раз переусложнённые монстры, то писать своё - вполне адекватное решение. И сам научишься, и другим будет простой пример для изучения (пока ты его не развил до состояния такого же монстра, как и другие).</p>
</li>
</ul>
<p>Так что есть минимум три веские причины пытаться разрабатывать свою "простую" систему: обучение; увеличение конкуренции и разнообразия таких систем (от которых выигрывают все, и в первую очередь те кто любят рассказать что свои фреймворки писать вредно и бессмысленно); ну и небольшой шанс действительно получить более простую и элегантную систему.