Re[4]: Руби на рельсах vs Питон vs остальное
От: vitaly_spb Россия  
Дата: 01.08.06 12:38
Оценка:
C>До тех пор, пока нужно только выводить данные.

Ага, а для ввода — веб-сервисы
...Ei incumbit probatio, qui dicit, non qui negat...
Re[5]: Руби на рельсах vs Питон vs остальное
От: buriy Россия http://www.buriy.com/
Дата: 03.08.06 07:26
Оценка:
Здравствуйте, dmz, Вы писали:

CP>>PHP?

dmz>Вы будете смеяться, но в итоге python. web.py + SQLAlchemy + nginx (или lighttpd)
Я полтора месяца назад переписал часть под web.py, для шаблонов использовал Cheetah.
А щас переписал все на Django v0.95. Кайфую.
/bur
Re[6]: Руби на рельсах vs Питон vs остальное
От: dmz Россия  
Дата: 03.08.06 09:30
Оценка:
B>А щас переписал все на Django v0.95. Кайфую.
А зачем, кстати? Мне что в TG, что в Django не нравятся их ORMы — по сравнению с
SQLAlchemy это... просто примитив. А что бы открутить ORM от фреймворка и прикрутить
другой — надо его хорошо изучить, да и что останется?

В web.py и изучать нечего — простой и надежный. И с nginx заработал сразу.
Re[7]: Руби на рельсах vs Питон vs остальное
От: buriy Россия http://www.buriy.com/
Дата: 03.08.06 10:13
Оценка:
Здравствуйте, dmz, Вы писали:


B>>А щас переписал все на Django v0.95. Кайфую.

dmz>А зачем, кстати? Мне что в TG, что в Django не нравятся их ORMы — по сравнению с
dmz>SQLAlchemy это... просто примитив. А что бы открутить ORM от фреймворка и прикрутить
dmz>другой — надо его хорошо изучить, да и что останется?
А у меня Berkeley DB для большинства данных, потому что данные очень мелкие (слова и наборы слов).
И еще очень популярный запрос — дать N-е слово в таблице (одно) или N-й список слов.
Лучше я уж его руками сделаю, чем через SQL гонять. Глядишь, производительность в 100 раз поднимется
Хотя эту реализацию тоже наверное передизайнить надо будет при случае.
dmz>В web.py и изучать нечего — простой и надежный. И с nginx заработал сразу.
А систему шаблонов ты какую используешь? Это еще одна весьма религиозная вещь. Я видел почти все, какие есть. Django-шаблоны для меня показались самыми удобными в использовании (за исключением ifequal из Django)
Мне не нравилось, что логика web-UI написана на питоне. Ужасно некрасивый код получался. Похуже, чем в php.

p.s. SQLAlchemy я не смотрел, посмотрю.
/bur
Re[8]: Руби на рельсах vs Питон vs остальное
От: dmz Россия  
Дата: 03.08.06 10:19
Оценка:
B>А систему шаблонов ты какую используешь? Это еще одна весьма религиозная вещь. Я видел почти все, какие есть.
cheetah + xsl
если есть что-то сильно лучше, хочется увидеть, конечно. Но мне показалось, что они все примерно одинаковые,
хоть и пыжаться быть разными.

B>Мне не нравилось, что логика web-UI написана на питоне. Ужасно некрасивый код получался. Похуже, чем в php.

а в остальных с этим лучше? Я имею ввиду kid и django прежде всего.
Re[9]: Руби на рельсах vs Питон vs остальное
От: buriy Россия http://www.buriy.com/
Дата: 03.08.06 11:09
Оценка:
Здравствуйте, dmz, Вы писали:

B>>А систему шаблонов ты какую используешь? Это еще одна весьма религиозная вещь. Я видел почти все, какие есть.

dmz>cheetah + xsl
dmz>если есть что-то сильно лучше, хочется увидеть, конечно. Но мне показалось, что они все примерно одинаковые,
dmz>хоть и пыжаться быть разными.
посмотри pymeld, он совсем другой
задачи-то одни и те же, поэтому системы шаблонов похожие. но не все шаблоны решают все задачи.
разные в них следующие вещи:
1 — подстановка локальных переменных (возможно/нет/автоматическая)
2 — возможен ли изнутри вызов питоновских функций и как это сделать
3 — как делается размножение нужных элементов ну и например чередование 2х стилей по ним
4 — есть ли внутренняя установка переменных
5 — есть ли внутренние циклы
6 — есть ли внутренняя подгрузка данных откуда-нибудь, например, из web-services (как-то мой товарищ xsl расширял этой фенькой)
7 — xml-based: плюсы — валидация, минусы — древовидность.

B>>Мне не нравилось, что логика web-UI написана на питоне. Ужасно некрасивый код получался. Похуже, чем в php.

dmz>а в остальных с этим лучше? Я имею ввиду kid и django прежде всего.
kid — xml-based, мне это не понравилось. я считаю, что xml и xsl — не для людей, даже если есть удобный редактор. например, когда я недавно хотел поработать с xsl, меня очень смущала невозможность заиспользовать функции моего любимого языка программирования...
django — наподобие smarty и cheetah, но есть пара наворотов:
1) (от smarty) вызов питоновских функций-шаблонов таким образом: {{ var | wordwrap:70 | linebreaks }}
2) именованные области документа — blocks. наследование документов для цели переписывания именованных областей. для web-а самое то. создал базовый шаблон и поехал. простые вещи остаются простыми, и это круто.
/bur
Re[10]: Руби на рельсах vs Питон vs остальное
От: dmz Россия  
Дата: 03.08.06 11:35
Оценка:
B>например, когда я недавно хотел поработать с xsl, меня очень смущала невозможность заиспользовать функции моего B>любимого языка программирования...

Кстати, можно — для питона еще и довольно просто. По-моему, примеры есть в документации к python-libxslt

B>django — наподобие smarty и cheetah, но есть пара наворотов:

B> 1) (от smarty) вызов питоновских функций-шаблонов таким образом: {{ var | wordwrap:70 | linebreaks }}

не понял, в чем прикол.

B> 2) именованные области документа — blocks. наследование документов для цели переписывания именованных областей. для web-а самое то. создал базовый шаблон и поехал. простые вещи остаются простыми, и это круто.


Это есть в cheetah
Re[11]: Руби на рельсах vs Питон vs остальное
От: buriy Россия http://www.buriy.com/
Дата: 03.08.06 13:02
Оценка:
Здравствуйте, dmz, Вы писали:


B>>например, когда я недавно хотел поработать с xsl, меня очень смущала невозможность заиспользовать функции моего B>любимого языка программирования...


dmz>Кстати, можно — для питона еще и довольно просто. По-моему, примеры есть в документации к python-libxslt


B>>django — наподобие smarty и cheetah, но есть пара наворотов:

B>> 1) (от smarty) вызов питоновских функций-шаблонов таким образом: {{ var | wordwrap:70 | linebreaks }}

dmz>не понял, в чем прикол.


wordwrap и linebreaks — функции питона, var — переменная, переданная шаблонам. {{ ... }} — выполнить подстановку результата. впрочем, если проблема безопасности шаблонов тебя не волнует, то аналог из cheetah — прямой вызов функций — еще удобнее.

B>> 2) именованные области документа — blocks. наследование документов для цели переписывания именованных областей. для web-а самое то. создал базовый шаблон и поехал. простые вещи остаются простыми, и это круто.


dmz>Это есть в cheetah

А этого я не знал. Неудобно потому что...

3) Интернационализация специальным тегом
{% trans %} текст {% endtrans %}

4) Ничего лишнего
/bur
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.