Bespoke IDE for Julia desperately needed!

I continue to search for handy, stable IDEs for Julia. I could not get JupyterLab to work properly with Julia on Mac or Linux (endless issues and bugs, all known and documented but still there) and the recent attempt to create an add-on to PyCharm is a mess, so I had been using Atom/Juno, even though it is unusable on my Ubuntu machine (key mapping errors, also known and unfixed since 2018!), but had been working (just about) on my Mac.

Unfortunately after an upgrade to Julia 1.4.1, Atom and the julia client became incompatible (known mutual upgrade issues marked as resolved but not resolved as I applied the suggested fixes without success.)
I seem to be spending (wasting!) hours a day trying to fix/resinstall buggy/incompatible IDE’s rather than getting actual work done.

At the moment, the best I seem to be able to do is to run Julia in an Emacs shell, which is clunky, but at least reliable.

Isn’t it time there was a (stable and coordinated!!!) bespoke IDE for Julia?

I will keep an eye on this space to see if someone has found one.

Thanks

1 Like

With eglot, I get full IDE-like features in emacs with the exception of a builtin debugger. Along with emacs-jupyter for my REPL I find almost nothing lacking in my Julia IDE experience. Would it be helpful to post a screencast of the various features this gives me and a minimal emacs config to enable them?

8 Likes

Hi , I found VScode to be the most stable and excellent for large projects. The IntelliSense is excellent. But the debugging tools are still experimental, but I have no doubt that in the next release the debugging tool will be working all smoothly.

6 Likes

Various options exist for Emacs, see the discussion here

Possibly. Feel free to go ahead and write one. :wink:

4 Likes

Thanks for the suggestion about eglot and emacs-jupyter.

Being a longtime emacs user, this would be my preferred solution, but I had previously tried to go through the lengthy and complicated installation procedures for these on both my Mac and my Ubuntu machines and was not able to get them running on either. Your suggestion about a screencast is great, especially if it helps clarify (simplify?) the installation part.
Also, it is good to see your recommendation because it indicates that spending time to get this going could be worth it.
Perhaps while I am waiting for your screencast, you might suggest the best link for me to have another try myself?

Thanks again

Thanks for your suggestion. As I mentioned above, I probably prefer emacs-based solutions, but I do like to explore options. I had been interested in the VSCode option some months ago and had tried to install it, but had not been successful. I am very bad at system administration, and I struggle at installations that go too far beyond dragging a .dmg to ‘Applications’ or using apt install or ] add. If you know of a good, simple guide to installation on a Mac, I will try again.

Thanks!

What does that mean? Do you have a link to those issues?

3 Likes

You mention Mac and Ubuntu. Maybe it helps to take one step backwards.
What field of work are you involved with?
What platform will your code run on in production?
I really am not being rude by asking those questions. I am a Solutions Architect - so I like to ask why first of all. Then we look at the solutions.

Thanks for the suggestion. Does your comment refer to removing inferior-julia from Juno or one of the other suggestions above on this post?

About writing an IDE specifically for Julia, I am sorry you (it seems) resent my suggesting the possibility. You would not want to use an IDE written by me.

I make the suggestion because so many people seem to be working on IDE’s for Julia already as ‘add-ons’, but doing a bespoke one (I was excited when I first saw a listing for Julia Studio in my internet search, but disappointed that it had been dropped).
It is just that the most successful IDEs I have seen for other programming languages have all been (originally) bespoke, like PyCharm, RStudio, Spyder, etc.
At the moment, in the IDE-space, Julia is mostly being treated as a little brother of Python and being given ‘hand-me-downs’ that almost fit but never quite do. Given all this effort is being expended by people on this already, I am wondering why none of them consider taking a look at it all from the point fo view of Julia itself as a starting point?
Just a thought.
Thanks

Do you mean you didn’t manage to install VS Code itself? I think if you go to the VS Code homepage, there should very centrally a button with a download link and some instructions on how to do that.

Do give the VS Code extension a shot, we have spend a huge amount of work trying to make deployment as robust as possible and I generally think that part of the extension has been working really well over the last couple of years (i.e. we have hardly any, if not none, complaints about configuration or setup problems).

6 Likes

After upgrading Julia, I started getting errors saying that the Julia client and the julia version were not compatible, so I upgraded everything else and Atom completely broke (something to do with the package called ‘ink’ apparently) so I reinstalled Atom and (as suggested on discussions) started trying to use apm instead of using the GUI but never got going properly again.
[I forgot the exact syntax of the error message, but when I typed it into google I got a whole page of recent hits]

Anyway, thanks for your interest. If you have any suggestions I will try them.

Thanks, I will give it another try, and let you know (perhaps a hint or two to get going!).

If the automatic upgrade failed I’d recommend you give the manual upgrade instructions a go.

Perhaps you missed the context (it is about the Emacs mode, and the issue incidentally enumerates the known solutions people use to interact with Julia from Emacs). One of them might solve your problem.

Not at all — feel free to write one. I just don’t quite see the point of exhorting other people to do this.

You may not realize this, but writing and maintaining a modern IDE is a lot of work. Very few languages seem to have a viable community to do this alone. Also, there is little point in doing it: a lot of functionality can be shared between various languages.

Please keep in mind that by phrasing it like this you are belittling the contributions of a lot of people who worked on Juno/Atom, VSCode, Emacs, Vi, etc. You may consider these “hand-me-downs”, a lot of people here just use them for daily work and find them convenient.

Possibly because they would not wish to reimplement a lot of the functionality for no good reason, and prefer programming Julia instead of TypeScript/JavaScript, C/C++, etc.

If you are dissatisfied with the existing IDE solutions, you may want to consider contributing effort or money to improving them. They are written and maintained by people like you: very few of us are experts in CoffeeScript/TypeScript, Emacs Lisp, VimScript, etc. We just learned the bits necessary to interface with Julia, which you can also do.

8 Likes

The debug function of VSCode-Julia (v15.30) has been improved greatly compared with version released in March. I use Julia for my daily work and the debug function is relatively stable now.

Hi Thanks for your suggestions. I have been using apm instead of the Gui menu to update everything and have run ] up Atom Juno in Julia.

Now I am getting:

Failed to load the atom-julia-run package

Cannot read property ‘terminal’ of undefined

[This issue has been reported]

I had not heard of atom-julia-run but I uninstalled it and installed it again, but it did not help.

Thanks for any suggestions.

That package is not part of Juno and I’m not sure why you’re trying to use it – afaict its functionality is part of Juno already.

I never before selected it for installation and never heard of it until the error.

Can I safely uninstall it, then?

Yes. I don’t know how you ended up with it either :wink:

Thanks. I uninstalled it and all seems to run OK now.

1 Like