That is just one of the very small reasons out of the entire haystack....
the advantages of an ORM are much too numerous to even begin to account....

I do not think circular references are a bad thing... it is a pointer after
all... one thing I miss from C programming is the ability to control pointer
vs. copy! SQLAlchemy does an amazing job at state management, and I have yet
run into a situation where circular references could even remotely cause
issues.

It really depends on your application though. Use the right tool for the
right job. The DAL has its advantages, the biggest of which is memory
consumption and function calls when querying large datasets. An ORM will
grow exponentially in memory usage as you add more objects. The DAL keeps a
linear memory growth as expected, so when you need lots of data its very
efficient and the effects can be noticed even with as few as 5000 records.

It also depends on the programmer. I had OOP concepts ingrained from the
beginning (Java was my first programming language I learned)... so obviously
SQLAlchemy would feel much more natural to me.

That said, I actually do use the standalone DAL in some scripts that process
data for my app that has 73 models (it used to have 50, but I have been busy
the last couple of months). The reason is because for batch processing
analytics for some of my tables, the DAL is the right tool for the job, and
using an ORM makes the process take about 2-3 hours as opposed to 30-45
minutes.

--
Thadeus




On Wed, Jan 26, 2011 at 3:40 PM, VP <vtp2...@gmail.com> wrote:

> >>. there is a real difference
> >> in maintaining 70+ models in web2py vs SQLAlchemy... especially when
> these
> >> models need to be shared between external scripts.
>
> Is this because DAL has not support for circular dependencies and
> SQLAlchemy does?
>
> But seriously, I think an application with 70+ models is entirely in a
> different class of applications.
>

Reply via email to