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