At 01:44 AM 5/8/00 +0000, [EMAIL PROTECTED] wrote:
>On Mon, May 08, 2000 at 08:55:56AM +0100, Matt Sergeant wrote:
> > On Sun, 7 May 2000, Jeff Stuart wrote:
> >
> > > [...rest of message deleted...]
> > > > Every language has it use, the truly knowledgeable understand when to
> > > > use each language:)
> > >
> > > > Sam
> > > Amen to that!!!  I think that this point and the point about writing GOOD
> > > algorithms are VERY important ones and I think that it's important 
> that this
> > > be taught!  I'm not sure if it's being taught now in school but in my day
> > > (GOD I sound old :)) (1987-1991)  it wasn't.
> >
> > I hear this very much depends what Uni you go to. I'm always surprised to
> > hear that people _don't_ just learn pure algorithms and techniques at Uni
> > - that's certainly all that appears to be taught here in the UK
> > (learning languages has to be done on your own time generally, even ones
> > that are a core part of your course).
>
>I think it depends a lot on the school you go to and the professors
>you get.  I was a Math/Econ major with a tack on of PIC, program in
>computing at UCLA.  For the most part the teachers were idiots, they
>didn't even know what open source was much less get into it in class.
>They didn't teach algorithms, they thought it was good enough to teach
>the "end all be all" of object orientation.  In my experience, good
>algorithm training that *used* to be present has been replaced with
>object orientation as a "replacement" for good algorithms.  This is
>basically retarded.  (I don't mean to be obtuse, but those are the
>facts as I see them)  (It's been a few years, maybe they teach OSS in
>class now)
>
>For GUI programming, I think a "beautiful" object design is
>exceptionally important.  But once you leave the GUI space, you've
>left the area where "beautiful" object designs add much benefit.  Most
>of us programmers are relagated to things that are less beautiful, but
>rather functional.  Functional things require good algorithms.  Things
>with bad algorithms just become messy, and non functional after a
>period of time.  (Let me note that I am not speaking of
>"function/procedural" languages, just the task it must accomplish:
>pretty vs. do the job)

Now come on. That's a bit heavy. OO is just as useful server-side as 
client-side.

I think I've benefited just as much from server side OO as client-side. 
There are also a load of design patterns which are dedicated to processing 
data over networks or distributed systems. eg see CORBA Design Patterns by 
Malveau and Mowbray. While the title of the book says CORBA, at least 3 of 
the design patterns in there are applicable to mod_perl, EJB, Servlets, and 
DCOM communications.

This one isn't detailed in that book, but even Session is a "documented" 
design pattern with an OO interface and that's certainly server-side.

Now, while you can accomplish making an object interface with functional 
programming, (eg a web server could be thought of as an object, with an 
HTTP get method and post method), the plain fact is that it is a lot 
simpler to maintain if your language supports your interface.

>My point is simple.  Object orientation is not a replacement for good
>algorithms.  It's supplemental to good algorithms, and indeed
>sometimes crufty/beautiful Object interfaces can get in the way of good
>algorithms.  (OO interfaces sometimes make Nazi designers out of the
>best of us..., we allow our sense of design to get in the way of our
>sense of algorithms.)

That may be true. But it doesn't obviate the usefulness of OO on the server.

But by the same token, you may as well say forget procedural programming 
because it gets in the way of optimizations involving globals stuck in 
machine code registers.

There are a couple things about server side programming that I would agree 
with:

Algorithms tend not to change so often because they are contract. GUIs 
change ALL the time. Therefore, maintenance is not so much of a problem on 
servers as it is on GUIs which means that the maintenance benefits that OO 
affords is less.

But it isn't non existent and in fact OO helps quite a bit even on the 
server side. Arguably, the more complex a server-side system becomes with 
more developers, the more the server side system needs to be clean and 
strongly interfaced... and OO helps support that quite a bit because an OO 
system contains syntactic glue that supports strong interfacing.

Later,
    Gunther

>Allright, well, I'm done ranting about languages, sorry to bring you
>along for the trip :-).
>Thanks,
>Shane.
>
>(Let me make a quick note:  I had two good professors.  Dr. Kirby, and
>one other fellow I can't remember the name now..., hey! it's been a
>while! :)

__________________________________________________
Gunther Birznieks ([EMAIL PROTECTED])
Extropia - The Web Technology Company
http://www.extropia.com/

Reply via email to