Just as a small background: I’m studying theoretical physics, which also includes a lot of computer simulations, from fluid dynamics, particle physics or cosmology, and from my experience after asking people from all sort of research centers there are pretty much 2 languages for high efficient programming (Fortran and C++), another 2 for plotting and data analysis (Python and a little bit of R) and each time we’re facing an analytical problem which we require computer aid we use Mathematica.
So after a brief mention by my professor (of a parallel computing class I took on the side) of Julia, and after seeing its advantages, and since I want to spend as little time possible into creating working code, I decided to give Julia a go.
After following some of the guides on Julia Academy I’m running into a few issues, which aren’t new, but the solutions aren’t clear either:
- Trying something has basic as
using Plotstakes a lot to pre-compile, and because I use the terminal to run my
.jlfile each time I do so it has to pre-compile the whole thing. I’ve looked into packages such as
SnoopCompile.jlI’m unsure which one to use and how. Even if one of them manages to pre-compile all of the downloaded packages and ensure that they get called as fast as possible, when I’m sharing my code other users might not be aware of this and end up thinking my program is slow. Is there no way to ensure that the user has the correct package and already compiled in it’s system and have the ease of use of something like Python where you just have to ensure that the correct package is installed?
- On a note similar to the previous question, would it be possible to have the same functionally as you do in Java where you can compile your code with
javac, which will compile all required functions, and then
javato run it and if you were to change anything in the code you would just have to recompile the file you performed the changes?
- Printing also seems to be taking a long time, I’ve made a script while I was learning the language and it took significantly longer than Python when running it with Julia. Am I missing something?
When I have the time I plan on trying to read a few books on the subject, the julialang website provides a few, but I’m afraid that the minor hiccups that are presented here will be enough for me to not be able to use Julia in the future as I would not have any support from my professors/peers.
I’ve seen after searching around that all of these issues have been addressed here or on the Github page, but I wasn’t able to understand some of the answers given and, more important, if they were valid for my use case scenario, as I would love to have Julia both as a data analysis on my PC or run it in the future in a computer cluster!
Thanks in advance!