Slashdot Mirror


Grady Booch On Software Engineering

aebrain writes "Grady Booch is one of the Big Names in Software Engineering. If you use OOP or UML you're making use of his work. There's an interview with him on .NET that's interesting reading ('Language was once Key - Now it's Design'). Lots about the impedence mismatch between SQL and OOP, what the future holds re .NET and Java, and when UML modelling isn't appropriate."

1 of 52 comments (clear)

  1. Impedence mismatches by bigsteve@dstc · · Score: 5, Interesting
    Grady Booch is right about the mismatch between relational databases and OOP modelling. But in reality, this mirrors a more fundamental mismatch between databases (in general) and programming languages.

    To put it simply, data is handled differently by the storage system in an executing program. Typically we find:

    • Data is represented differently; i.e. the basic type systems are different.
    • Data is organized differently; e.g. tables and indexes versus lists, hash tables, etc.
    • Data accesses and update models are different; e.g. queries and transactions versus ad hoc programmed searches and synchronization.
    • Database access and non-database code is typically written in different languages, often in the same "program".

    Over that last (at least) 20 years, there have been attempts to remove the database / proogram impedence mismatch. The most radical approach is Orthogonal Persistence. This aims to treat all data the same, irrespective of its lifetime. Data that needs to persist is made to persist without the programmer doing ANYTHING about it.

    Classical examples of Orthogonal Persistence are the PS-Algol and Napier-88 programming languages. A notable (relatively) recent example was Sun Research Labs' Forest project which added OP support to Java. Unfortunately, the Forest project was shut down. My guess is that it conflicted with Sun's vision for mainstream Java. Sad.