How about this conclusion:

We all know that the choice of language depends on what you want to do with it.

There are dynamic, well-supported but slow languages with many
libraries like Ruby or Perl, which I'd want to use for something that
doesn't need too heavy computation like GUI or web applications.
That's not what most of us are doing here, at least not what we
discuss in that list...

Then, there are dynamic high-level languages which you can get quite
fast, like Lisp, ML, Haskell. I'd use them for prototyping and playing
with many different algorithms and their integration, as they are fast
enough to show you what works and what doesn't, while you can change
everything very easily.

Finally, there are "low-level" languages like C(++) or D, where you
need to work harder especially when you want to incorporate drastic
changes to the algorithms. Therefore you get the most performant
program once you're done. I'd use these languages once I know exactly
what algorithm I will use, and build a commercial program out of it.

Of course, there are languages that don't really fit into one of these
groups. To be a bit provocative, I'd say Java combines the
disadvantages of the latter two, while .Net rather combines some of
the advantages, as you have both high-level dynamic languages like F#
(though it doesn't seem perfectly finished, yet) and C# where you even
can add C snippets for the real critical parts. If .Net had a good
Lisp language with macros, I'd love it..


Anyways, I think most of the recent discussions were held because
people have different aims. I think C is perfectly reasonable for MoGo
and libego, because of the static aim. But doing GnuGo in it seems to
have been a very bad choice..

So long,
Ben
_______________________________________________
computer-go mailing list
[email protected]
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to