Link Details

Link 378949 thumbnail
User 177347 avatar

By nato
via devx.com
Published: Mar 12 2010 / 18:52

Think object-orient programming (OOP) is the only way to go? You poor, misguided soul. Richard Mansfield contends that OOP is just the latest in a history of ideas that sound good in theory but are clumsy in practice.
  • 10
  • 29
  • 4064
  • 2

Comments

Add your comment
User 57355 avatar

mknutty replied ago:

3 votes Vote down Vote up Reply

I will agree OOP is not great for everything and is not perfect and is not the only way. But the problem is less OOP and more that most people should be flipping burgers, not programming.

User 57355 avatar

mknutty replied ago:

0 votes Vote down Vote up Reply

Although, I voted this down, i have to agree that this is part of the problem:

"...few programming books I've read use OOP techniques (classes, etc.) in their code examples. The examples are written as functions, not as methods within objects. Programming books are trying to teach programming—not the primarily clerical and taxonomic essence of OOP."

In fact, Friday I sat in on review of a tool to teach people how to program in .NET and I told my manager that was one of the problems i had with it. The examples where procedural. And I know that most people don't get why they are that way. They code their app JUST like the example The example should have comments that say ... "These are not examples for good, maintainable code but just to show you how to code a Menu [for example]".

User 254233 avatar

alien3d replied ago:

2 votes Vote down Vote up Reply

I vote down..I have and old system which php based build on procedural.It haved 1784 file to maintain.All in one folder.It's headache.If procedure it's easy maintain and can see which program have which classes and namespace?

User 306561 avatar

mikeborozdin replied ago:

0 votes Vote down Vote up Reply

So, what? It's not a fault of procedural programming, it's a fault of the programmers who wrote the system before. They could have written the same bloated system with OOP.

User 715507 avatar

i2matrix replied ago:

1 votes Vote down Vote up Reply

very stupid crap article. gimme my that many minutes of life back.

User 368023 avatar

yakkoh replied ago:

1 votes Vote down Vote up Reply

It is perfectly alright to attack or revise OOP concepts every day but:
there are advantages to OOP and they are not mentioned.
it is not because C++ has a rough syntax that all OOP languages have a rough syntax.
OOP languages, like C# and Java are far from perfect: for instance OOP languages should have bare or standalone functions, like Ruby or Python. But C or Fortran are also NOT perfect.
it is not because 'massive API code libraries' are not masterpieces of organization and completeness that we don't need big code librairies.

Replacements for OOP have not been described, or even implemented yet.

User 713041 avatar

Ric Rude replied ago:

-2 votes Vote down Vote up Reply

The abundance of "Manager" classes are evidence that the author is correct.

User 306525 avatar

Dave Newton replied ago:

0 votes Vote down Vote up Reply

But, like some evidence, are not enough to prove it. Because they don't.

User 306525 avatar

Dave Newton replied ago:

1 votes Vote down Vote up Reply

Most of the things in the article aren't really related to OOP, but bad programming and verbose languages. The "OOP Debunking" website linked to in the article is wildly entertaining, though... although most of the "OOP Myths" I've never, *ever* heard, and I've been doing this a pretty long time now.

User 393686 avatar

RawThinkTank replied ago:

1 votes Vote down Vote up Reply

imagine what will happen to such apes in the era of Aspect Oriented Programming

:-)

User 229839 avatar

dibblego replied ago:

0 votes Vote down Vote up Reply

There is no such thing as object-oriented programming. Save the circular arguments and dismiss it out of hand like other non-existent attempts at a concept http://apocalisp.wordpress.com/2008/12/04/no-such-thing/

User 160736 avatar

ingo replied ago:

1 votes Vote down Vote up Reply

I love how these arguments become black and white.
OO is not the solution to everything. It does however offer a lot of tools simplifying programming.

I would not want to write an Object model that can not take advantage of inheritance.
I do however frown when these domain objects get ladden with 'behaviour'.
I do not believe this is modelling reality - it's not a car that brakes or an account that debits. It's a driver pressing the brake and an outside force changing the amounts in your account.

Saying that using inheritance to add and modify behaviour in those 'manager classes' on the other hand is extremely useful.

User 141635 avatar

pholthuizen replied ago:

3 votes Vote down Vote up Reply

A typical article from someone without enough knowledge of object orientation.

User 435344 avatar

cmaitchison replied ago:

4 votes Vote down Vote up Reply

Surely the author is trolling.

"A frequent argument for OOP is it helps with code reusability, but one can reuse code without OOP—often by simply copying and pasting. "

gg

User 254233 avatar

alien3d replied ago:

0 votes Vote down Vote up Reply

If you have one page php 20k of line like me then you will think dam nobody used oop?

User 57355 avatar

mknutty replied ago:

1 votes Vote down Vote up Reply

I missed that one. Oh my. That is NOT code reuse. That is code abuse.

User 57355 avatar

mknutty replied ago:

0 votes Vote down Vote up Reply

Uh. Just noticed. This is from 2005. LOL. Uh, yeah nobody uses OOP anymore. Sure lots of people don't.

User 254233 avatar

alien3d replied ago:

0 votes Vote down Vote up Reply

The author using what language?Assembly?Java oop,Vb.net oop. C variant oop,ruby oop,javascript also oop.Even php ,for big project used oop.What language the author build a program?

Add your comment


Html tags not supported. Reply is editable for 5 minutes. Use [code lang="java|ruby|sql|css|xml"][/code] to post code snippets.

Java Performance Optimization
Written by: Pierre-Hugues Charbonneau
Featured Refcardz: Top Refcardz:
  1. Design Patterns
  2. OO JS
  3. Cont. Delivery
  4. Java EE7
  5. HTML5 Mobile
  1. Node.js
  2. Debugging JavaScript
  3. OO JS
  4. JSON
  5. Ajax