Best for what?
On one hand a person might say the best OS for coding is the one that needs the least maintenance and never crashes, but still provides a large selection of reasonably up to date software. In which case my suggestion would be debian 100%. Which desktop? Whichever one floats your boat.
On the other hand a person might say the best OS for coding is the OS that is transparent and flexible enough so that it's very easy to customize and modify. In such case I would suggest gentoo linux, though the is a significant learning curve to it if you've never used Linux before. Even if you have, it takes some getting used to, but it's package management tools are the most powerful and flexible of any linux distro, and it's compilation from source lets you squeeze a little for performance out of code, while increasing your system flexibility.
And then yet on the other hand a person might say the best OS for programming is the one most compatible with third-party tools. In which case you would want Ubuntu, but Ubuntu does a lot of stuff in a weird way, and siphons personal data off to a corporation. So really I would suggest Linux mint, which based on the Ubuntu distro so it should be able to run almost all of the same third-party tools.
Hopefully your idea matches one of the scenarios I describe above, if not well, ask the question again and clarify you criteria of what you think makes the best. Many of the linux distros are best at one niche or another.
Anyways as mentioned earlier your choice of desktop environment is going to have a bigger impact on your day to day experience than the underlying distro. I reccomend gnome3 (or varients cinnamon and unity), KDE, or xfce. You can install multiple desktop environments on a distro, so don't feel stuck with the default, play around with them until you find something that clicks with your brain.