Academic exercises (was: Re: [lug] File modification)
Ian S. Nelson
nelson_ at attglobal.net
Thu Mar 14 19:35:22 MST 2002
Rob Peacock wrote:
> Unfortunately, school just doesn't really seem to promote developing
> quality software. I remember being quite disappointed in my first
> programming class (AP Pascal). The instructor asked at one point for ideas
> for our final project. I suggested that throughout the semester we develop
> components, and the final would be assembling them into a text editor.
> That suggestion was immediately discarded. Which was unfortunate...
> Some quotes from people in my life concerning this situation:
> People who can, do;
> People who can't, teach.
> --My dad
> (There are a few exceptions to this rule, but for the most part, he was
> dead on.)
I've seen some grads from some places that churn our really good, solid code.
I've also seen code from very smart kids that is just awful, ignoring error
codes, no robustness, or recoverability in it. They figured out the algorithms
and did that part well, they just didn't build a product out of it. I'm a
CMU grad and I was told at least a dozen times that people could potentially
die because of what we're doing and it's no different that being in medicine.
That attitude takes a lot of the fun out of it but you simply never know when
the compiler you're writing is going to be used to compile something that
really matters. Or the little hack you're doing is going to be used somewhere
critical. With the competition and desire to drive down costs and reuse stuff
they aren't doing it the old way very much any more. Look at zlib, everybody
seems to use it somewhere, even MS has fixes becuase of it.
You have to write code to get good at writing it. You have to write it and
debug it and do it a lot, it's no different than playing an instrument or
writing a novel in that regard. The more you do it the better you will get at
it. 4 years isn't enough time doing 10 - 15 projects a semester in some
classes and 1-5 in others.
More information about the LUG