Emacs more like a platform like DOS or the Terminal/Shell/TUI combination than an editor like Vim/Micro. The wealth of libraries, all centered around the concept of buffers and windows, make it easy to integrate pretty much any other tools.
Is it an REPL? use comint.
Is it a tool that act on text files (lint, test,...)? Use compile
Do you need input with completion? Use the minibuffer.
Do you need multichoice selection? Use a buffer and mark stuff (there's a mode that you can extend from if you need to display tabulated data).
Do you need to define flags on the fly? Use transient.
Network request? Calling shell command? A combination of all the above? Emacs got your back.
And because it's a live programming environment, you can start quickly with a prototype (or just altering stuff) and then tweak things until you have a proper package.
Is it an REPL? use comint.
Is it a tool that act on text files (lint, test,...)? Use compile
Do you need input with completion? Use the minibuffer.
Do you need multichoice selection? Use a buffer and mark stuff (there's a mode that you can extend from if you need to display tabulated data).
Do you need to define flags on the fly? Use transient.
Network request? Calling shell command? A combination of all the above? Emacs got your back.
And because it's a live programming environment, you can start quickly with a prototype (or just altering stuff) and then tweak things until you have a proper package.