Open-source newb-friendly/pro-friendly all-purpose IDE

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:

No git integration so it misses out on the nice-to-have, but SciTE checks the rest of your boxes. It’s a lightweight editor, so it has fewer features than some others, but that also means it’ll run on basically any system. I use it on my main desktop, but also on my laptop.

Durable for 10+ years? Yep, it’s been around since the turn of the century! Independent of the big companies? Check (though, annoyingly, there is an AI company that has the same name - no connection, to my knowledge). HTML, CSS, JS, Bash, Markdown, Python? I use all of those and it does an excellent job. (TypeScript I don’t use but it almost certainly will do well.)

It’s highly customizable. I replaced its “find with files” behaviour with a git grep command, since that suits me best. And you can git-manage your configs, since they’re all .properties files - and you can browse all the default configs, which are all in a directory and easily opened up from within the editor.

Lightweight editors aren’t for everyone, but I really like this one.

1 Like

Spyder core dev here, it seems to check most of your boxes (FOSS, cross-platform, explicitly newbie-friendly/commonly used in teaching but plenty of powerful software development features, been around 15+ years, community developed under a nonprofit, limited Git integration) though it is mostly Python-focused; you can certainly edit code in other languages with basic syntax highlighting and helpers but you’ll need third party plugins and/or custom LSP configuration for full IDE features in those languages (e.g. built-in code execution).

Not sure what error message about having “Matlab” installed it could be referring to, since while Spyder is conceptually inspired by Matlab it has no connection to it. We recommend using the latest standalone installers from our website to avoid most dependency issues; if you could publicly or privately share the exact error message and context in which you received it, I’d be happy to help further.

3 Likes

Spyder is multi-pane, you can display a variable explorer and a (ipython) terminal (multi-tabbed) alongside the code editor.
→ This is great to observe the effect of instructions on variables, on a pedagogical way.
This is my “feel at home” IDE (I do mostly scientifical stuff, I don’t know much about webapp developpement). It is not recommended but I install it with pip without a venv, and it works.

I keep vscodium as an auxiliary IDE when I need more advanced features like browsing external modules, observe differential commits, do a ‘git merge’, …

1 Like