They get a lot of hate, but tiling window managers are my secret sauce to hitting flow state. Any "work" device I use gets an install of i3wm with my keyboard shortcuts and dotfiles installed, designed so I spend as little time as possible with my hands off the keyboard. Maybe there's a "hackerman" meme to be made here, but minimalism is your best friend when you're trying to build a productive setup.
Perhaps even weirder, I don't particularly proselytize for one IDE or another. For command-line editing I use micro, which has the most natural feeling keybinds to me and loads in a flash. If I need a more robust workspace I'll usually reach for VS Code, or god forbid Intellij if the project is particularly hairy. In any case though, I think the biggest roadblock to staying productive is having a streamlined desktop. I've come to despise how Windows and MacOS in particular handle windows, it's a particularly distracting and annoying affair trying to reposition things every 30 seconds when a new window gets added to the mix. TWMs prevents you from doing the awkward dance between keyboard and trackpad/mouse.
Language-wise, I feel most productive writing Rust, Bash and Python. C/C++ are fine as well, but Rust is really good about catching errors before you hit compile time, and the overall structure of the language discourages you from making the kinds of mistakes that you'd otherwise be forced to catch in Valgrind. Again, it's mostly a matter of personal preference, but that's the way I roll when productivity is the table stake.