Andy Carver:Teaching ORM: I explained ORM to the instructor who teaches database management. But he seems to be wedded to teaching ER modeling and manual normalization. What would you say to him to change his mind?
With the push to produce graduates that have directly-applicable skills (but see *), I think I'd need to be able to tell him that there is a significant move towards industrial adoption of ORM-based tooling (but see &), and that learning SQL is like learning COBOL.
Andy Carver:Using ORM: The IT Director is also wedded to ER modeling and does not think that ORM has a role to play.
What would you say to him to change his mind?
(&) I believe that the only thing that could convince him is the ready availability of a mature ORM-based toolset (from a stable company) that covers not just modelling, but the whole application lifecycle. To my mind that means fact-oriented requirements management, reverse-engineering existing databases, solid and productive programming environments with vendor IDE integration that don't require any knowledge of SQL (a fact-oriented query language is needed instead), automated or semi-automated database migration tools, and end-user query facilities for ad-hoc queries.
We're a long way from there. Without the full-lifecycle ORM framework, ORM can only fit in a niche in an enterprise, sad to say. IT managers are rightly skeptical of any one-time design and modeling tools, and in any case more and more organisations aren't doing any modeling, or are doing incremental modeling as part of an Agile process, so you get the full lifecycle on a weekly basis. It's not a problem you can ignore.
Andy Carver:Promoting ORM: On 3 March I will be giving a presentation about ORM to the whole of the 3rd year (all disciplines).
If you were giving this presentation, what are the key points that you would make to the students? "
(*) I believe that ORM should be one of the first things that new graduates learn. Instead we start by teaching algorithms, which is totally wrong. The left-brain people who predominate in IT need to be strongly encouraged and taught to think what, not how (which is their natural inclination), and fact orientation is the right way to do that. The fact that ORM can also be used to design databases can be left to a more advanced course; it's important but not half as important as learning to think logically about models of the problem domains... and to come full circle, perhaps that how I'd answer the first question, in the absence of my preferred answer.