Команданте ибн Кандела ([info]dervish_candela) wrote,
@ 2009-10-01 13:00:00
Previous Entry  Add to memories!  Tell a Friend  Next Entry
Entry tags:питонство, программинг

LINQ: why Python does (or doesn't) need it
Черезвычайно интересно. Оказывается, существуют средства, позволяющие допилить работу с SQL в питоне до немного похожей парадигмы. Из имен я нашел Dejavu, Geniusql и SqlSoup (SQLAlchemy). Причем два последних предоставляют синтаксис, по ясности не уступающий интегрированному в язык псевдо-sql, причем оба умеют превращать вызовы методов и лямбды во вполне неиллюзорные sql-запросы (т.е. это обертки для, а не эмуляторы sql). Единственная ключевая продажная точка у LINQ (кроме, конечно же, нашего любимого идола Синтаксического Сахарозного Диабета) — он представляет из себя универсальную унифицированную архитектуру преобразования запросов в AST предметной области, к которой легким движением руки навинчиваются нужные реализации для чего угодно. Теоретически, можно создать нечто подобное для питона на базе существующих элементных деревьев, супов и прочего добра для XML, но работы там непочатый край. И вопрос синтаксической сахарозы вовсе не так пренебрежим, как кажется: не всех радует вручную передавать лямбды генераторным выражениям (Geniusql), кто-то просто вернется к старым добрым функциям (SqlSoup), и не будет никакой единой инфраструктуры.

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

P.S. Хм. Судя по вот этой дискуссии, я не точно не превый, кто догадался расширить питон (лол), но по однострочному ответу на неё (о содержимом можно догадаться, не кликая на ссылку), ожидать чего-либо интересного от питона в этой конкретной области не приходится. Кстати, я потрясен: я думал, Питон реализует первоклассные объекты кода (полностью согласен насчет Лиспа с тем оратором :). Использовать чёрную магию и грязные хаки типа разборки байткода для решения в сущности примитивной задачи - это подозрительно похоже на знак старения языка и сообщества вокруг него.

P.S. Лол батарейка в рабочем компе садится, записи оказываются отправленными в прошлое =)




(2 comments) - (Post a new comment)


[info]al_zatv
2009-10-01 08:03 pm UTC (link)
python+static+ASTmacros = Boo (boo.codehaus.org)

(Reply to this) (Thread)


[info]dervish_candela
2009-10-01 08:12 pm UTC (link)
OSHI--
(до нас звон доходил, но вот чтоб так сразу...)

(Reply to this) (Parent)


(2 comments) - (Post a new comment)

Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…