Don Dailey wrote:

For that,  C currently appears to be the best choice.    This in not
just my opinion, there is empirical evidence to support this claim.
The problem with "empirical evidence" is that you don't get the very much needed "all else being equal". The people that code in C (and get great speeds for the algorithms where speed means a skill increase) are people that know C best, that have years of experience in it, and also, people that have a different attitude towards /how/ to solve problems, /what/ algorithms to write. I suspect that Java coders, and especially Haskell, Lisp, etc. coders, are people with significant less experience in those languages; partially because you need a lot less knowledge about programming to get started and get anywhere, but also because these languages have something of the hype about them*, and might be chosen as the language merely for being the latest language, or the highest-level one, learned so far. And you think differently when coding in a higher level language. It might well be that the slightly different mindset of low-level programmers is more suited for go. It might be that we /need/ a domain specific language for go.

But none of this means that the /speed of execution/ is the crucial factor, or even an important one. Yes, perhaps the same algorithm in Haskell is ten times as slow as one in assembler. But does that mean that if you give a Haskell coder ten times as powerful hardware, that he'll be able to compete with the C coder? I'm not so sure.

The maintainability aspect is not to be laughed at either. Once you get above a certain size in complexity of the program, having it in C from the start will mean a much greater inertia against expanding and experimenting with what you have. And I suspect go programms will have to go above this to beat the current set of algorithms. As seducing as the idea that there's an elegant solution is, I don't think it's realistic. And then we'll need the added clarity of high-level programming.

*) Without that meaning they're worse languages for being hyped, or being picked up for word of mouth value only.
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to