Live data from Hacker News

Object Oriented Programming has Failed Us

blog.dmbcllc.com

31–40 of 49 posts

Re: Object Oriented Programming has Failed Us

#31
"...and left the object oriented stuff to people who really understand it and for problems that can not be solved any other way."

And an example of such a problem would be...?

The single biggest problem with "language war" threads like this is that people actually believe this is the "only way". "Better way"? Maybe. "Only way"? Hardly.

Anything you can do in your language (object oriented or not), I can do in mine. Maybe not as slick, but it can be done.

Re: Object Oriented Programming has Failed Us

#33
post #12

Object Orientation failed because it's too hard to understand? I blinked in incredulity. Object Orientation hasn't failed, but we're coming to appreciate its short comings as a sole design paradigm. For C programmers, C++ gave them access to variable execution via polymorphism (without ugly function pointers) and more flexible scoping via classes. In languages that provide first class and anonymous functions polymorp…

"closures provide better scoping flexibility than classes. Languages that have these features make it obvious how restrictive C++ is in binding this functionality in with the type system." C++ can/does do anonymous functions (for example, see boost lambda), and can even give you most of what you want from first-class functions and closures (using functors). The parts that you don't get are due mostly to the fact that…

> have more than a few developers and a few tens of thousand lines of code, the benefits of strict typing become rapidly apparent.

The argument is that comprehensive test suites can substitute for strict typing. I don't buy it as practical, but that's the argument, and I can at least see the reasoning.

The other point is that you can avoid tens of thousands of lines of code and lots of developers in dynamic languages. You're way more likely to keep the thing in a form where two or three guys have it all in their heads and can keep it small and well factored. Strict typing is critical when you're making changes to code you don't understand really well. But you're more likely to understand all the code really well when it's small and you're on a small team.

Re: Object Oriented Programming has Failed Us

#34

Earlier quoted context omitted.

"there seems to be a backlash against type safety in this forum" You've said what I've been thinking for many months now. We've also got a strong contingent of anti-MS ranters. As to the merits of the article -- there are none. Oddly enough, I can't make a case against his argument because he doesn't have one, save his ultimate realization that it was the language itself. "It came to me in a dream" is a very difficul…

We've also got a strong contingent of anti-MS ranters. I've been having to work in MFC recently for a client, and boy... If you ever needed a reminder why some people dislike C++ so much, just work with MFC. It's one of the worst bastardizations of C++ I've ever seen (of course, to be fair, one has to admit that much of the really sucky stuff in MFC was done before the C++ standards were very good, and long before th…

I suspect that a lot of the C++ bashing you see comes from A) Experience with Microsoft Tools; B) Experience with 90s era C++ code bases, often produced by teams "trained up" in it.

Modern C++ done "the boost way" is a great language. I have rewritten perl prototypes in modern C++ with hardly any code expansion, but with huge performance and deployability gains.

Re: Object Oriented Programming has Failed Us

#35

I really hate to say this, as much as I like object oriented programming but, I really think we might be better off if we went back to procedural programming for the bulk of the applications that we write and left the object oriented stuff to people who really understand it and for problems that can not be solved any other way. Meanwhile, back at the lab, we need to come up with a programming environment that most pe…

It seems to be natural to do GUI-centric programming as in Visual Basic. People like attaching ideas to things that they can see. I think that the real problem is that there is an Impedance Mismatch between current GUIs and the domain. Once we have solved this, then the natural way to program won't conflict so drastically with good Object Oriented practices.

I'm not sure if we can get there before we reach the level of GUIs in Minority Report, but I think we won't need quite all of that.

Re: Object Oriented Programming has Failed Us

#36
post #7
post #4

Earlier quoted context omitted.

It's also how Mac OS X, Windows XP, Windows 95, and most of their precursors were designed. There's just been an acceptance amongst OS designers that testing with real humans is the only way to know if things are actually easy. Programming languages are unique, however, in that the people building them are often also the users (and the more this is true, the better the language tends to be). C was designed to build U…

testing with real humans is the only way to know if things are actually easy Yes, yes, of course, sorry for being unclear - I just meant that we shouldn't rely on design-by-focus-groups or design-by-committee exclusively, that imaginative solutions require creativity, and for that you need someone with taste. People understand very little "naturally"... Well, OOP utilizes our spacial skills, at least in the form of a…

CRC cards on 3x5" card-stock are better than UML. Otherwise, I agree. Until GUIs for applications are as natural as passing 3x5 cards around, there's going to be an impedance mismatch between the GUI and the domain.

Re: Object Oriented Programming has Failed Us

#38

Object Orientation failed because it's too hard to understand? I blinked in incredulity. Object Orientation hasn't failed, but we're coming to appreciate its short comings as a sole design paradigm. For C programmers, C++ gave them access to variable execution via polymorphism (without ugly function pointers) and more flexible scoping via classes. In languages that provide first class and anonymous functions polymorp…

The fact that the guy thinks OOP is the pinnacle of the dark art of programming doesn't bode well for his credibility on the topic of designing programming paradigms.

I can't even fathom what would be difficult to understand about OOP, unless, like I suspect, he is forcing the Kingdom of Nouns onto a problem that isn't well suited for it.

Re: Object Oriented Programming has Failed Us

#39
post #10
post #8

Earlier quoted context omitted.

I cringed at the comparison to mathematical proofs and the "multidimensional" aspects of programming (whatever that means), but the thesis was good, and I'm interested in how the HN community can expound on it... hence, the upvote.

How is the thesis good? The thesis states: average developers are too dumb to grok object-oriented programming so that some alternative simpler method for data hiding and encapsulation needs to be adopted. Only the really smart people should be allowed to dabble in the dark arts of OOP, and only then if they've been properly mentored by an elite priesthood.

Programming is hard. Let's go shopping. The article comes near, but does not directly address the fact that OOP is just one of several techniques and language features that have, over the years promised to make programming easy. People either fail to understand and properly adopt the new techniques or they do adopt the new techniques and simply find something else that makes programming hard.

The best we can hope for is that a technique expands what is within the reach of the average programmer. The problem of the day gets moved to the solved category and we move on to bigger and better things, which are also hard. Those of us who enjoy programming and earn a living from it should hope that this cycle is not broken.

Re: Object Oriented Programming has Failed Us

#40

Earlier quoted context omitted.

"there seems to be a backlash against type safety in this forum" You've said what I've been thinking for many months now. We've also got a strong contingent of anti-MS ranters. As to the merits of the article -- there are none. Oddly enough, I can't make a case against his argument because he doesn't have one, save his ultimate realization that it was the language itself. "It came to me in a dream" is a very difficul…

We've also got a strong contingent of anti-MS ranters. I've been having to work in MFC recently for a client, and boy... If you ever needed a reminder why some people dislike C++ so much, just work with MFC. It's one of the worst bastardizations of C++ I've ever seen (of course, to be fair, one has to admit that much of the really sucky stuff in MFC was done before the C++ standards were very good, and long before th…

I mean MS in terms of the entire corporation, ie, all that comes from MS is bad.

Last time I wrote in MFC was about five years ago. As I recall, I got up to speed by reading a couple books which went over basic application design stuff in Win32.

Didn't seem too bad to me -- I even did some COM stuff and some hooks and such. But like I said, that was a while ago. I wasn't a crazy fan or anything, but the tools did the work I wanted to do.

Post reply on HN