NOTE ON PROGRAMMERS AND DATA FUNDAMENTALS
by Fabian Pascal

 

 

 

In response to a reference to an argument of mine in On Persistence and Data Management, I posted the following at that site:

 

While I agree with your separation of persistence from data management, I think the following is mistaken:

 

Fabian Pascal’s oft-repeated accusation that application programmers are largely ignorant of what he calls database fundamentals is probably true, but it’s true for other reasons besides the general inadequacy of the US education system (see Pascal’s DATABASE DEBUNKINGS, passim). It’s true because database fundamentals - the mathematical foundations of the relational model - are not what programmers need to know in order to write programs, and would not actually be much help to them if they did know them. How much of Knuth’s TAOCP (a densely mathematical text, way over the head of your average ignoramus) is about relations as such?

 

It's not that they "don't need to know"; they do. It's that they do need to know, but don't. This does not mean that they don't need to know other, programming aspects (some of which you refer to), but they also need to know fundamentals. It’s because they don't' know fundamentals that they do everything in applications/programmatically.

 

Incidentally, fundamentals are not the mathematics of RM, but rather concepts and principles, such as what is a database and DBMS, how distinct from applications, data independence, levels of representation, model components (structure, integrity and manipulation), set vs. record processing, declarativity vs. procedurality, and so on.

 

 

Posted 8/5/05