3 ms·
(Copy-pasting my comment on this from the other thread) > If I had to wish something from Julia, it would be to provide a way to turn off runtime optimization
by sundarurfriend 4y ago
(Copy-pasting my comment on this from the other thread)
> If I had to wish something from Julia, it would be to provide a way to turn off runtime optimization to (radically) speed up compile times for purposes of debugging.
100% agreed on that. I've tried a Julia alias with `--compile=min --optimize=0` options passed in to try to say "please give me responsiveness over runtime performance", but it's still not quite the smooth flow I'd like it to be.
> Dynamic Binding
Beyond performance, it sounds like dynamic binding would have the same hard-to-debug action-at-a-distance problems that global variables often land you in, so I'm not sure it's worth it. (The specific case the author mentions would also lead to type stability problems, but that's maybe beside the point.)
> Structural editing
It's hard to process things from gifs, especially since I can't tell what the starting point of the gif is. It vaguely gives me the impression of the Emmet plugin for HTML development [1].
> I am aware julia has a --lisp mode, but I have never found any documentation for it. So, I don’t agree that all the things in julia are well-documented either :).
Afaik, the `--lisp` mode is intended to be sort of an easter egg, rather than a real mode for practical coding. I doubt many people use it other than Jeff himself. :)
The author doesn't say everything in Julia is well-documented by the way, or even mention Julia documentation. There's just complaints about the Lisp ecosystem's lack of documentation, and perhaps from that an implication that Julia has better docs, but I doubt the author would say all the things are well-documented - there's still quite a way to go for that to be the case.
Overall, the article left me more curious to explore Lisp, not less. It didn't feel particularly gloomy, and exposed me to many features of the language that make me really want to try it out. I hope there's more articles like this - in the sense of being intended for a general (non-lisp) audience, and talking about specific features rather than just "it expands your mind, it's programming like you've never done before" type statements.
[1] https://emmet.io/ https://emmet.io/
- OkayPhysicist 4y agoAre you closing the Julia process between each run, or do you have a REPL sitting open in another window at all times? I used the latter when I was doing my thesis in Julia, and that cut down on start times a lot.
- sundarurfriend 4y agoYeah, that kind of single, long-running project is exactly what Julia is made for, so it works out great for those use cases. I do the same when I have projects like that. Generally though, I tend to need to switch to different clean environments, to debug others' codebases, or to work on distinct packages, etc. And even in a long running REPL, things suddenly take a lot time to run and then I realize I hadn't run that particular method in this session yet so my workflow is paused suddenly while I wait. Also, I'd just love to be able to use Julia as a quick calculator, to run little snippets of code I need for non-project reasons, etc., just use it as a general computing environment. But the unpredictable latency makes this less pleasant than it would otherwise be.
- borodi 4y ago--lisp mode just lands you in the REPL of femtolisp, which is used for the parser and lowererer. It's kind of an easter egg for sure.
- williamstein 4y agoI wonder if this JuliaInterpreter would help with his main concern regarding "a way to turn off runtime optimization to (radically) speed up compile times for purposes of debugging."? https://github.com/JuliaDebug/JuliaInterpreter.jl/blob/master/docs/src/index.md https://github.com/JuliaDebug/JuliaInterpreter.jl/blob/maste...
- sundarurfriend 4y agoI hope it does, thanks for reminding me of it! I'd come across it quite some time ago, but it was mentioned in the context of someone saying "I wish it was more actively developed", so I just assumed it was something of a stale project. Looking at the repo now, that doesn't seem to be the case at all. I've added an alias alias jli="julia --project=@Interpret -e 'using JuliaInterpreter' -i" and will give it a try over the next few days. (`@Interpret` is the environment I installed the package in.)
- adgjlsfhk1 4y agothe main downside of it is that it is very slow. Julia can always use more compiler people, but if anyone wants to work on a faster, less debug-oriented interpreter for Julia, that would be a really valuable project.