Thanks for clarifying! I can totally see where that sort of stuff can really mess things up.
My experience with development environments has been a bit better: Node works out of the box, no problem. For Ruby, the workflow took a little setting up (with bundix), but ended up working very reliably. For R, I actually enjoy that I can set up all my packages with home-manager and they get updated in my regular update cycle and it’s not a separate process altogether.
That seems to be a common usage of the term, but strictly speaking, “userspace” is anything that’s not the kernel. This includes system-level programs, libraries and settings configured as “root” that can affect all users.