Re[6]: PHP vs. Perl
От: Mamut Швеция http://dmitriid.com
Дата: 14.03.08 14:58
Оценка:
ДГ>Перла я не знаю, но от словосочетания "PHP удобнее" меня блевать тянет. Домашние странички — да, удобнее, базару нет. Personal Home Page, блин.

Чтобы не повторять: Re[4]: PHP vs. Perl
Автор: dmz
Дата: 09.03.08
... << RSDN@Home 1.2.0 alpha 2 rev. 872>>


dmitriid.comGitHubLinkedIn
Re[4]: PHP vs. Perl
От: DeZhavi Россия  
Дата: 14.03.08 15:07
Оценка:
Здравствуйте, TheOldMan, Вы писали:

TOM>Здравствуйте, DeZhavi, Вы писали:


DZ>>Здравствуйте, int 13h, Вы писали:


I1>>>Здравствуйте, Аноним, Вы писали:


А>>>>На чем лучше писать сайт — на PHP или на Perl ? Понимаю что в такой постановке вопрос звучит немного по-дурацки. Попробую обрисовать задачу. Требования к сайту — база данных (скорее всего PostgreSQL), рассылка, предположительная посещаемость — 20-30 тысяч человек в день. Какие преимущества и недостатки обеих технологий? Есть ли какие-то вещи, которые можно сделать на Perl-е, но нельзя на PHP?

А>>>>Просьба сильно не пинать, я чайник в сайтостроении.

I1>>>Apache + PHP + Eclipse (PDT) + XDebug + MySQL — довольно неплохой стандартный набор + комьюнити.

DZ>>А как вам такая связка для разработки на php VS2005(VS2008) + PHP + MySql ну и Apache естественно?

TOM>не нравиться: только под windows

А мне нарвится, с учтом того что проекты и на ASo и на php очнь удобно
Re[7]: PHP vs. Perl
От: anonymous Россия http://denis.ibaev.name/
Дата: 14.03.08 15:56
Оценка:
Здравствуйте, Mamut, Вы писали:

ДГ>>Перла я не знаю, но от словосочетания "PHP удобнее" меня блевать тянет. Домашние странички — да, удобнее, базару нет. Personal Home Page, блин.

M>Чтобы не повторять: Re[4]: PHP vs. Perl
Автор: dmz
Дата: 09.03.08


При чтении этого списка необходимо учитывать и исторические причины выбора PHP. Многие проекты как раз и начинались с небольших поделок на PHP.
Re[8]: Почему я не люблю фреймворки
От: dmz Россия  
Дата: 18.03.08 15:06
Оценка:
D>Безусловно. Но проблема была локализирована очень быстро и достоинств джанги она не умоляет. И без фреймворка можно написать очень плохую систему и шанс этого выше.

Ага. А вот и "локализация проблемы": http://lenta.yandex.ru/read.xml?group=14

Один абзац оттуда.

Главный минус этого “императивного” решения в том, что оно рушит барьеры абстракции. Вы не можете написать совершенно отвлеченную функцию, которая хочет писать в БД, и быть уверенными, что она работает всегда. Потому что если ее вызовет что-то в то время, когда активно слейв-соединение, она упадет.

За это меня все время ругает Андрей, и даже пророчит, что не пройдет и двух месяцев, как кто-нибудь наткнется на какой-нибудь трудноуловимый баг, связанный с этой императивностью. Теоретически, он прав. Но это единственное решение, которое я смог придумать, которое работает извне Джанго, не трогая ее код.


Перевожу: в рамках существующих фреймворков (Django и ORM) мы не нашли нормального решения данной проблемы и воткнули костыли, которые могут (и создадут!) проблемы в будущем — с управлением соединениями с базой вообще шутки плохи.

Дальше идут уже отмазки, почему все не так страшно и может быть это будет работать, потому что наша система на самом деле и т.п ...

Итого — гимора много. С какого то момента мы не получаем бонусы от фреймворка, а боремся с ним. Касается и джанги, и ORMа.
Re[9]: Почему я не люблю фреймворки
От: Аноним  
Дата: 18.03.08 15:48
Оценка:
Здравствуйте, dmz, Вы писали:


D>>Безусловно. Но проблема была локализирована очень быстро и достоинств джанги она не умоляет. И без фреймворка можно написать очень плохую систему и шанс этого выше.


dmz>Ага. А вот и "локализация проблемы": http://lenta.yandex.ru/read.xml?group=14


Ссылка неправильная... где прочитать это целиком?
Re[10]: Почему я не люблю фреймворки
От: dmz Россия  
Дата: 18.03.08 15:53
Оценка:
dmz>>Ага. А вот и "локализация проблемы": http://lenta.yandex.ru/read.xml?group=14

А>Ссылка неправильная... где прочитать это целиком?


Пардон. http://softwaremaniacs.org/blog/2008/03/18/mysql_cluster/
Re[9]: Почему я не люблю фреймворки
От: Daevaorn Россия  
Дата: 18.03.08 16:50
Оценка:
Здравствуйте, dmz, Вы писали:


D>>Безусловно. Но проблема была локализирована очень быстро и достоинств джанги она не умоляет. И без фреймворка можно написать очень плохую систему и шанс этого выше.


dmz>Ага. А вот и "локализация проблемы": http://lenta.yandex.ru/read.xml?group=14


Мягко говоря проблема уже другая. И не проблема вовсе, а оптимизация.

dmz>Перевожу: в рамках существующих фреймворков (Django и ORM) мы не нашли нормального решения данной проблемы и воткнули костыли, которые могут (и создадут!) проблемы в будущем — с управлением соединениями с базой вообще шутки плохи.


А как добавить репликации в уже существующий код без костылей вы знаете? И сколько ресурсов потребовалось бы на разработку всей системы с нуля?

dmz>Итого — гимора много. С какого то момента мы не получаем бонусы от фреймворка, а боремся с ним. Касается и джанги, и ORMа.


Бонус от фреймворка уже получен — время разработки гипер короткое. Далее уже идут "хачу!", со всеми вытекающими. Решение получилось, не трогающее код фреймворка, и абсолютно стороннее — это хорошо. Тем более что Иван сразу знал, что начинает использовать инструмент где нет репликаций, а значит сделал этот осознано.
Re[10]: Почему я не люблю фреймворки
От: isagalaev  
Дата: 18.03.08 18:04
Оценка:
Саш, я бы, честно говоря, давно бросил спорить . Человек явно не готов менять свою точку зрения, и просто хочет победить в споре. Отсюда и эти выборочные цитаты, и разворачивание фактов удобной стороной... Например он благополучно не заметил, что производительность нам обеспечивает кеш, а не репликации. Продолжает твердить, что упал сервис из-за фреймворка, хотя из того поста понятно, что фреймворк ни при чем. Даже умудрился прицепиться к моему перфекционистскому бурчанию про императивный стиль кластерного бэкенда... Чудно .

Ну не нравятся человеку фреймворки, пусть...
Re[10]: Почему я не люблю фреймворки
От: dmz Россия  
Дата: 18.03.08 18:33
Оценка:
D>А как добавить репликации в уже существующий код без костылей вы знаете?

Разрабатывать с нуля ничего не надо. Надо просто брать компоненты, которые делают что-то одно, но делают это хорошо. И делать так, что бы эти компоненты было легко переписать или заменить в случае чего.

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

Есть вещи менее важные — шаблонный движок, например, или middleware (хотя конкретно флуп тоже таит много открытий чудных)

Есть совсем маловажные — например, компонент, который отвечает за валидацию значений форм и возврат ошибочных значений ( хотя этого добра в питоне совсем немного, и нам пришлось написать свой, т.к. HtmlForms или как там его дюже мерзок)

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

Можно взять все оптом в виде джанги. Ну и получить то, что получили.

И не надо говорить, что можно или взять что-то от джанги, или там поменять в джанге ORM на что нибудь другое.
Никто этого в реальной жизни не делает, а как только начинает — то теряет то самое "гипер-короткое" время разработки напрочь совсем.

D>И сколько ресурсов потребовалось бы на разработку всей системы с нуля?


Ну это примерно известно. Был случай переписывания одной системы с web.py на TurboGears и с TG на набор компонентов с собственным glue. В общем-то очень немного по сравнению со временем написания системы, благодаря наличию выделенного слоя бизнес-логики, этот самый слой почти не пострадал. Хуже пришлось при выкидывании ORM, потому что он пускает свои метастазы между слоями...

Если бы писали сразу с нуля, то было бы вообще отлично. С нуля ведь это очень условно. Фактически, с нуля написан только валидатор форм и сериализаторы в xml и json, потому что те, которые есть не нравятся. Остальное все стандартное. Только обернутое. На всякий случай.

dmz>>Итого — гимора много. С какого то момента мы не получаем бонусы от фреймворка, а боремся с ним. Касается и джанги, и ORMа.


D>Бонус от фреймворка уже получен — время разработки гипер короткое.


Полгода, ага. И потом еще какое-то время, что бы работало. Собственно, данная история показывает именно этот сценарий, да? Возможно эти не все эти полгода ушли на программирование. Но тогда это "гипер" как-то теряет часть смысла.

И еще учтите, что "гипер" короткое оно у тех, кто хорошо знает. А чем сложнее фреймворк и чем больше связей — тем сложнее разбираться и больше на это надо времени.

D>Далее уже идут "хачу!", со всеми вытекающими. Решение получилось, не трогающее код фреймворка, и абсолютно стороннее — это хорошо.


Какие такие "хачу"? Мы говорим о базовых вещах, о нужности которых было известно заранее. Масштабирование там. Подразумевающее известно что.

D>Тем более что Иван сразу знал, что начинает использовать инструмент где нет репликаций, а значит сделал этот осознано.


Нет не "репликации". Нет управления соединениями.

Давайте мы абстрагируемся от личностей уже, ага? То, что получилось, это хороший и показательный кейс, и спасибо, что он рассказан честно. Выводы все заинтересованные сделают самостоятельно. Тут еще есть занятный пласт, связанный с навязанными джангой решениями (верстка, поддержка, etc), но это уже специфика конторы.
Re[11]: Почему я не люблю фреймворки
От: dmz Россия  
Дата: 18.03.08 19:04
Оценка:
I>Саш, я бы, честно говоря, давно бросил спорить . Человек явно не готов менять свою точку зрения, и просто хочет победить в споре.

Мне менять точку зрения сейчас бессмысленно, потому что этот вопрос закрыт. Т.е. если считать плюсы и минусы, то получится вроде:

[+] Быстро писать

[-] Черный ящик с непредсказуемыми заранее особенностями
[-] Заставляет отказаться от хорошо зарекомендовавших себя практик в обмен на неизвестно что

I>Отсюда и эти выборочные цитаты, и разворачивание фактов удобной стороной...


Ну я не могу цитировать все, хотя может и стоило, т.к. очень интересно и познавательно.

I>Например он благополучно не заметил, что производительность нам обеспечивает кеш, а не репликации.


Вам. При этом тот факт что репликации, а точнее, управления коннекциями, отсутствуют. Для всех.
И когда выясниться, что кэш репликации не заменяет кому-то, то что?

I>Продолжает твердить, что упал сервис из-за фреймворка, хотя из того поста понятно, что фреймворк ни при чем.


Он упал из-за побочных эффектов применения джанги, а именно, особенности устройства сессий. В первый раз. Это не так?
В общем-то проблема не в том, что упал. Проблема в том, что бы быстро починить.

I>Даже умудрился прицепиться к моему перфекционистскому бурчанию про императивный стиль кластерного бэкенда... Чудно I>.


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

I>Ну не нравятся человеку фреймворки, пусть...


Пока непонятно, чем они должны нравиться.
Re[11]: Почему я не люблю фреймворки
От: Daevaorn Россия  
Дата: 18.03.08 19:54
Оценка: -1
Иван как всегда оказался прав. Спор ради спора. Ни одного аргумента, только какие-то личные фобии.
Re[9]: Почему я не люблю фреймворки
От: Mamut Швеция http://dmitriid.com
Дата: 19.03.08 07:21
Оценка:
dmz>Итого — гимора много. С какого то момента мы не получаем бонусы от фреймворка, а боремся с ним. Касается и джанги, и ORMа.

Поэтому хорош, когда фреймворк позволэт безболезненно совершать низкоуровневые действия. Таких, к сожалению, не так уж и много
... << RSDN@Home 1.2.0 alpha 2 rev. 872>>


dmitriid.comGitHubLinkedIn
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.