New Julia IDE: JuliaJunction

I have been working on a new Julia IDE for some time. It’s called JuliaJunction.
It is build in Rust specifically for Julia development. It uses an embedded installation of Julia and it has embedded plot navigation, variable browsing and debugging.
The software still is in beta testing and has some rough edges, but I already would like to get your opinion on it. Search for the JuliaJunction website online; I am not allowed to use links in this post.
Make sure you have enough diskspace, as it installs Julia and uses its own Julia depot.
What do you like or dislike? Are there any crucial features still missing? Currently it is only available for Windows, but in the end it will be cross-platform.

19 Likes

I remember seeing a post from you in the julia subreddit.

I went again to the website and it has changed a bit but I still don’t see the selling point of the closed source versus VScode. I don’t understand what “better integrated than VScode” or “designed for Julia” means. In the end, you are using LanguageServer.jl, or?

It would be interesting to say something about how you implemented a debugger. That is a bit of a downer to use in VScode so it is interesting to see how it works, especially in large codebases.

The rest… I don’t know. It it install its own julia? So do I have control over which julia version I am using, can I still use things like juliaup to change julia versions?

3 Likes

I was also curious and started to try it. The possibility of a better debugger and the possibility of inspecting variables during debugging (if confirmed) caught my curiosity. But than it requires me to create an account somewhere in order to use it (???). Why is that? Does it mean that it would require a internet connection to be usable?

Yes, it currently requires the creation of an account (email + password) . This is to keep track how many people use the app. Would it be a problem that usage requires an Internet connection? It just checks the validity of the account: I don’t log any usage data.

To be honest, creating an account keeps me from even trying it out. What is the goal of collecting all that data? Data should only be collected if necessary.

For the internet connection – have you ever travelled on a plane? Or maybe a German train? No internet.

Edit: Ah for now it is windows-only; then I can not try it anyways.

8 Likes

Congrats for starting the project!
Looks really cool.

Very nice to see julia get attention from companies.

Hello Boris, let me get back to a couple of your comments: I did use LanguageServer.jl initially , but I recently switched to a custom build embedded languageserver. It parses Julia code in Rust, so it has knowledge about the symbols in your code to provide features like “Goto definition” and such. The debugger is build on JuliaInterpreter.jl. It is quite basic at the moment: set breakpoints to stop there and then continue. You can inspect the data at the breakpoint. JuliaJunction installs a specific version of Julia ; I try to stay up to date with the latest release of Julia. Current beta of JuliaJunction installs Julia 1.12.1. By integrating with a known version of Julia, I can make sure that JuliaJunction works properly with Julia : small changes in behavior in Julia can break JuliaJunction functionality.

4 Likes

It certainly would. I may try it when have more time, specially to see how the debugger performs but I’m no seeing using and editor that requires a login either. But I don’t want to be too negative. Congratulations for tackling the problem the IDE in Julia. IMO, what we have now is a bit too poor.

4 Likes

JuliaJunction seems promising, although I can’t test it, since I am on MacOs. Howerver, I have a concern regarding the pricing plan. Indeed, what makes the added value of an IDE compared to a text editor is the variable explorer and the debugger. If there are not included in the free plan, I am afraid that people will continue using VSCode (which I like using for Julia). I think that your public is Matlab user, but I may be wrong.

Other competitors are already there like Erdos or, Positron in the future.

But congrats for releasing JuliaJunction and for trying to increase Julia adoption.

1 Like

Its just that i typically go offline if im not using the net, will this still function like every other editor and still use a languageServer, if it just tracks how many people log in and use it then it should be a one time handshake with website and machine, not a running process.

I could not find the license or any kind of terms that state this, can you provide a link?

I don’t even know who the “I” is in that sentence. If people use this IDE, are they entering into a contract with a person, or a legal entity? What’s the jurisdiction? What data protection laws apply?

These are questions I would want to know the answer to before even considering, let alone downloading it.

8 Likes

Hello Maucejo, thanks for your feedback. I didn’t know about Erdos yet. My focus is on making Julia easier to use and probably the majority of the the audience in this forum are “power users” for whom this is less important. Please let me know if there are other features that might trigger you to use JuliaJunction instead of VS Code.

Hello Tamas, thanks for the feedback. The license is shown during installation, but I guess I could put some more information regarding these topics on the website already.

1 Like

Because I can’t test JuliaJunction, it is hard to answer your question. What I like the most in Julia is the package environments management. I extensively use shared environments to avoid having one big environnement, which (I hope) avoids version conflicts durong update. In conjunction to this, I use ShareAdd.jl and the macro @usingany to access the installed packages. If JuliaJunction allows using such functionality as well as existing julia installation, one may consider JuliaJunction as a viable contender to Julia VSCode extension.

Alas, the bus factor is a strong reason not to go the JuliaJunction route.

1 Like

If you are either based in the EU, or selling to customers in the EU, the AFAIK the GDPR applies and you are obliged to comply with its terms if you are collecting data. Otherwise you may face steep fines.

1 Like

The pain points are under the hood, not at the UI surface level. If you beat LanguageServer.jl with better static analysis and fewer false positives, I’ll be interested.

2 Likes

There is GitHub - aviatesk/JETLS.jl: A new language server for Julia, which will hopefully improve with maturity. You can try it out already.

4 Likes

@elan8 It’s great to see people working on alternatives, it’s a form of Darwinism. I am about as far away from a “power user” as it is possible to imagine, so JuliaJunction should be for me. I use VSCode and I have no issues.

What do I like or dislike [about JuliaJunction]?

Answer:

Currently it is only available for Windows

1 Like