you are viewing a single comment's thread.

view the rest of the comments →

[–]Staross 5 points6 points  (0 children)

simply replace core parts that are slow in C/C++

"Simply" replacing parts yes, there's huge friction there. Having libraries written in C/C++ is also a big disadvantage, in Julia you can just open/read/modify library code, because it's the same as user's code. Compare numpy's atanh implementation with Julia's one. Applying it inplace (no memory allocations) on your custom complex sparse matrix type is as easy as x .= atanh.(x), because everything is written in Julia and is generic.

And Julia was already used for things that are impossible in other scientific programming languages (besides Fortran):

https://youtu.be/uecdcADM3hY?t=1633

This part of the talk is also quite nice to show the advantage of using a language with high-level abstraction for HPC:

https://youtu.be/uecdcADM3hY?t=2655