What is different with Python ? (OT I guess)

Magnus Lycka lycka at carmen.se
Tue Jun 14 09:12:19 EDT 2005


Andrew Dalke wrote:
> Andrea Griffini wrote:
> 
>>This is investigating. Programming is more similar to building
>>instead (with a very few exceptions). CS is not like physics or
>>chemistry or biology where you're given a result (the world)
>>and you're looking for the unknown laws. In programming *we*
>>are building the world. This is a huge fundamental difference!
> 
> Philosophically I disagree.  Biology and physics depends on
> models of how the world works.  The success of a model depends
> on how well it describes and predicts what's observed.
> 
> Programming too has its model of how things work; you've mentioned
> algorithmic complexity and there are models of how humans
> interact with computers.  The success depends in part on how
> well it fits with those models.

And this is different from building? I don't disagree with the
other things you say, but I think Andrea is right here, although
I might have said construction or engineering rather than building.

To program is to build. While scientists do build and create things,
the ultimate goal of science is understanding. Scientists build
so that they can learn. Programmers and engineers learn so that
they can build.

There is a big overlap between science and engineering. I hope we
can embrace each other's perspectives and see common goals, but
I also think the distinction is useful.

It seems to me that a lot of so called science is really more
focused on achieving a certain goal than to understand the
world. I think Richard Feynman said something like "disciplines
with the word 'science' in their names aren't", and I feel that
he had a point.

I find the idea of computer science a bit odd. Fields like civil
engineering or electronics rely solidly on science and the laws
of nature. We must, or else our gadgets fail. We work closely
with field such as physics and chemistry, but we're not scientists,
because we learn to build, not vice versa. Our goal is problem
solving and solutions, not knowledge and understanding.

As you said:
"The success of a model depends on how well it describes and
predicts what's observed."
It's quite obvious that this is as true when we build houses,
airplanes or bridges, and when we build programs. Right?

It seems to me that *real* computer scientists are very rare. I
suspect that the label computer scientist comes from a lack of
a better word. Erh, computer engineering without engineering?
What do we call this? I don't mean to offend anyone. I have all
respect for both the education and the students of the discipline
called computer science, and I think it's vital that there is a
foundation of science and mathematics in this field, but most
practitioners aren't scientists any more than engineers are
scientists. Ok, my degree is "Master of Science" in English,
but my academic discipline is electronic engineering, not
electronic science--because the goal with the education is to
be able to use scientific knowledge to solve practical problems,
which is, by definition, what engineers do.

Oh well, I guess it's a bit late to try to rename the Computer
Science discipline now.



More information about the Python-list mailing list