
www.Usenet.com
| <-- __Chronological__ --> | <-- __Thread__ --> |
On Tue, 11 Nov 2003 21:50:51 GMT, [EMAIL PROTECTED] wrote: >demuyt wrote: >At the moment we only have C software for this. Theoretically, the >controller function could be written in a different language if it was >interfaced to the SailChallenge software. What language do you like to >program in? C++ > BTW, SailChallenge-1.2 has been released. If someone want >to translate this to another language he would be welcome, and can join >the ANNEvolve team. We would like to have a Python, Java or C++ >programmer. Rather than translate your stuff into another language, it would be pretty straightforward to set it up with dynamic binding between the simulator and the controller. E.g. in Windows you would build the simulator into an exe which would look for a DLL (probably using a filename from the command-line). The controller would then be in the DLL. Other platforms implement dynamic linkage differently from DLLs, so there would be a maintenance cost if you were supporting multiple platforms (+ competitors from different platforms would be making slightly incompatible controllers; and there's all those problems of whether simulators compiled in different environments really give identical results). All of which is probably why the zanke suggested a web-services approach, which presumably makes the simulator<->controller even more abstract. I think its a Wondows only thing, however. The very most general approach would be to run the simulator as a TCP/IP server and the controller as a client which connects to it. That's the only way I know to be really platform and language independent. The server does not necessarily need to be running on your machine as the competitor can run his own local copy for testing. Various frameworks already exist to implement systems like this but most of them are probably heavier than you really need (and I don't really know anything about them :). To make such a system friendly for the competitor, you would probably need to provide a small interface library for the user to do the connecting, and communicating with the server. That would need to be compatible with whatever languages you support. However, keen users may make the effort to create that for you in their favourite language... Ian B
| <-- __Chronological__ --> | <-- __Thread__ --> |