Hacker News new | ask | show | jobs
by zzzeek 5341 days ago
> On the other hand if you abstract your interaction with data enough, you can change the whole backend later once it's stable and not care about it up-front.

have to disagree with this. By forcing yourself to work with a data layer so abstracted that you can't even reference whether you're dealing with a JSON document or a set of twelve joinable tables, you're going to write the most tortured and inefficient application. Non trivial applications require leaky abstractions.

1 comments

And you lose the ability to do data constraints well. Put clearly: Declarative data constraints (including referential integrity, but also check constraints and the like) are the single most important features of RDBMS's for most applications.......