On 6/14/05, Magnus Lycka <[EMAIL PROTECTED]> 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 -- http://mail.python.org/mailman/listinfo/python-list