OliverUwira wrote:So am I right, that those who answered don't see a problem with using Java?
Choosing the right language for the GUI project is a tricky task. Java might cause trouble in the performance area, as when it comes to running tournaments with fast time controls.
Has anybody ever tried to compile Java into a binary with GCJ?
Yes, and it works great.
If you make a quality GUI for chess it will be a nice alternative to Arena as they do not really seem interesting in any platform other than Windows.
Java causes no performance issues. I designed a command line autotester in Java and I can play 20 or 30 games per second (using a 6 core processor.)
Each game played in a separate Java thread and full game scores produced using SAN notation. We also sometimes play fast fischer time control games such as 3 seconds + 0.05 second increment and it works great. I had an equivalent tester written in tcl and it was a dog in comparison, but tcl is not a high performance language. I would expect any high level language to be slow as it takes time to create PGN files correctly - it is like doing a shallow search and not quickly done in high level languages. In tcl I could only do 2 or 3 games scores per second.
I'm not sure why this is, but Windows seems to be a bit heavier in the sense that I cannot run as many games per second. I think Windows probably has more overhead for starting and killing processes as the tester always starts the program from scratch for each game. But this is not a serious issue for a GUI unless you intend to have time controls faster than game in 1 second.
I have had no problem creating binaries using GCJ either. It works great and is a great way to distribute binaries without requiring a java deployment. I have never tried to create binaries that make use of the graphical and user interface libraries so I cannot speak to that.