Actually, Emacs is a low coding editing environment, because the strength of emacs is that once you can program it it's extremely easy to write extensions for it, even for one off tasks, because it's so quick and easy.
Compared to this writing extensions for vscode, for example, is much more convoluted. You wouldn't create a new vscode extension for a 1 hour task, while with emacs it's trivial to write some small code which can help you with your current task. I often do.
Hmmm really? Can you point at some information so I can learn quickly how to add a non-trivial extension? Genuinely would love to, but not sure where to start!
The way I see it, in Emacs it's less an "extension" and more of "I have this problem, how do I solve it now using elisp?".
So basically, your develop the solution bottom up. You can pretty much write an elisp function anywhere in emacs (in the very file you are editing, in the already open scratch buffer, in an elisp popup shell) and test the function incrementally. Also, the extensive in-built help system lets you very quickly lookup functions that you need.
Once you have something that solves your current problem, you can save it, if you want. Over time your custom collection of functions improves and then you decide if something there needs to be generalized or made into a package.
Obviously this needs some basic elisp knowledge and then just practice over time.
Compared to this writing extensions for vscode, for example, is much more convoluted. You wouldn't create a new vscode extension for a 1 hour task, while with emacs it's trivial to write some small code which can help you with your current task. I often do.