Chronology Current Month Current Thread Current Date
[Year List] [Month List (current year)] [Date Index] [Thread Index] [Thread Prev] [Thread Next] [Date Prev] [Date Next]

Re: PSEUDO-SCIENCE ?



At 06:29 PM 2/25/00 -0500, Ludwik Kowalski wrote:
>
When a teacher invests time to master a scientific area (such as geometry,
algebra, electromagnetism or organic chemistry) s/he can be certain that
what was mastered will always be useful in teaching the subject. But this
is not true for those who invest in mastering software. A teacher investing
a year or two in learning PASCAL or JAVA or WebCT may loose the mental
investment when somebody decideds not to support the product.

Something similar may happen in certain areas of engineering (for example
a change from the tube-based to the semiconductor-based electronics) but
it is never so drastic and so devastating as in the area of software. That
is why I think that the so-called "computer science" is not really
science. What is it?

At 04:35 PM 2/25/00 -0700, Daniel Schroeder wrote:
Ludwik makes a good point, and makes it well.

Actually Ludwik made a number of points, some good points but also a few
far-from-good points.

I agree that there is too much "software rot" -- i.e. languages and
language features that go unsupported. I hate it when I have a program
(many thousands of lines long) that compiled just fine a month ago but
won't compile now because some klutz "upgraded" the compiler.

On the other hand:

The subject line of this thread is horrifying. If a topic is taught the
same way from year to year, it is evidence that it is a DEAD topic. If a
topic changes from year to year, it is evidence that progress is being
made. Calling it "pseudo-science" is pretty arrogant.

Also note that there is an ANSI standard for C, and an ISO standard for C++
and its powerful library -- so if you write lint-free code it should be
immune to rot for a good long time.

At 07:24 PM 2/25/00 -0500, Rick Tarara wrote:
Well one does need to understand that 'Computer Science' is not just leering
a current language. People study data structures, information theory, and
I'm sure lots of other stuff.


Lots of other stuff indeed. Thanks, Rick. The other stuff includes ideas
of timeless importance such as
-- Shannon entropy, Shannon's coding theorem: a topic that several people
on this list have expressed interest in. Surely this is one of the most
profound results of the 20th century.
-- Turing's Halting Problem.
-- Gödel's incompleteness theorem: another of the most profound results
of the 20th century.
-- Computational complexity, NP-completeness, and all that, with and
without quantum computation.
-- Chaitin's algorithmic complexity.
-- and lots more.

Calling this pseudo-science is not just arrogant, it's wrong.

A lot of so-called computer science courses are really computer
engineering, but still there's a big difference between engineering and
pseudo-science. The label pseudo-science normally applies to things like
astrology.

There is also the notion of a "provably correct" program. Advanced
computer science courses demand a level of formality and rigor that goes
far beyond what is seen in ordinary math courses.

Mathematicians argue over whether the Cooley-Tukey algorithm is "pure" or
"applied" mathematics. Whether you call it math, science, or engineering,
it is a thing of beauty.

Rick continued:
And as Dan says,
learning one computer language really does make it easy to move to another.

Right.

Where I work, a computer scientist who spent "a year or two" learning
Pascal or Java would be fired. Somebody who took a week or two would be
embarrassed. A day or two would be more like it.

=========

I've seen lots of bad software. I've also seen lots of bad physics. That
doesn't make it a pseudo-science.