If you don't think C or Perl are predictable you don't understand their semantic model.
As to multi-treading, and micro-kernels, as an OS developer I do not understand the fascination with multithreading in USER SPACE, it simply brings all the cpmplexity of non-sequential programming into the app space for no visable gain:
.. Stop/Start latency can be better managed without threads,
.. Pre staged processes anyone?
.. The kernel, and only the kernel knows it the context switch needs register save/restore, cache flush or page table flush and dosn't need user space to second guess it.
.. Fast locks can be done better in shm.