Best Computer Science School in Utah
blr at robertsr.us
Wed Sep 26 11:02:26 MDT 2007
Levi Pearson wrote:
> Paul Seamons <paul at seamons.com> writes:
>> Most of my thread spoke about programmers rather than computer
>> scientists. I'd argue in a similar vein that the Computer Science
>> discipline ill-prepares one to be a competent programmer. This
>> takes us to the "science vs craft" debate. Knowing theory is great
>> in theory. Tackling a problem and solving it when it shouldn't have
>> been possible - but only because you didn't know it was "impossible"
>> is even better. This is where "non-CS" types seem to excel - their
>> code may not be beautiful, and they may have poor optimizations, and
>> they may have screwed up an easy algorithm or design pattern - but
>> they solve the problems none-the-less (not all "non-CS" types, but
>> some). It has more to do with MacGyverism than anything else.
> Computer scientists are actually pretty picky about the words they use
> to describe the difficulty of problems. You will never find a non-CS
> person, or anyone else, solving an problem deemed impossible by CS
> theory, because such problems are not computable. If it looks like
> they did, then they only thought they solved the problem. They either
> solved something else, or the solutions are wrong.
I like to think of myself as a computer scientist, and the one thing I
remember from my algorithms class all those years ago is that even if
finding the optimal solution requires exponential time, the algorithm
that is provably within 80% of optimal is polynomial. Close enough is
usually good enough (or provably optimal is usually not required).
MacGyverism seems to match perfectly with what Dr. Campbell taught me IMHO.
More information about the PLUG