You can use your favourite terminal editor and the REPL shell mode for that
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).
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.
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.
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.
Letās put it to a vote
- vim
- emacs
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.
For Windows users it is only vim, Iām afraid.
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.
FWIW, I think the community should be just philosophical about this. Itās their loss.
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
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.
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.
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.
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.
Hmm, seems most of my friends areā¦ my family too!!!
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. 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:
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.
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.