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.
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?
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.
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 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.
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.
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).
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.
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.
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.