Object-Oriented Programming or OOP is the concept which you can find almost everywhere today. It is required for understanding of many modern programming languages. As a result, you would find it very often as a required skill when reading job postings.

Being introduced back in 1970s as part of SIMULA language, OOP still remains somewhat of the mystery. Question then raised – why OOP is not taught as a primary discipline for Computer Science program? (wikipedia, in Java, in C, some course papers (1)(2))

Lets look at some of the leading Universities in US for Fall/Spring 2007:

Of course, it is just Spring calendar and it could be covered during Fall already.

Yet, seeing what choices we have right at the moment, it is not very impressive picture. And it only proves that application aspect is usually considered preferable versus theory.

Any modern language today uses OO methodology – Delphi, C#, C++, Java, PHP, etc. So how can we efficiently use language without knowing base info?

I was asked recently, if I can help with some references to good resources explaining OOP. Below you can find first what comes to mind:

I am thinking to collect some more information about the subject, and if you have something to add, please do so – best comments might be incorporated in the post itself.


2 Comments

Jolyon Smith · Mar 30, 2008 at 14:56

Sadly many “modern” languages have forgotten what OO stood for.

Instead of Object ORIENTED languages, these days we have Object OBSESSED languages.

Object Orientation was – and imho should be – about software artefacts modelling and representing the real world in an intuitive and comprehensible fashion.

Modern languages take it upon themselves to represent *everything* as an object, whether it is an object in the real world or not. If it isn’t an object then it *should* be and the language is jolly well going to make you think like that.

Serge Dosyukov · Mar 30, 2008 at 17:02

“Building blocks” model is very popular in many different industries: building houses, cars, even making food. Anywhere where you see it, it is for the purpose of easier use and/or reuse.
Same is true for software. Is it obsession or trend, it is all depend on how it used or overused.
One has to be reasanable.

Leave a Reply