2 ms·
I've been thinking about this a bunch, and I honestly still don't know. Julia SHOULD be very popular, but it isn't. One issue is that if you ask 10 people why
by jakobnissen 4y ago
I've been thinking about this a bunch, and I honestly still don't know. Julia SHOULD be very popular, but it isn't.
One issue is that if you ask 10 people why it's not, you get 11 different answers, each of them being confident that their particular problem with the language is the universal reason. Nonetheless, by listening to sufficiently many people's complains, we can draw a picture:
* The latency and memory consumption overhead makes Julia unsuitable for a large group of tasks, including many CLI applications.
* Julia is hard to "deploy" since it can't generate standalone binaries, and it's not preinstalled on most systems.
* Multiple dispatch, it's system of abstract inheritance and lack of static analysis and tooling makes it very difficult to write correct code. It's even hard to read Julia code due to dispatch labyrinths, macros that obfuscate IDEs, and lack of good IDE tooling.
I think these are the major issues of Julia that prevents adoption, apart from simply inertia. Most users bump into points 1 and 2 nearly immediately - only later do they realise point 3.
- Nanana909 4y ago> CLI Well, not nicely certainly, but: https://github.com/dmolina/DaemonMode.jl https://github.com/dmolina/DaemonMode.jl > portable Neither is python - it just relies on universal availability. Over time… > Multiple dispatch, it's system of abstract inheritance and lack of static analysis and tooling makes it very difficult to write correct code. It's even hard to read Julia code due to dispatch labyrinths, macros that obfuscate IDEs, and lack of good IDE tooling. There is support for solving some of this but it’s obscure and needs more attention. Overall I think the growth will continue, specific fields having best of any language software packages (DifferentialEquations.jl,…) written in Julia starts to create somewhat of a network effect. And imo the packages being written in Julia are quite specialized, unlike much of the famed “Python ecosystem”, half of which is wrapper to C++ functions and another big chunk being HTTP calls to external APIs..