Skip to content

Comment on A Julia Interpreter and Debugger

Comments

I've been meaning to get into julia for quite some time, but I always feel like the community is always like, "this version still needs X, when that comes out, it'll be ready." Is this it? I guess if I had applied that logic to anything else I would never have started on those either. Meh, maybe it's just me.

Yes, after this, we're done, there are no more things to do! You should start using Julia now :)

Just kidding, there are many cool things that are in the works, including Go-style multithreading and effortless automatic differentiation of arbitrary code, allowing you to "machine learn" any algorithm without a complex framework.

But that's all stuff that's not even available in most languages—now is a great time to start using Julia:

1. The latest stable release is 1.1—code you write now will keep working on all 1.x releases

2. There's excellent editor and IDE support for Julia in pretty much every imaginable configuration

3. There's a solid debugger with interfaces from the terminal and IDEs (and I'm sure soon there will be many more)

Just as a nudge for something not really of practical importance but something I'd like to see for other reasons: self-hosting.

Self-hosting leads to pain. Compiling Rust these days requires building 14 versions of Rust after building from OCAML.

I think that is worth it for Rust because I think it has good features for building compilers. And really low level runtime-y bits.

Julia has less good features for building compilers.

But still the vast majority of the language is in Julia. Including a lot of the code lowering.

Yeah, believe me, I understand the reasons for self-hosting in something like Rust versus not self-hosting in Julia. Also the fact that Julia is almost all Julia.

Still, the fact that it's almost all Julia suggests to me it could be all Julia, although maybe that's changed with 1.0+ releases.

Trying to think about why it matters to me, I think what it is a sense that if you can get what Julia offers from another language that does more, it probably is better to use that other language. So I want to see it pushed to be more general-use. Not just for the principle, but because I think in general there are gains to languages in doing so. E.g., my guess is that getting Julia to be self-hosting would require certain efforts that might pay off in other ways, or set the stage for such things.

I sure hope there will always be exciting new improvements just around the corner. The Julia community prides itself in being greedy, so we're often looking forward to those things.

It's worth noting that this entire effort is done in external packages that work on both Julia 1.0 and 1.1. One of the biggest things Julia previously needed was stability, and we now have that.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.