Here’s a thing that’s come up already. ORMs, or Object Relational Mapper, are a RDBMS based thing for devs that want, in essence a statically typed object to deal with when writing code (yes, I know there’s a ton of other things an ORM can do or be used for, but I’m going with a simple explanation here, here’s more info). For some situations, I can see where that’s a productivity booster, but in other situations it is a very broken ideal. Especially when it comes to needs around highly complex query needs, performance and a host of other functionalities when you get into the higher end demands of Enterprise or *web scale* type systems.
Two things that has brought up this question in a new light, is:
- One: Why would you use an ORM in a dynamic language like JavaScript, that has a simple native format like JSON? It tends to make far less sense to do this. What’s your take? Like the idea? Hate the idea?
- Two: In a schemaless database, forcing an ORM on something that is built specifically to not have this featureset (for a number of reasons) seems to break the design ideas of the systems. Whether it is Mongo, Riak, Cassandra or whatever, why would you actually want to or not want to use an ORM? I’ve got my own thoughts but would like to know what people think about this notion.
-Please comment, I’ll be diving into any feedback too.

(Cross-posted @ Composite Code)
If you’re talking about ORM like Hibernate then you’re right. If you’re talking about richer transformation tools then you’re fully missing the point. What is important in ORM, is not O or R, but M. Mappings are extremely important and probably at the core of any serious system.
ORMs suck because it is not the perfect tool in those rare cases you need highly complex queries and lightening fast results. Well ok then.
I will use the best tool for the job. For many apps that would mean developing quicker, safer and easier with an ORM. I do love my SQL but I rarely have the need for it.
In Rails you can customise the SQL and also perform specific queries if needed. But if I was a developer at Twitter would I then use it to return tweets to the API, nope.
Thanks for the feedback all. I’ll have another blog entry pertaining to this soon.
Cheers!