What if I want a simpler IDE for Julia?

You can use your favourite terminal editor and the REPL shell mode for that

1 Like

If Iā€™m not mistaken, this was already proposed above, and this didnā€™t seem to solve this question of a ā€œbasic simple IDEā€. And using the ā€œREPL editorā€ (if it existed!) is not the same as using e.g. vim, there would be pros and cons for each. But I will leave this idea here, I could not be totally serious as this is a not existing solution, I was just also curious to understand what the OP is looking for (I didnā€™t bother to try pythonā€™s idle3).

Because itā€™s obvious. The answer is: a thing that does everything I want it to do, nothing I donā€™t want it to do, and never has any bugs. Get on that, would you? (yes, I see @Tamas_Papp beat me to effectively the same joke, but I couldnā€™t resist).

7 Likes

Iā€™m pretty sure that most the people I work with wonā€™t bother using Julia until there is an IDE that is so dead simple that itā€™s practically build for Julia itself or you click one button in VSCode or Atom and suddenly itā€™s a new Julia specific interface. I understand that Juno is basically there, but sometimes you have do something more than just download it to get it working (like set a file path, uninstall old atom packages and reinstall them, etc.). I know itā€™s obnoxious to those of use who spend hours improving things that we see as actually important to code performance and usability, but thatā€™s kind of the bar for a lot of scientists.

It may be worth noting that we are only barely getting to the point where all the features of a data science IDE for Julia are really in place. We now have a really good debugger and we will soon have some amazing plotting. We had plotting before, but it really wasnā€™t anything that people were especially proud of in every way. Iā€™m willing to bet we would have all the components to make a great IDE in the coming year.

All that being said, I have no idea who is going to develop it at this point. JuliaComputing is not currently aiming at the completely non tech savvy market that I described initially. They mainly are solving problems that canā€™t be solved by other languages as easily and other Julia using companies are also solving completely different problems.

1 Like

Isnā€™t this the exact problem that JuliaPro is aimed at? I might be wrong, but my understanding is that it comes with Juno bundled and already setup so thereā€™s no button-clicking at all. Why is that insufficient?

For that matter, JuliaPro is probably the ā€œcorrectā€ answer to a lot of the grumbling in this thread about wanting an IDE bundled with Julia.

6 Likes

Julia pro has its own problems as far as I understand. Iā€™ve often seen threads where someone says ā€œIā€™m having this problem adding packages I need on Julia proā€ and theyā€™re just told to delete it and install regular Julia.

Guys, itā€™s so simple

i3 + nvim + REPL + Revise.jl

And you donā€™t even have to change much for other languages, itā€™s always just i3 + nvim + terminal.

5 Likes

Letā€™s put it to a vote :slight_smile:

  • vim
  • emacs
0 voters
3 Likes

To be clear I think youā€™re probably right for the vast majority of cases butā€¦

Thatā€™s not a simple download without any problems. Iā€™m talking about people that canā€™t handle any errors that arenā€™t completely their own fault.

I only commented because I saw that after Friday people still were talking about this. My comment is only aimed at solving the specific case I mentioned because it seems to keep coming up and Iā€™ve never seen any thread that entartained the possibility of addressing these sorts of people.

As it stands I agree with the popular opinion that most developers involved in Julia shouldnā€™t worry about making an IDE. Until someone is on salary to just develop GUIs in Julia it doesnā€™t make sense for the mathematicians and computer scientists that make the majority of Julia contributions tonwaste there time on it. But we canā€™t ignore that there would be some benefit for a specific set of people.

2 Likes

For Windows users it is only vim, Iā€™m afraid.

1 Like

And because the thread is popular and everyone loves bragging about their editor:

What tools do you use for developing you Julia code?

  • emacs
  • vim
  • Juno
  • VSCode
  • Sublime Text 3
  • JupyterLab
  • Jupyter Notebooks
  • Revise.jl
  • OhMyRepl.jl
  • Joy.jl
  • A separate shell with a running julia process

0 voters

If I forgot your favorite tool, please let me know.

1 Like

FWIW, I think the community should be just philosophical about this. Itā€™s their loss.

6 Likes

I do think that the setup story in VS Code is pretty close to that: you click on the button for extensions, you type in julia, you click on ā€œInstall extensionā€ and that should be it in the vast number of cases. On Mac and Windows we reliably find Julia (if it was installed in a standard location, which seems a fair bet for novice users), and on Linux it should also work if julia is on the PATH.

In terms of setup, that is it. The extension wonā€™t try to install further extensions, it wonā€™t try to install Julia packages or anything like that. We go through a lot of hoops internally to achieve that, but in the end we have a complete xcopy deployment story. By completely avoiding any setup code, by definition no setup code can fail :slight_smile:

The problems we have right now is that the language server is not as stable as one would hope. We have all the bug reports, and Iā€™m pretty optimistic that once @ZacLN and I have more bandwidth again weā€™ll be able to just fix that, the issues there are really individual code bugs, not some big architectural problem

At times Iā€™ve been thinking whether we should maybe just ship julia itself as well as part of the extension. Iā€™m not sure whether that is a good idea, and even if it is, we would probably need to wait for some further features on the VS Code extension installation front before we could consider that. But if we were to do that, it would take another step out of the user experience for novices.

5 Likes

From my experience with R, I know that people that are new to programming or are scare by the terminal, had a much easier path to using R when RStudio was available. It made more sense to them. Iā€™m talking about biologists without any coding experience that I was trying to move into R back in the day. A postdoc actually said to me: ā€œI tried R before and hated it, but this RStudio thingā€¦ā€. That said, RStudio is itā€™s own company, development is uncoupled from the language (although growing in influence) and I guess weā€™ll have to wait if someone feels that a dedicated IDE for Julia a la RStudio makes business sense.

In the meantime, there are several options, with different pain points. Iā€™m happy with Juno, but Iā€™m not a computer scientist that know emacs or vim. VSCode looks cool when Iā€™ve seen in use, but I just donā€™t want to change again. And Iā€™ve been following some thread about Sublime3 that sounds interesting. I agree with @Tamas_Papp that having options is better and that and ā€œofficial IDEā€ shipped with the language is, overall, not a good idea.

1 Like

I am somewhat surprised that you think it is necessary to be one. Both are extremely well documented, eg Emacs has a built-in tutorial, you just work through it and develop from there, and search for stuff that you want to know.

Sure, itā€™s an investment, but it does not involve anything difficult. Also, learning Emacs or Vim gives you skills that last for a long, long time ā€” while both are being developed actively, a user of either from, say, 1995 would be productive in todayā€™s versions from the first moment.

4 Likes

Oh no, I donā€™t imply that. Iā€™m sure they are like any other editor. I just think that people in computer science, or early interest in how computers and programming works, get exposed to those tools early. I grew up thinking Word and Excel were great and hated using Notepad. Obviously all that has changed.

Iā€™ve been curious about Emacs and vim, but Iā€™m not such a power programmer and I donā€™t really code for a living, so Iā€™m happy with my tools.

1 Like

Hmm, seems most of my friends areā€¦ my family too!!! :crazy_face:
Appreciate the suggestion of Auctex by you and @non-Jedi, starting to look at that, am using TeXstudio on top of TeXLive now. Didnā€™t seem a good option back on Win but may be best choice now.
After firing up Emacs last night, found myself searching for how to enlarge font to be readable, learning itā€™s Ctrl-X/Ctrl-(+/-) (emacs zoom in/zoom out - Stack Overflow), seeing Melpa for 2nd time ever (1st in this thread), and working to grok major/minor modes.

SWIM heard folks here werenā€™t fighters, so thought maybe itā€™d be a safe question. :innocent: Seemed to fit with this thread and hard to find answers in the wild. The impromptu poll is interesting with the even split, helpful. I did watch this Tube by Max Cantor a couple weeks back trying to understand all this:

I believe learning vim and/or emacs is a huge distraction and a mental burden for most users.

I keep hearing people saying that they are still learning new stuff after using vim for 10 years. A good editor/IDE should make coding as effortless as possible.

This stack overflow post shows exactly what I mean:

2 Likes

Thatā€™s exactly what vim does after a week or two of getting used to it. If there are extra features that you may not use, so what?

Itā€™s ridiculous to expect the option of editor which most caters to instant gratification to be the best editor after a little bit of real use. Nor does that mean that you have to get a PhD worth of knowledge in emacs or vim for them to be useful. Read an intro blog, keep a cheat sheet in front of you, and relax. After a week or two you wonā€™t need it any more, and youā€™ll wind up with something that doesnā€™t require you to navigate tons of clicky menus.

3 Likes

I think you may be misunderstanding a few things.

First, exiting vim is something one learns in the first 5 minutes, and ā€œstrugglingā€ with it applies only to people who didnā€™t want to use vim and got there by accident (it used to be the default, but most modern distros supply something else these days; eg nano in Ubuntu).

Second, the fact that you can learn new things in Emacs and vim after 10 years simply means that both are very powerful, customizable tools. It does not mean that you are learning basic editing for 10 years; that you can pick up in a few hours, and commit to muscle memory within a week (YMMV).

To be clear, I am not advocating that everyone uses these tools ā€” people have heterogeneous preferences, and everyone should just use an editor they like. But it is an important choice for productivity, so it advisable to do a bit of research and experimentation, instead of relying on myths.

13 Likes