At the time of writing Python-based applications, you are not limited to the Python language alone. There are tools such as Hy (mentioned briefly in Chapter 5, Elements of Metaprogramming) that allow you to write modules, packages, or even whole applications with some other language (a dialect of Lisp) that will run in a Python virtual machine. Although it gives you the ability to express program logic with completely different syntax, it is still the same language as it compiles to the same bytecode, which means that it has the same limitations as ordinary Python code. Let me list some of the following limitations for you:
- Threading usability is greatly reduced due to the existence of Global Interpreter Lock (GIL) in CPython and dependent on the Python implementation of choice.
- Python is not a compiled language so lacks compile-time optimizations...