Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×

Comment Re:Keep narrowing - a LOT (Score 1) 598

If it has shown success, why are the numbers of programmers not rising?

Are they static or in decline? I've not seen any data to suggest that.

Anyhow, while it's a proven technique, it hasn't seen wide-spread use since the 80's when the research I'm referring to was conducted. I can only speculate as to why.

Just what I said - a sandbox that lets you use any approach to organizing structure/behavior ... and also the ability to use any language you liked

Isn't that exactly what we have now?

Then we would see what approach a kid took to figuring out how to perform a task

Where would they begin? They'd almost need to be experts before they could make any sort of meaningful choice. As beginners tend to have little to no preexisting knowledge (that's what makes them beginners, after all) they'd essentially be making their selections at random. I don't see how that would benefit beginners in any way. It would like learning to swim by getting dropped from a helicopter in to shark-filled ocean waters.

Comment Re:quicksort better than OOP? (Score 1) 598

Really, OOP is having the data combined with the functions that operate on the data.

Hey, it's your definition. Enjoy. Just don't expect many people to agree with you. (That's my point!)

Hell, even I'll disagree with it on the grounds that it's insufficient. On it's face, it's so broad that it encompasses just about everything, which is clearly not what you intend. Mix in a bit of context and you just get a simple definition of "object".

Everything else involved in OOP derives that.

You'll need to tweak your definition a bit before you can derive anything. What are these principles that naturally derive from your definition (or hopefully soon-to-be modified definition)?

digging deeply into OOP, which Dijkstra despised, leads directly to programming by proof

Don't be silly. Meyer doesn't offer anything of the sort in OOSC, nor does anyone anywhere else. (If they could, you'd necessarily have a solid mathematical foundation and no further ambiguity as to what constitutes OOP!) What you do find in his overweight book are a lot of bold claims which are NOT supported by the literature. (For example: Right up front he claims that people who "master" OO techniques can produce software faster and cheaper.) He also makes an irritating habit of misrepresenting functional and structured approaches to bolster his never-ending salesmanship of Eiffel. The unnecessary build-up to the big "reveal" comes off more like a side-show performance rather than a scholarly work (which, by the way, it is clearly not!).

Moving back for a second...

Everything else involved in OOP derives that.

Do you believe that the "principles" Meyer offers in his advertisement -- oops, I mean book -- can be derived from your definition?

Comment Re:quicksort better than OOP? (Score 1) 598

Is that what I said?

Apparently not. I misinterpreted "the unique thing". My bad.

The unique thing is the idea of functions moving around with the data it operates on.

Still, it's clear that you're confused. OOP did not introduce objects.

The Liskov substitution principle is almost a necessity for truly flexible code.

Ignoring for the moment that that has absolutely nothing to do with my comment: that statement is completely incoherent.

The Alan Kay style of OOP is much nicer in my opinion

And not at all like OOP as it is generally understood by Java, C#, and C++ programmers. Again, no one can even agree on what constitutes OOP. It's an incoherent concept at best. Dig up a few definitions. You'll find most are vague, many are inconsistent, and a few so broad that they're meaningless.

Organizing code into modular sections just makes sense

Indeed it does. Modularity is good and many beginners seem to naturally understand the need. OOP in the *ahem* classical sense, however, is anti-modular and is thus ill-suited.

since you are kind of forced to think in terms of classes anyway.

Classes aren't essential to objects, you know. I'd even go as far as to say that they're a harmful concept. Skim through whatever books you have lying around and you'll soon discover that a good bit about what is written about "OOP" is ultimately about dealing with the problems caused by the flawed concept of classes and class-based inheritance in many popular so-called object oriented languages. An easy example would be design patterns. You'll find that a good number of the "patterns" found in GoF are intended for problems that you simply don't encounter, or which have solutions so trivial that they don't warrant special attention, in other languages, including other so-called OO languages.

It could be that you believe classes to be essential to OOP, but I've not seen many people make that claim.

Comment Re:quicksort better than OOP? (Score 1) 598

So what you like are objects, not necessarily OOP (by whatever definition). Objects, used appropriately, can be useful. They're no panacea, of course, and their should be little doubt that they're misused more often than not.

makes it easy to learn about modularity.

I can't possibly disagree more here. OOP (in the Liskov sense) is anti-modular by its very nature. Languages like Java and C# make it much more difficult for beginners to learn about modularity as a result.

Comment Re:Fundamentals (Score 1) 598

I thought this was supposed to be uncontroversial?

Classes? You can't be serious! Logic? If slashdot is any indication, most programmers couldn't pass an undergrad course in logic. Sure, you'll need an incredibly tiny subset of logic, but it's not a topic that needs special consideration. Most beginners work out the basics themselves without assistance. They certainly don't need a through understanding of the subject like a philosopher. I could go on ...

A better (much shorter) list of fundamentals:

- Data - variables, types, and structures (Just the basics, of course.)
- Flow control (iteration, branching)

That's it, really. (I may have even gone too far!) I can't really add anything else without stepping in to controversial territory.

Useful is a different matter, naturally, and we could add quite a bit more to the list. Though I doubt that it would be nearly as long as yours without becoming controversial.

Slashdot Top Deals

Stellar rays prove fibbing never pays. Embezzlement is another matter.

Working...