LINUX.ORG.RU

class A(object):
    pass

foobar = type('foobar', (A,), {})
# И так далее, до достижения оптимального объема Пачки

Может быть, без этого тоже можно обойтись?

shylent
()
Ответ на: комментарий от shylent

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

nbdarvin
() автор топика
Ответ на: комментарий от shylent

>Может быть, без этого тоже можно обойтись?
В питоне настолько ужасный и кривой метаобъектный протокол, раз все его отговаривают использовать?

Love5an
()
Ответ на: комментарий от Love5an

Я считаю, что это субьективный вопрос: не нравится/не осилили - не используйте.

Не следует пытаться впихнуть метапрограммирование всюду, куда только можно, только потому, что язык предоставляет такую возможность. Практически всегда есть возможность написать более очевидный код, в котором сможет разобраться потенциальный пользователь библиотеки, с метапрограммированием не знакомый. Да и тестировать такой код обычно проще. С другой стороны, в некоторых случаях оно более чем уместно.

shylent
()
Ответ на: комментарий от Divius

Ну да, конечно, все языки - syntax sugar над машкодами


Но, кстати, с чего «синтаксический» то сахар? Вот в CL есть макросы чтения, ими можно произвольно менять синтаксис - это вот можно назвать syntax sugar. А MOP это скорее семантический сахар, т.к. меняет семантику выполнения кода, а не синтаксис.

Love5an
()
Ответ на: комментарий от shylent

>Практически всегда есть возможность написать более очевидный код,

Я и спрашиваю, неужели в Python MOP настолько кривой и неудобный?

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

Love5an
()
Ответ на: комментарий от Love5an

Не знаю, я же не могу сказать, удобный ли он для вас.

Я, например, пользовался, - никаких особых неудобств не испытал.

А вам в нем что-то не понравилось? Или вы, так сказать, из спортивного интереса спрашиваете?

shylent
()
Ответ на: комментарий от Divius

Одна история повторяется из раза в раз. Пока некая фича Лиспа не реализована в недоязыке, его адепты поносят фичу как ненужную. Едва же в этом языке её реализуют, так сразу она объявляется сверхценной, делающей этот язык на голову лучше остальных.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

При чём тут фича лиспа? Кому сейчас интересны безнадёжно устаревший языки? Это у вас такой баттхёрт что ли? Вы бы ещё с фортом питон сравнивали...

Divius ★★
()
Ответ на: комментарий от Divius

Ну а самый передовой и продвинутый язык это питон, чтоли?

Love5an
()
Ответ на: комментарий от Divius

> При чём тут фича лиспа?

А то, что он главный по метапрограммированию на этой планете.

Кому сейчас интересны безнадёжно устаревший языки?

Ну, вопросы по питону тут постоянно появляются. Значит кому-то он всё же интересен. Убей не понимаю зачем.

Вы бы ещё с фортом питон сравнивали...

Хочешь устроить вечер унижения питона, сравнивая его с нормальными языками?

ugoday ★★★★★
()
Ответ на: комментарий от Divius

>Кому сейчас интересны безнадёжно устаревший языки?

а что сейчас не «безнадёжно устаревший языки»?

antony986
()
Ответ на: комментарий от ugoday

>А то, что он главный по метапрограммированию на этой планете. По метанированию таки главный, с программированием у него значительно хуже..

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.