- Integration with your virtual machine, be it Linux, the JVM, or Python, is integral to success. None of these platforms support lightweight threads, so you'll always be "foreign", and not "native" (cf. Erlang C nodes).
- Scheduling should be done in the OS. If your OS' scheduler sucks, make it better, instead of implementing your own scheduler.
- RAM/SSD storage means that we'll probably be CPU-bound in the future.
- Real programming languages let you implement your own concurrency models. Try that with Erlang.