I used to maintain my own Emacs config, but I switched to Doom years ago and never looked back. I appreciate the community aspect that lets it be better integrated and tested than I had time to manage on my own.
I use it as my primary environment for everything you mentioned and its excellent. The initial setup is fairly easy too.
And because it's Emacs, if there's something you don't like, you can change it! 😄
Cool! Give it a go!
Do you know about the Emacs Wiki? It was a pretty good resource many years ago when I had my own config. Not sure how it is these days though, but you might find some useful stuff there.
As for Spacemacs, I never got into it. At the time I found it more complicated than my own setup and a bit more confusing. I know a lot of people liked it though, and it was the first starter kit I'm aware of that really took off, so it might be worth a look!
For language support, the response will depend on your needs/expectations. If all you want is highlighting, it will probably work out of the box. For advanced features, you'll need to look at Eglot or something like lsp-mode
Yes org-mode is an excellent alternative to markdown. Emacs offers a ton of features out of the box related to org-mode. However it is intrinsically tied with Emacs, so if you aren't sure about Emacs, then I wouldn't suggest using org-mode as a replacement just yet. I do encourage you to give it a shot though!
If you're new(ish) to Emacs, I would strongly suggest using a kit like Doom Emacs. It sets up some modern defaults, and makes it far, far simpler to set up a good environment for whatever languages you want. And the wonderful thing is that you can keep using Doom!
Base Emacs 29 will do a lot for you in those areas, especially with rust-ts-mode (Treesitter powered Rust mode), Markdown mode, Company (a completion tool), and Eglot (lsp server client). I also recommend adding Which-Key to help figure out the bindings in different modes. Built-in eshell is great for scripting / terminal needs.
For a kickstarter config, System Crafters' is pretty nice and will mostly keep you to built ins with good documentation of why they chose things. https://github.com/SystemCrafters/crafted-emacs/ and they have a Rust example config using their modules in their examples.
Doom Emacs and Space Emacs are cool too to show some possibilities and get a full featured ide earlier, but there those setups due add their own learning steps.
I haven't touched it in a year or more and it looks scary. Like wtf is all that dap stuff. Surely that shouldn't be in my init. Do I even use that anymore? And why have I written my own function to handle the tab key??
If you get anywhere, please update us so that this isn't what people find in this thread.
And as a heavy Markdown user, I initially built my config around Markdown. But several years later I've found I now use org-mode almost exclusively instead. They both fill the same niche in my workflow, but org-mode can do a lot more.