Links would also be helpful.
As the maturity of a language is measured by whether it is implemented in itself, I think it is important to get the Julia language to be self-hosting.
What is the current status and/or estimation when Julia might provide
statically compiled executables?
I am thinking about statically compiled and linked application -
convenience is certainly one aspecti when one wants to deliver e.g.
complete GUI app, but I guess it by using type-annotations, one should
achieve even better performance?
I'd simply like to avoide using C(++) and focus on my problem using
higher-level language which provides enough speed.
As far as Qt is concerned, wx is also viable alternative, but Qt seems
to be the best option today for multi-platform app due to having much
more developing activity than wx and, as I wrote earlier, wherever one
goes, nobody recommends using GTK for anything except Linux...actually I
just hear the word 'pain' mentioned often in regard.
Well, afaik, it's still in the range of 2X.
I did not express clearly - I was not thinking about statically compiled
and linked application, but about the speed difference between using JIT
compiler and native code generation as it is e.g. between Julia and
Nimrod.
What is the main motivation to have binary executables? Using the C-API it should be quite simple to write a small C program that links to libjulia and executes some code.
This is certainly a use case. I'm sure you can see, however, why this isn't a very compelling use case for people donating their efforts to an open source project. There's not a lot of motivation to implement very tricky features for free so that other people can make more money.
That may well be. Personally, I think fully static compilation is primarily attractive because it drastically simplifies application deployment: put a single pre-compiled binary on a server and run it – end of story.
In that case, you'd probably want to pre-compile everything. There are other situations where you'd want to keep the JIT capability around.
In that case, you'd probably want to pre-compile everything. There are other situations where you'd want to keep the JIT capability around.
That's what I was thinking of as static compilation: Precompile as much as possible, launch a small executable that loads this and goes, but still link to libjulia (including LLVM). I don't think shipping libjulia is too much of a burden (unless you're on a tiny embedded system), as long as things are mostly precompiled so that you don't have a big startup latency.
How does this differ from what we do now with sys.so?
How does this differ from what we do now with sys.so?