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.

Reply via email to