Pluto or VSC for beginner

Progressing my exploration of Julia trough the ML/Surrrogate model creation goal, I started from the beginning using Pluto after a short period with IJulia.

After going trough different tutorials and experiments, I’m feeling less comfortable with Pluto, that is always very slow and confuse me with his own package management system that creates often incompatibilities.
Of course a more experienced user will probably understand this problems but are very time consuming for me to troubleshoot, having also little time to do this learning.

So far my work didn’t need frequent sharing with others (not a teacher nor a researcher) and in the future the goal will be probably execute the code on a cluster with SLURM workload management, something I think will be preventing using Pluto.

So I re-installed VSC and wanted to ask if in current status there is any drawback in term of learning/feature limitations using this.

1 Like

I think Pluto and VSCode are both valuable tools for a beginner in Julia.

In Pluto, you can focus more on the interactivity with the code, where you can produce notebooks filled with equations and code that solves those equations. Add a few sliders and you can quickly gain further insight on your problem by changing certain parameters.

On the other hand, you would use VSCode to produce more “serious” code. What I mean by that is that, while Pluto is great for short demonstrations, you do not really want to use that to create a module with functions. In VSCode you can divide your functions into different files and have a really nice workflow for developing modules if you use Revise.jl.

So the choice just depends on what you want to do. In my opinion, learning both is beneficial and you just stick to the one that fits your current task. Also, take into account that Pluto uses his own package manager, which means that every time you load a Pluto Notebook it has to download and import the packages. This behaviour can be modified to instead load a local environment so you do not have to run this lengthy process everytime.


The Pluto package manager is probably what is killing my desire to continue using it.

Always need ages to re-download everything, if I need a custom package I got many times things not working anymore mixing built in and external packages even trying to clean up the mess, so that need to basically re-build the notebook from scratch.

I wanted to happily test the interactivity but again some package problems prevented me to experimenting this path. I didn’t have big projects so far, but need some behavior I can understand and manage.

If VSC is able to display Plot and Makie graphs as it seems in my last 30 min testing, I think will stick with it up something is urging me in revert to Pluto.

I completely agree with RaleighLords arguments, but would like to add another, for me, rather disturbing feature of Pluto.

Pluto continuously overwrites/“updates” your file on disk. Inevitably you will once, this happened to me, by accident or even deliberately delete multiple cells. No way to retrieve you work, unless you made by hand a backup of your pluto file before working on it.

A kind of multi level “undo” into the Pluto is in my opinion necessary. I used it for some time, but for now it’s more of a toy tool to show off Julia in a admittedly very elegant way.

The Pluto package manager is disabled if you simply add iimport Pkg; Pkg.activate() to the start of your notebooks.