Live data from Hacker News

Object Oriented Programming has Failed Us

blog.dmbcllc.com

1–10 of 49 posts

Re: Object Oriented Programming has Failed Us

#2
Meanwhile, back at the lab, we need to come up with a programming environment that most people understand naturally. We need to do usability studies on the languages we develop just like we test applications we develop for users.

Isn't that how Vista was designed? Wouldn't it be a better idea to have a really curious and imaginative person (an artist, if you will) work on the language that will last 100 years?

On the other hand, I think this article borders on a good criticism of Arc: could it be that PG's focus on writing a language is misguided? Maybe it would be a better idea to focus on something more abstract: in particular, on inventing better fundamental representations for our programs (as Alan Kay did, when he thought about OOP)? I'd imagine Paul's response would be that macros -the "blurring of the line" between interpreter and interpreted- is the mind-opening change in representation. Does the problem lie in helping people cross this line?

Re: Object Oriented Programming has Failed Us

#3
I don't think this article is particularly well-written. However, I do agree with the conclusion. For web-based programming, object oriented programming is simply ridiculous in all but a small number of cases. That's why the Lampshade framework I wrote is purely procedural, and why I'm able to write software on top of it so quickly. Client-side GUI programming is a different story, in my opinion.

In general, just because you're capable of understanding complex, abstract concepts doesn't mean that it's always best to use them.

Re: Object Oriented Programming has Failed Us

#4
post #2

Meanwhile, back at the lab, we need to come up with a programming environment that most people understand naturally. We need to do usability studies on the languages we develop just like we test applications we develop for users. Isn't that how Vista was designed? Wouldn't it be a better idea to have a really curious and imaginative person (an artist, if you will) work on the language that will last 100 years? On the…

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 UNIX, while ADA was designed for a customer...and we know which one survived.

But, I also simply can't buy the "people understand naturally" logic. People understand very little "naturally"...and even if you include pre-existing knowledge (like English, or spatial skills) in this "natural" knowledge you still end up with a pretty horrendous and limited programming language. Explaining an algorithm in English almost always takes a lot more "code" than writing it in a decent high level language.

Re: Object Oriented Programming has Failed Us

#5

I don't think this article is particularly well-written. However, I do agree with the conclusion. For web-based programming, object oriented programming is simply ridiculous in all but a small number of cases. That's why the Lampshade framework I wrote is purely procedural, and why I'm able to write software on top of it so quickly. Client-side GUI programming is a different story, in my opinion. In general, just bec…

For web-based programming, object oriented programming is simply ridiculous in all but a small number of cases.

Agreed. Functional programming seems to make a lot more sense. Fundamentally, isn't a web server just a function f: url -> html? Sure, databases and sessions complicate things, but even in these cases, functional structures seem a lot more elegant (in a mathematical sense) than OOP ones.

Re: Object Oriented Programming has Failed Us

#7
post #4
post #2

Meanwhile, back at the lab, we need to come up with a programming environment that most people understand naturally. We need to do usability studies on the languages we develop just like we test applications we develop for users. Isn't that how Vista was designed? Wouldn't it be a better idea to have a really curious and imaginative person (an artist, if you will) work on the language that will last 100 years? On the…

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 all those pretty UML graphs? There is certainly a lot of thinking left to do about how exactly we understand programming languages, both on macro and micro levels - what metaphors we use to understand scope, objects, functional concepts, etc. It's from this thinking that new language designs will arise.

Re: Object Oriented Programming has Failed Us

#8

Hacker News Is Failing Us. This link is currently in the #2 position on the front page. I wonder if the people who up voted it actually read it or just agreed with the thesis?

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.

Re: Object Oriented Programming has Failed Us

#9
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 polymorphism is a lot less useful and 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. In languages like ruby, python, javascript, lisp and smalltalk object orientation serves in its proper place as a type definition system and people use it appropriately. It's only C++ that has failed us.

Re: Object Oriented Programming has Failed Us

#10
post #8

Hacker News Is Failing Us. This link is currently in the #2 position on the front page. I wonder if the people who up voted it actually read it or just agreed with the thesis?

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.
Post reply on HN