Comments by "TheEvilCottonBall" (@alexandermaximilianoetken7265) on "Lex Clips"
channel.
-
I wonder how Mojo compares to Cython. Cython is also a superset of the Python language intended to run pythonic code at C speeds. However Cython markets itself as an option for scientific computing whereas Mojo markets itself as a language otpimised for AI and ML computing. Of course Cython has been around for longer and is more mature. Mojo for instance does not even run on top of Windows yet (only WSL) and isn't ready. I really like some ideas about Mojo autotuning and Rust like ownership semantics, not found in Cython. I guess we will have to see, how compatible/performant Mojo really is and how it compares to other fast Python solutions: lpython, pyston, mypyc, jax, numba, cupy, taichi, PyPy, triton, nuitka, brython, skulpt, pythran, weld, ironpython, transcrypt, pyccel, pyjs, grumpy, uarray, shedskin, jython, compyle, codon, seq, HOPE, transonic and many more. Some of them are incompatible with CPython and therefore limited in their use e. g. Codon. Some limit themselves to only a few jitted, performance critical functions e. g. numba, some try to be fully compatible with Cpython e.g. PyPy, nuitka which only brings modest performance improvements so numerical stuff in PyPy-Python is slower than calling C libraries within CPython, and some extend the python language e.g. Cython, Mojo. The problem with the superset approach is that you are kind of writing C in Python, so why not write in C instead?
1