?

Log in

No account? Create an account

Going native

« previous entry | next entry »
Mar. 26th, 2004 | 04:13 pm
mood: calmcalm
music: A-Ha - Rolling Thunder

http://www.joelonsoftware.com/items/2004/03/25.html
We had an interesting conversation about how the impedance mismatch between contemporary high-level programming languages (Java, C#, Python, VB) and relational databases. Since a huge percentage of code requires access to databases, the glue (a.k.a. the connecticazoint) between the RDBMS layer and the application code is very important, yet virtually every modern programming language assumes that RDBMS access is something that can be left to libraries. In other words, language designers never bother to put database integration features into their languages. As a tiny example of this, the syntax for "where" clauses is never identical to the syntax for "if" statements. And don't get me started about data type mismatches: just the fact that columns of any type might be "null" leads to an incompatibility between almost every native data type and the database data types.

Link | Leave a comment |

Comments {1}

(Deleted comment)

Triple Entendre

Don't document the execution -- execute the documentation

from: triple_entendre
date: Mar. 28th, 2004 09:46 am (UTC)
Link

The general solution to this class of problem is to make a relational database that describes a relational database, and use that instead.

I use that pattern to solve every problem, though, because everything is a database.

Whether you believe this is elegant or kludgey is... an interesting question; possibly one of those "two types of programmer" bifurcations.

Reply | Parent | Thread