I am (once again) exploring Julia.
The last time I checked it was, I believe, in 2015 and many things have happened since then.
I am writing this post in the hope that you can help me correct a few of my current impressions.
Bear in mind that my impressions are based on relatively quick research.
If you are trying to decide whether building a Julia prototype for our use case, just like I am, you shouldn’t read too much into my opinion.
Similarly, I hope no one feels insulted because I got the wrong impression.
Little detail since folks here will probably agree:
- Concise math syntax
- Jump (plus other optimization packages)
- ODE solver
- Plotting: I like the Plots.jl meta-package even though I gave up on getting PyPlot running for now. GR, pgftex, and ascii plotting should do for me. pgftex and ascii plotting are actually features that I’m looking for in other languages now.
Unclear but promising
- Dataframes, Pandas.jl. Lots of discussions in that area that don’t have a clear outcome. Lack of object methods also makes pandas look “unfamiliar”. Overall, I feel like this area is in flux.
- Web: Escher looks like Shiny. It warns about beta quality but still looks promising. Genie seems to be a full MVC framework with ORM. JuliaWebAPI.jl exposes functions via ZMQ or HTTP listeners. Both should be sufficient to get a REST API up and running, I suppose.
- Testing: It appears that many popular libraries have failing tests judging from their Github repos. What is going on there?
- Databasing: PostgreSQL.jl is currently unmaintained and I don’t see an obvious alternative. Basically, I am having serious doubts that I could quickly get my Postgres data into a Julia application. Are there databases with better support?
- BuildExecutable looks like I can share my script with someone who doesn’t need to install Julia himself. Would he still get JIT compilation on every start though?
- static-julia looks quite promising for building applications but also libraries to integrate with C, C++, or Python. On the other hand, that project is also quite recent and very active. What are my odds for building a Python wheel based on it (binary library that requires no Julia installation on the client computer)?
Again, I hope I am not being unfair with this potentially premature assessment.
I’d appreciate it if someone could help me shed some light on the areas that I misunderstood.
Deployment and databasing, in particular, feel a bit like roadblocks to me.
Thanks for your help.