CoderZone.org
Pages: 1 « previous     next »
  Print  
Author Topic: Carnegie Mellon University dumps object-oriented programming  (Read 3971 times) Bookmark and Share
Max
Jr. Member
*****
Posts: 75



View Profile WWW
« on: Mar 26, 2011, 10:53:55 am »

According to this blog post from professor Robert Harper, the Carnegie Mellon University Computer Science department is removing the required study of object-oriented programming from the Freshman curriculum.

'Object-oriented programming is eliminated entirely from the introductory curriculum, because it is both anti-modular and anti-parallel by its very nature, and hence unsuitable for a modern CS curriculum.' It goes on to say that 'a proposed new course on object-oriented design methodology will be offered at the sophomore level for those students who wish to study this topic.'

I've never been a fan of object-oriented programming, but that's just me. In many of the instances I've seen it used it's 1) unnecessary, 2) complicates the code for no reason, and 3) often appeared to be done just because the author learned object-oriented programming and decided that everything in the world should therefore be coded in in an object-oriented style.
Logged
cuberat
Newbie
*
Posts: 40


View Profile
« Reply #1 on: Mar 26, 2011, 07:45:03 pm »

Wow!

I had my first OO class many years ago.  I didn't really grasp it until now, and I'm still learning.  It's definitely a different mindset.

I don't think it should be used everywhere, but I really like using it within a web MVC architecture as the model, representing the data - however - I've learned to be careful with it, to avoid unnecessary overhead instantiating classes. 

I agree that it isn't first year content, but it can be valuable.

I think the advantages are that you can represent data nicely, you can encapsulate the data, and extend and override classes and operators.  Those things can be difficult to do with a procedural language. 

I like the comments on the blog post, too.
Logged
Tags:
Pages: 1
  Print  
 
Jump to: