IDE for Julia

Hi,

I’m a complete Julia beginner. I just downloaded Julia 1.6.1 and I’d like to move my first steps with the language. My first task will be integrating the heat equation in a simple 2D domain (I’ll write a separate question for that). Which IDE do you suggest me to use with Julia? Personally I like VSCode and JupyterLab, thus if either of them support Julia that would be good. But if there’s a better IDE for Julia (for example, in the case of R the best IDE is clearly RStudio) I’m open to suggestions. Thanks!

Best Regards

Andrea

1 Like

There is a great extension for vs code https://www.julia-vscode.org
and also a Julia kernel for jupyter https://github.com/JuliaLang/IJulia.jl

Both are well maintained and work great!

9 Likes

Many use VSCode so if you like that I suggest you use that (see https://www.julia-vscode.org/ for the Julia plugin).

Last years survey (page 16) show that 35% of users use VSCode, but since that survey development for Juno (40%) have stopped and I think most of those users have moved to VSCode. I would thus guess >50% use VSCode.

But of course you should really use Vim.

15 Likes

Very good! VSCode can act as a Jupyter server, thus using the Julia VS Code extension may give me access to the best of both worlds. I’ll go for it! Thanks

2 Likes

Cool. I have never tried the combination but sounds great. :slight_smile:

1 Like

Many use VSCode so if you like that I suggest you use that

Ok!

Last years survey (page 16) show that 35% of users use VSCode, but since that survey development for Juno (40%) have stopped and I think most of those users have moved to VSCode.

Not only users, but Juno developers too! See for yourself:

Attention : We have decided to join forces with the Julia extension for VSCode. As such, this Atom-based plugin is effectively in “maintenance-only mode” and we expect to only work on bug fixes in the future.

But of course you should really use Vim.

:rofl: not in a thousand years! I still bear the emotional scars from when I had to develop CFD codes on vector supercomputers using Vim…I had enough, thanks :wink:

3 Likes

+1 for VSCode.
For notebooks, https://plutojl.org/ is a great alternative to Jupyter.

4 Likes

It won’t take a thousand years if you use vim :slight_smile:

2 Likes

Atom has been abandoned by Github/Microsoft, and juno is not being developed anymore. I would not recommend a dead end like that.

3 Likes

Personally I find it convenient to have multiple IDEs, for different projects, environments, versions of Julia or even if you switch OS. Using multiple IDES regularly means that you’re used to switching and won’t suffer every time a problem renders your current IDE temporarily unusable (which is quite often). In addition to Visual Studio Code, which is / going to be the main IDE for Julia, I can recommend Atom and IntelliJ which work “out of the box” after you install the Julia extension. (just ignore deprecation warnings and such). You can even run Julia from RStudio. Half the time I simply copy-paste code into the Julia terminal. After you’ve changed the background color and font, it’s not bad either. I run code I find on discourse this way:

2 Likes

True, it may even take longer :stuck_out_tongue_winking_eye:

Thanks, but since even Juno’s developers moved to work on VSCode, I’ll stick to that.

This doesn’t sound like a pleasant coding experience, tbh. Of course, VS Code might suffer by the same issue…I’ll let you know.

I actually find myself using Pluto in a lot of cases where I would have used an IDE before. Since it just produces normal .jl files, unlike Jupyter, it works well for every day editing.

I didn’t know this one! Thanks for the tip.

It’s still the most developed and polished IDE for Julia though. I would recommend VS Code at this point for someone just starting because it has more movement, but its still not at the level of Juno and so I think that’s a rather harsh comment for something that is still very useful.

7 Likes

It’s not very harsh, though, is it? There’s no criticism inherent in the comment, almost the contrary, it’s amazing that it’s still keeping up, for now.

But it is a dead end, there’s no denying that.

I didn’t know IntelliJ supported Julia! Thanks for the tip. I will have a look if I VSCode starts acting weird.

Interesting. I used to be a big fan of RStudio back in the days when I programmed in R. Are you sure that RStudio supports Julia, though? It’s well-known that it supports Python, but I couldn’t find any such sources for Julia. I’d rather not download it if I have to struggle in order to make it connect to my Julia installation. Do you have any references? My OS: I use MacOS and Linux, but I’d rather limit myself to MacOS for now (the Linux machine is a shared server, so I don’t want to install Julia there for now, I’d rather get some practice on my local machine).

I’d rather have the full power of an actual IDE (interactive debugging, code completion, function documentation and jumping to function definition, variables explorer, etc.) than just using the REPL, but thanks for the suggestion anyway!

So, thanks for all the people who contributed to this thread! It’s been very informative for me, and y’all been very kind and helpful with a newbie like me. I’ll install VS Code (and maybe give a chance to Juno, since @ChrisRackauckas put his weight on this one) and then start bothering you with the coding questions :grin: thanks again!

2 Likes

Are you sure that RStudio supports Julia, though?

Not just RStudio, it’s an R package called JuliaCall, which follows a principle similar to pyCall (not to be confused with PyCall.jl).

I’ve used them once out of curiosity. They work well, but having to wrap every command is not terribly convenient.

I’d rather have the full power of an actual IDE

For me that depends: In my office with two screens, I love to use Visual Studio Code (aka vscode), Atom (aka Juno, yes confusing), IntelliJ (and for that matter RStudio), because I can see a bunch of things at once. But on my 15’ laptop I can’t be bothered and prefer to use a simple editor and dump code in the Julia console. But to test how different components of a package are connected, you really appreciate all the gimmicks (or most of them anyways) that come with a proper IDE. There was a Julia extension for Eclipse at some point, but I haven’t heard it mentioned so it must be discontinued.

For reference, this is what these IDEs look like pretty much out of the box.

Visual Studio Code (“Officially” Recommended):

Atom-Juno (Used to be Recommended):

IntelliJ (Just to have Choice):

Yeah I can’t tell the difference either. The layouts are too busy for me on a laptop, but great if you have a wide screen.

2 Likes

For me, an environment with interactive debugging is essential. The one that SGI publishes (published?) is probably the best environment I’ve ever worked in. Use debugging during develop, change one flag, and send the executable to the ones that wanted it. Graphics, delving into structures during program execution, easy breakpoint setups, and etc. were the cat’s pajamas.

1 Like