Hello -
I’m curious what open-source code editor (IDE) you would recommend for working with Python & web-apps.
Requirements:
- Open-source
- Works on Linux, Windows, and MacOS
- Easy for newbies to use (in a teaching environment, with the purpose of the students using a tool they will continue to use beyond the class)
- Solid for experienced pros to use day-to-day
- Works great for Python
- Works great for HTML, CSS, JavaScript, TypeScript, BASH, Markdown
- Independent of Microsoft, Google, OpenAI
- Durable for 10+ years
- Decent git integration - Not necessary, but nice
Editors I have tried recently
- VSCodium - I’ve been using this as my primary driver for a year, however I have some frustrations: (1) Heavy hangs when dealing with venv (I have it ignored by .gitignore, but it seems like some processing or indexing happens), (2) I see “Co-Pilot” creepin’ in, which I am not interested in, (3) I get frequent requests for network/listener access, requests to vaults - I haven not figured out how to disable this, but its jarring to me that it’s the default. From experience, I have learned not to rely on Microsoft tools. And since GitHub & VSCode are a Microsoft stack, I feel compelled to support high-quality alternatives.
- Emacs: I gave this a fair shot a year or two ago, and I just could not figure out keyboard shortcuts, plugins, window management. I’m sure there is genius in there - given the (considerable) time and effort, didn’t feel natural to me. And I really wanted to get into org-mode. I also experienced slowness/lagginess, which I thought should not be happening on my fast MacBook + Terminal… Not great for newbies.
- Eclipse. I give this a try every 5 years or so, just to see if things are easier or simplier to use, and what the sluggishness factor is. Not only did it feel sluggish (impressive), but it just doesn’t feel newbie friendly - too much to explain.
- Mu: I had never heard of this, but found it on a search. It’s simple and seems like it would be great for getting newbies setup for Python. However, since it’s Py-focused, and I use my IDE as my all-around everything editor, I don’t think it can handle web-app/HTML/Markdown/SQL editing. Very cool tool though - and i’m going to explore it more, especially for Python only uses
- Spyder: IDE for Scientists! Looks interresting. When I loaded it on my Mac today, I got errors of about not having Matlab installed (sorry…?), and the interface didn’t feel easy to jump into.
- Vim: In a general sense, we all need to invest time-in-the-boots into Vim, especially if you’re using Linux regularly… so I have considered quite a bit - “What if I just go all-in to this?”, but on the contrary, I’m so frequently in GUI environments, I have expectations that I would be able to have a good code/text editor in there… And Vi is NOT newbie friendly.
- Sublime: I remember loving this text editor - and I haven’t used it for awhile, but I seem to remember that it’s not open-source…? Thoughts?
- Geanny: On my Linux machine, I’m running XFCE and tried this. I can’t remember my last experience with it. Open to evaluate again.
- BlueFish editor: It’s been awhile since I tried this, but I seem to remember playing around with it, and then uninstalling it. Open to evaluate it again.
Re Newbies. There are many different flavors of newbies. For some people I work with / teach, it’s the first time they are opening a Terminal, or writing a line of code. You really get to “feel” the user pain here for janky software.
And then I count myself a newbie! What I mean is - some times in my job, I’ll spend so much time working in the maker-space (CNC routers, Laser cutters, FreeCAD, etc) that I’m out of the code world for awhile. And then 2 months later, I get the 8PM coffee going - and you know how it goes. Terminal’s open. Then, its a text file of notes. Then it’s a BASH script. Then a Python script. A few Markdown notes. "This is working, should probably be in a repository… "and “how I can serve this as an app…” etc. In these moments, I ALSO feel the pain - forgetting essential git “how to un-F this repository” commands, need a solid file-tree view. Refactor-rename the variables - and there you’re happy to be in an IDE… On Mac, I actually like keeping GitHub Desktop around for this - just visual enough, and people can get it.
I’m really curious what editor people suggest. Like I said, I’ve used VSCodium as my “solid default” for the past while, but I’m really curious what else is out there, especially which can align well with my principles, and reality on the ground.
Related threads: