On Tue, 2008-11-04 at 10:55 -0800, terry mcintyre wrote: > At some level, this is true; it comes down to crafting an efficient > implementation; but some languages make it easier to express some > ideas than others. For instance, some languages make it very natural > to perform operations on every element of an aggregate - a list, set, > array, or whatever - without having to express the details of the > loop. > Haskell, among other languages, makes it easy to embed Domain Specific > Languages in one's program; one can imagine a program which expresses > Go-specific terms in a very natural way. C/C++ with MPI is not the > last word on multiprocessing support; other languages probably do it > better. Functional languages permit much lighter-weight concurrency > and multiprocessing, avoiding the need for locks and semaphores.
Intuitively I completely agree. Obviously, if you can express ideas better, you can experiment much more easily. I find that as a C programmer whether I try something or not is based on a combination of how difficult it is to do something and how much faith I have that it will work. If things were easier, I would try more things. But in practice I find that at least for me, I need to be able to produce reasonably fast code too. There is a loop involved of getting an idea, implementing and debugging it, then testing it. Most of things I am willing to try involve more testing time by far than implementation time. If I were using a more expressive language that was significantly slower, I would try fewer things, not more. However I might very well try more clever ideas. There are probably better choices than C even for this. Ocaml might definitely be something I should learn. Actually I started to learn this once and when I saw how difficult it was to simply read a file line by line, I got a little intimidated. There was this tutorial on the web and the person presenting the tutorial couldn't even figure it out. It's like 3 or 4 lines of code in C, but paragraphs of code in Ocaml - at least the way this guy was trying to "demonstrate" it. I want a language that follows the perl philosophy, easy things should be easy and hard things should be possible. I don't think this is C but it doesn't seem like it's Ocaml either. It's certainly not Java either where "hello world" is a dozen lines of code. - Don
signature.asc
Description: This is a digitally signed message part
_______________________________________________ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/