Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!yale!cmcl2!kramden.acf.nyu.edu!brnstnd From: brnstnd@kramden.acf.nyu.edu (Dan Bernstein) Newsgroups: comp.lang.misc Subject: Re: C's sins of commission Message-ID: <5094:Nov1405:55:1990@kramden.acf.nyu.edu> Date: 14 Nov 90 05:55:19 GMT References: <27376@megaron.cs.arizona.edu> <-M.6315@xds13.ferranti.com> Organization: IR Lines: 36 In article <-M.6315@xds13.ferranti.com> peter@ficc.ferranti.com (Peter da Silva) writes: > Piercarlo Grandi: > > ]Ah no, this cannot pass. Lists and trees are *implementations*, and when > > ]you draw them you draw specific encodings of such implementations. > David Gudeman: > > No, this cannot pass. Lists and trees are mental structures that > > humans use to visualize things. > While I'm generally in the bit-bangers camp, I must agree with Piercarlo here. > The basic things that people work with are "chunks of data". Lists, trees, > tries, and so on are methods of implementing these databases in efficient > ways. There's nothing fundamental about them. I am in the bit-bangers camp and must agree with Dave here. Although it would be nice to imagine the computer as accepting some abstract, mathematical version of what I wanted to compute and spitting out some results, that's not how it works on the lowest levels, or on any level showing any efficiency. I am translating a computation into a form that a machine can understand. That final form may not be ``fundamental,'' but it *is* the mental structure that I have to work with. In real programming, I find myself working with a form that includes arrays and pointers and so on. So those are the mental structures I deal with. That's why I think Dave is right. If I didn't care about finishing anything, I might use a functional language. (Actually, I shouldn't be nasty---I hear SETL is becoming rather efficient after all these years. It's imperative, but it has a lot of the structures Jim seems to love.) So the final form I worked with might include some more abstract type, and I'd probably agree more with Piercarlo that relations and trees are higher level than pointers and arrays. Can we all agree to disagree now? ---Dan