07 April 2019

Divide and Conquer - part the second

It's approaching the 50th anniversary of Dr. Codd's initial paper on the RM, internally at IBM. A year later it went public. At the time, there were three protocols for I/O: flat files, e.g. the COBOL COPYBOOK; IDMS, the network database system; and IMS, the hierarchical database system. That latter was made by IBM, apparently to avoid paying royalties and such to use IDMS. Yes, the more primitive (single parent) XML-like database came after the more structured (multi-parent) approach. Both hard-wired said structure, needing a byzantine syntax to maintain.

Ever since, coders have resisted the RM/SQL approach. Some, esp. since the advent of XML, still prefer dumb files. Even when there's a RDBMS on the server, they prefer to "do transactions in the client". With the innterTubes bandwidth now available, it's a truly lame excuse. The main basis for client-centric coding is the notion that all that compute power "out there" is good reason to move transaction control "out there". It's really, really stupid, but coders don't think beyond the ends of their noses.

A recent piece from AnandTech rhymes.

No comments: