[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: computer-go: Re: What language to experiment in?



I concur with the Java conclusion for all of these reasons, though the performance can be a small issue. If you ever get to the point where you need to be quickly doing pattern matching or tree searching, then write that part in a C library (or hand-assemble it) and call that chunk through the java native interface (JNI). Since you've stated that you want to quickly iterate through design phases, however, this should not be an issue.

If you're really looking at the top-level design, then you may want to become familiar with UML and use a tool such as Together Control Center or Rational Rose which will build the outlines of all your classes as you draw them (Together) or after you hit a button (Rational Rose). A free version of Together is available (only creation of class diagrams, though you can look at any of the diagrams created by others with licenses) at togethercommunity.com. In addition, both of these companies are pretty generous with educational licenses.

>I am for Java. The reasons are:
>1. Design a GUI is simple in Java. So, interaction with your program should
>be easy.
>2. Most advanced data structures in Java is native, no third party library
>needed. No memory leaks, and no need to worry about garbage collection
>(well, almost). So, data type implementation is easy.
>3. Java as an OOP language is no worse than C++ if not better. So, as you
>already knew C++ well, learning curve is minimum. Software component reuse
>and objects interaction are as nature as in C++.
>4. Java is only about 30% slower than C++ under its Just-In-Time compiler
>from my experiment, which is much faster than other interpreted languages.
>5. There are free IDE for Java, e.g., JBuilder standard, Forte community,
>etc. Also, the code is platform independent.

Best regards,

-- 

Erik S. Steinmetz
erik@xxxxxxxxxxxxxxxxx