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/
