On Wed, Feb 20, 2008 at 7:53 PM, Alan Gauld <[EMAIL PROTECTED]> wrote: > "Michael Langford" <[EMAIL PROTECTED]> wrote > > > I'm firmly with Kent here: OO programming is not about simulation. > > Wooah! > I'm partly on board here and do agree the noun/verb thing is > a gross simplification. But it does work and is how probably > the majority of OOP programmers started out - in the 80's > and 90's at least. Certainly when I started on OOP around 1984 > it was the de-facto introduction. And it is a still an effective > way to identify objects if you aren't sure where to start. > > [snipped for brevity] > > > Often it feels like the "Model objects on real world objects" is how > > people are taught so they get the idea of an object. Actually > > designing all code that way is a needless proscription that really > > really hurts many projects. > > I agree with this too. It has to be emphasised that it's only a > starting point to identify object candidates, the final solution > may look very different. But in my experience the bigger the > project the closer the abstractions get to reality at least at > the object identity level - the operations and data are likely > to be very different, and underneath that layer will be a wealth > of lower level abstractions unguessed at by nouns/verbs. > > But heh, if you get presented with a requirements spec > of 400 pages and over 1000 user storiers (as I just have!) it's > as good a place to start as any! (IMHO of course! :-) > And hopefully no newbies on the tutor list is in any danger > of that happening to them! > > -- > Alan Gauld > Author of the Learn to Program web site > http://www.freenetpages.co.uk/hp/alan.gauld > Which is currently dead awaiting a server repair, sorry! :-(
Somewhere along the line (in the original thread) the idea of trying to teach a Beginner how to design an OOP in "Python" got lost in a bunch of java mumbo jumbo (at least, that's what it seemed like to me). After looking at a lot of stuff, and reading much more than I needed to, the technique that works best for me is the noun/verb technique. I think it is a good STARTING point! Now, I understand that there are many different levels of "beginner". Some beginners are higher up the ladder than others, and they enjoy looking in windows higher up. However, I'm still on the bottom rung. The technique that I can relate to is the noun/verb technique. Does this mean that if I get a grasp of POOP with this technique that I'll be stuck on the bottom rung forever? I doubt it. No more than someone who is using whatever technique they are currently using is stuck with that technique forever. The universe unfolds perfectly. Time exists so it doesn't unfold all at once. I think the noun/verb technique is good for Absolute beginners. I haven't seen anything else that is so introductory. Too bad there isn't a graded tutorial that systematically uses the technique to build several working PYTHON OOPs. Happy Programming! -- b h a a l u u at g m a i l dot c o m "You assist an evil system most effectively by obeying its orders and decrees. An evil system never deserves such allegiance. Allegiance to it means partaking of the evil. A good person will resist an evil system with his or her whole soul." [Mahatma Gandhi] _______________________________________________ Tutor maillist - [email protected] http://mail.python.org/mailman/listinfo/tutor
