node.js is a Javascript runtime based on an event-driven, non-blocking model, primarily used for server-side applications in Javascript.
It can call out to native Tcl using node-tcl.
A simple web-based hello world is done with a code as simple as shown on https://nodejs.org/en/about/
This runs on current version of node.js (at least 4.6.1, LTS).
This about page seems to be proud of a simple concurrent webserver code, something that Tcl can accomplish quite a very long time.
I think that a Tcl-equivalent code looks like this (where a simple counter is added):
proc accept {socket adr port} { fileevent $socket readable "echo $socket" } proc echo sock { incr ::count puts [gets $sock] ;# consume and log input puts $sock "Hello world $::count" close $sock } set port 3000 socket -server accept $port puts "Server running at http://127.0.0.1:$port/" vwait forever