I believe that both are actually very similar in that manner. I think the main difference comes from the fact that Julia is an attempt to design the core library to support and use the efficient constructs, while Numba and other related projects are, for better or worse, inheriting the default python semantics and built-in libraries.
Sometimes a new language is better than an old language simply because it can drop compatibility concerns. For example, Java is known for providing far more consistent multi-threading support than C, since it is a language construct and not an add-on feature. It was possible in both, one just made it easier for the programmer to access. Similarly, Node made it feasible to write programs without any concept of a blocking operation. Again, this was already possible in languages like Python and C, but Node (with it's legacy in Javascript), made it a feature of the language and designed all of the core API's to deal with it. On Fri, May 1, 2015 at 2:27 PM Steven G. Johnson <[email protected]> wrote: > > > On Friday, May 1, 2015 at 2:04:44 PM UTC-4, Steven Sagaert wrote: >> >> like I said: I like Julia and I am rooting for it but just to play >> devil's advocate: I believe it's also a goal (& possibility) of numba to >> write c-level efficient code in Python. All you have to do add an >> annotation here and there. >> > > Numba is arguably a 2nd lower-level language that happens to be embedded > in Python — it is telling that Numba's documentation explicitly states that > it can only get good performance when it is able to JIT the inner loops in > "nopython mode" — basically, code that doesn't stray outside a small set of > types. >
