::scr Re: Cognitive Friction

simon wistow scr@thegestalt.org
Wed, 2 Jan 2002 11:24:44 +0000


On Wed, Jan 02, 2002 at 11:05:34AM -0000, Simon Kinahan said:
> I've notice people have started to use the things obsessively, now they're
> an accepted part of the software engineering world. There's a line of
> reasoning that goes "my solution is in the patterns book, so it must be
> right", that goes much like the "I have UML diagrams so it must be good"
> that was around a few years ago. 

*cough*

XP.

Eventually it all settles down though and good people use the bits from
various fads that they like and use them only when they're appropriate.

I was working for the best programmer I know a while back and found a
bunch of elegant code that I realised was a Singleton pattern [0] in an
odd but beautiful place. When I quizzed him about it he had no idea that
that was it just seemed like the logical thing to do. Of course there
were other bits of his code that were hairy - he was agifted C
programmer working with Java so obviously he'd reimplemented pointer
artithmetic in Java. With added OO sugaring. Which hurt my brain. 

I worry about the fact that there's a whole swathe of programmers coming
through that will have gone through the university system doing
programming because of the dot.com/numeeja thing and their courses are
geared towards that - from some courses I've seen it is *just* cargo
cult programming. Use VB, UML, Gantt charts, NT, C++, patterns and never
think why. I know somebody on a course who was taught databases using
Access and didn't get SQL - they'd done it all through Access's Query
Builder. HTML was done in front page or Word. He phoned me up to ask my
opinion on some course work - how many machines should he have to run an
intranet server, mail server and file server for up to 40 people. At the
time I was running just such a set up of a FreeBSD installed PPro200 and
told him so but that he should probably split it into 3 machines to be
safe - this went against everything his lecturers had told him with
regards to IIS and Exchange. I almost wept. 


He doesn't know how to Program he knows how to program in C++. This
makes me sad.

Simon



[0] http://members.tripod.com/rwald/java/articles/Singleton_in_Java.html

for the non programmers on the list

http://www.object-arts.com/EducationCentre/Patterns/Singleton.htm

is also a good explanation but doesn't have as clear code