What is different with Python ? (OT I guess)

Bill Mill bill.mill at gmail.com
Tue Jun 14 10:41:07 EDT 2005


On 6/14/05, Magnus Lycka <lycka at carmen.se> wrote:
> 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.
> 
<snip stuff I agree with>
> 
> It seems to me that *real* computer scientists are very rare.

I'd like to say that I think that they do, in fact, exist, and that
it's a group which should grow and begin to do things more like their
biological counterparts. Why? Because, as systems get more complex,
they must be studied like biological systems.

I spent a while in college studying latent semantic indexing (LSI)
[1], which is an algorithm that can be used to group things for
clustering, searching, and other uses. It is known *to* be effective
in some circumstances, but nobody (at least when I was studying it ~2
years ago) knows *why* it is effective.

With the help of my professor, I was helping to try and determine that
*why*. We had a hypothesis [2], and my job was basically to build
experiments to test our hypothesis. First, I built a framework to
perform LSI on arbitrary documents (in python of course, let's keep it
on topic :), then I started to do experiments on different bodies of
text and different variations of our hypothesis. I kept a lab journal
detailing what I had changed between experiments, some of which took
days to run.

I believe that there are at least a fair number of computer scientists
working like this, and I believe that they need to recognize
themselves as a separate discipline with separate rules. I'd like to
see them open source their code when they publish papers as a matter
of standard procedure. I'd like to see them publish reports much more
like biologists than like mathematicians. In this way, I think that
the scientific computer scientists could begin to become more like
real scientists than like engineers.

Just my 2 cents.

Peace
Bill Mill

[1] http://javelina.cet.middlebury.edu/lsa/out/lsa_definition.htm
[2] http://llimllib.f2o.org/files/lsi_paper.pdf



More information about the Python-list mailing list