On Friday 11 April 2008 12:13, Juan José del Río (Simple Option) wrote: > Suggestions? Ok, here I go... > > I was going to suggest adding support for another language apart from > TCL... be it Mono. That'd give support for languages such as C#, VB, > Python, and faster performance. > > ... am I too crazy? :)
As Andrew said, it isn't crazy to suggest another language....but: 1. AOLserver is a Tcl application, it is written in and extends the Tcl C API, it could be nearly impossible to 'add support for another language' because: 2. The thread/shared memory/synchonization model is much better than C#, VB or Python, and is actually well documented because it is based upon the pthreads API (But it is also essentially mostly invisible at the application level). A Java 5 threads API, finally introduced some features that AOLserver has had for 'ever': http://java.sun.com/j2se/1.5.0/docs/guide/concurrency/overview.html It is hard to say if these newer languages (C# and MONO) have these features, probably VB and Python don't: task scheduling: ns_schedule_proc, ns_job concurrent collections: nsv arrays, ns_share, static vars (config structure) atomic variables: nsv arrays synchronizers: ns_mutex, ns_cond, etc. 2.5 AOLserver I/O model is about 50-75% faster than Tcl Threads 3. Faster? Don't know what benchmarks you are using to determine this need, but it would be last on my list of what needs to be done. Personally, I think we should freeze any effort at performance enhancement, unless and until we get some super-Guru with institutional support, and a very good reason for doing it. The current version 4.5 is about 10% faster than 4.0.x, and I have heard that Tcl 8.5 is also about 10% faster than 8.4. On the level of application speed, it will probably become even harder to find any scripting language faster than Tcl, although it clearly is slow at the typical specialized algorithm tests. 4. Support for language X is always suggested. Even if all the problems above didn't exist, it would obviously double the code base, at minimum, and it would fracture the community into two. Those who use Tcl and those who use language X. 5. Now, ignoring all of the above, the first thing to figure out is what does it mean to add support for a language, because there have been modules such as ns_java, ns_jk2, (a javascript module), I think an oberon/modula type language. 6. At the very least, there needs to be an effort to explain this situation, the difficulties are more practical than logical. tom jackson -- AOLserver - http://www.aolserver.com/ To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of your email blank.