Updated 2014-04-08 18:12:07 by juef

Concurrency Oriented Programming.

Think Massively concurrent systems or lots and lots of processes all talking to each other, each doing a specific thing that relies on the others to complete the system.

See Erlang.

Silas - How is threaded Tcl comparable to Erlang in a multiple processors/machines (clustering?) system? Is Tcl with the thread package able to do high concurrent programming?

NEM - Yes, Tcl can compete with Erlang in high concurrency. Indeed, until recently, Erlang used "green" threads only rather than native threads and so didn't take advantage of multiple processors/cores at all (other than by using multiple OS processes). That has changed now, and I understand recent Erlang runtimes can use several native threads (one per processor/core) to schedule the software threads. In Erlang you would use threads for everything, whereas in Tcl you'd typically use a few threads with each making use of an event loop.

LV Note however that while Tcl has thread support via the thread package, not all third party extensions are thread safe. Some are dependant on the OS libraries (for instance, the GUI related Tk, etc.) and await their thread-safeness. Others were written before threads were commonly available, and so haven't undergone appropriate code improvements.