Julia's poor AoT support (with small binaries) is a major Achilles heel. I really wish that the Julia developers had taken that more seriously earlier on.
Julia's poor AoT support (with small binaries) is a major Achilles heel. I really wish that the Julia developers had taken that more seriously earlier on.
Wasm fluid simulation in Julia: https://alexander-barth.github.io/FluidSimDemo-WebAssembly/
Differential equations demo in the browser: https://tshort.github.io/Lorenz-WebAssembly-Model.jl/
Someone even setup Julia to run on AVR mcus for Arduino (Directly using gpucompiler which statictools uses to compile to binaries):
https://seelengrab.github.io/articles/Running%20Julia%20bare...
Static compilation is indeed possible with Julia. But it's very limited in its capabilities and certainly not as effortless as a simple `mojo build myfile.mojo`.
From my personal experience. I've done graphical apps in GTK3 in Julia with PkgC.jl cross-compiling from Linux to Windows. And they worked. :)
* Massive executables (which you mentioned). This makes it very difficult to use with embedded systems.
* Functions are not precompiled by default. You need to write a precompile script [1], which leads to a "two script problem": one script to do what you actually want, and another script that (hopefully) hits all the types you'll possibly need at runtime. And yes you can use `--trace-compile=file.jl` or SnoopCompile.jl instead, but this is still another step I need to worry about when compiling something.
[1]: https://julialang.github.io/PackageCompiler.jl/dev/sysimages...
The problem is funding. There are 0 full-time employees working on this issue because JuliaComputing has gotten about 10% of the funding Mojo has.
You can imagine what a company like Boeing might be interested in when it comes to a programming language.
But we can only guess from the outside, and it's ultimately upto JuliaHub to decide how to spend the money, so I'll cross my fingers and hope that this gets us AoT static compilation sooner!
[1] https://jump.dev/ [2] https://julianlsolvers.github.io/Optim.jl/stable/
Connection to the Python ecosystem. Python remains the number 1 teaching language by a large margin.
AI funding. If they can get the buy in from the AI community that Julia never got, they have the resources to engineer around any challenges faced.
Solid foundation in modern language design, and with that, a focus on correct code produced by larger teams.