ORMs are the technical solution to a social problem. From a pure technical point of view, a "Database" (with capital D) that allows for user defined functions (see Postgres) with a canonical "Domain Schema" expressed in SQL (DML & DDL) is technically superior.
The social problems imo are:
- (contrary to blog's assertion) most programmers are scared to death by SQL, and are far more comfortable with iterative programming than declarative/functional programming in SQL.
- ORMs in part also addressed organizational issues. Databases used to be the domain of DBAs. ORMs to a large extent wrested the control over the "Domain Model" from DBAs to Programmers.
From a purely technical pov I believe that the facility of user defined functions (c.f. Postgres) permit for complete and coherent structural and semantic description of a domain model in the database. However this is nearly universally hated by programmers as it requires programming in the database.
The social problems imo are:
- (contrary to blog's assertion) most programmers are scared to death by SQL, and are far more comfortable with iterative programming than declarative/functional programming in SQL.
- ORMs in part also addressed organizational issues. Databases used to be the domain of DBAs. ORMs to a large extent wrested the control over the "Domain Model" from DBAs to Programmers.
From a purely technical pov I believe that the facility of user defined functions (c.f. Postgres) permit for complete and coherent structural and semantic description of a domain model in the database. However this is nearly universally hated by programmers as it requires programming in the database.