What if I want a simpler IDE for Julia?

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-(+/-) (https://stackoverflow.com/questions/5533110/emacs-zoom-in-zoom-out), 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

Is there a video of vim plus Julia? I cannot visualize what it looks like.
I know of :terminal. Is that what you use?

I tried to find something like this on the web, but no luck so far. Any information you might provide could be useful to those who are unsure of what vim could offer to Julia programmers. (Including me, of course.) Thanks!

3 Likes

I would be really interested as well!
I already installed neovim (on windows 10) and made your init.vim work. But i still struggle to get a good workflow.

2 Likes

It’s a bit old, but it’s a video: https://asciinema.org/a/688g8iyhj1idrtz8ooptr6iso showing Vim with vim-julia and https://github.com/JuliaEditorSupport/deoplete-julia

Or another one (which is more recent): https://github.com/autozimu/LanguageClient-neovim

3 Likes

If you are greedy in the Julia sense of the word, especially if you want for example

  • open source, with a liberal license.
  • speed, low latency, moderate use of resources
  • general, not bound to a programming language, yet good interface to and scripting in Julia
  • clean, modern and transparent implementation
  • native interface on many systems
  • ergonomic, respecting muscle memory from other applications and where up is above down and not left of down

then that editor has to be still created. In the meantime one has to go with one of the solutions offered here.

I just run the REPL in a separate terminal.

I use i3 to manage windows, so it doesn’t make much of a difference to me whether things are in the same window or separate windows, it’s a lot like navigating vim regardless. If you are stuck with MacOS or something, you could always use workspaces. You can find my setup here.

1 Like