3 ms·
This article is representative of my experiences as well. I'm thankful to the author for writing it. My favorite parts: > This slowness affects other software
by spekcular 4y ago
This article is representative of my experiences as well. I'm thankful to the author for writing it. My favorite parts:
> This slowness affects other software written in Julia as well. For example, my editor formats on save. For most languages, the formatting time-delay is not noticable, but for Julia it sometimes took more than 10 seconds.
> The idea of “You only need to start the interpreter once a day” failed for me.
For me, this is the biggest obstacle to using Julia. It's not designed to support the traditional C/Python/whatever workflow of editing a text file and then interpreting/compiling it; it wants you to be in the REPL all the time. If you don't use the REPL, you have horrible problems with package loading times. So if you're someone who doesn't like developing in a REPL, you're out of luck.
Some comments by Julia users on the post are available here: https://discourse.julialang.org/t/blog-post-about-my-experiences-with-julia/79976 https://discourse.julialang.org/t/blog-post-about-my-experie...
- markkitti 4y agoIf you really wanted to, you could run PackageCompiler.jl as part of an edit-compile loop: https://julialang.github.io/PackageCompiler.jl/stable/examples/plots.html https://julialang.github.io/PackageCompiler.jl/stable/exampl...
- smabie 4y agoAnd even if you're in a REPL you're out of luck since you cannot reload maybe kinds of code changes without restarting the REPL. Revise.jl is supposed to solve this problem, but last time I tried writing a Julia project (v1.6), I ran into a lot of issues. Eventually I abandoned Julia because while in theory it seemed like a very nice language, in practice I ran into so many issues that I began to wonder if the core devs even use their own product at all.
- rsfern 4y agoI think you’re probably referring to how redefining a struct breaks Revise.jl and you have to restart the REPL? There are some other rough edges but IME this is the most noticeable You can use Pluto.jl for this kind of rapid prototyping where you might want to change your structs a lot. It works pretty well with Revise, so when you get things the way you like it can move that struct definition out into your package code. The other common suggestion is to prototype with NamedTuples instead of structs