Gracias por el A2A.
Ok, en primer lugar déjame mencionar algo que la mayoría de la otra respuesta parece pasar por alto: programar no es igual a programar. Por tanto, depende de lo que realmente vayas a desarrollar.
En segundo lugar, he explicado muchas veces, lo que es y hace Linux. Linux es un kernel y todas las distribuciones de Linux lo utilizan. Por lo tanto, las distribuciones de LINUX. Es decir, no hay una que sirva para todo, más ligera, más rápida, mejor o más bonita. Las distribuciones de Linux no son sistemas operativos fijos y definitivos y no son como Windows. Las distribuciones de Linux son conjuntos modulares de herramientas que se adaptan a los propósitos, gustos y estilos de trabajo individuales. La cuestión es encontrar la que más se acerque a tus necesidades individuales y ajustarla a tu propósito individual para que sea la mejor, la más rápida, la más ligera, la más productiva y eficiente para TU PROPÓSITO INDIVIDUAL. Lo he dicho muchas veces a estas alturas.
Las otras respuestas tienen algunos puntos válidos. La mayoría de ellos, por desgracia, también se pierden algún punto vital o se equivocan.
Porque mientras que la mayoría de las distros de Linux proporcionan una gran cantidad de herramientas para el desarrollo, no todas son iguales y proporcionan lo mismo.
Si te gustaría desarrollar sitios web y aplicaciones web y consideras que la programación, es probable que encuentres un editor acorde en los repos por defecto de casi todas las distros de Linux.
Si te gustaría desarrollar aplicaciones para Android, probablemente encontrarías Android studio y cosas como Java en los repos por defecto de la mayoría de las distros.
Sin embargo, si tu idea es ir al desarrollo de sistemas, una distro que esté muy atrasada podría no ser la mejor opción. Así que, los que han sugerido Debian, ya podrían estar equivocados.
CentOS es otra mala idea. CentOS es el equivalente no soportado de Red Hat Enterprise Linux y, por tanto, una distro que se supone que se usa con servidores. No para el desarrollo.
Fedora por otro lado no es realmente lo mejor para el usuario medio, pero en este contexto particular una opción interesante. Porque Fedora es upstream de Red Hat Enterprise Linux e implementa la nueva tecnología de forma temprana. ¡Por lo tanto, es básicamente un entorno de pruebas, si quieres convertirte en un desarrollador acorde.
Una sugerencia que no he encontrado aquí, para mi sorpresa, es GENTOO! Porque Gentoo compila la mayoría de los paquetes desde el código fuente. No sólo permite una personalización adicional, sino que realmente es una gran opción para los desarrolladores interesados en el desarrollo de sistemas.
Otra opción interesante no es tanto una distro como la base de LINUX DESDE CERO. Lo cual, de nuevo, permite adquirir un vasto conocimiento del sistema.
Dicho esto, Arch Linux también lo hace. También ofrece vastos repos y por tanto amplia aplicación. Pero no estoy seguro de que sea el más interesante para el desarrollo. SÍ, yo uso Arch y estoy contento con él. SÍ, hay un desarrollador del kernel que he mencionado, que usa Arch y está contento con él. PERO, aunque Arch te anima a profundizar en el sistema, no es tanto para el desarrollo, sino que, a diferencia de Gentoo, en realidad te mantiene al margen. Así que, volviendo a las raíces, si sólo quieres crear sitios web y aplicaciones Android, Arch sigue siendo genial. Pero si quieres convertirte en un desarrollador de Red Hat o en un hacker del kernel, puede que te convenga más Fedora y si quieres llegar a las raíces del desarrollo de sistemas y aplicaciones, Gentoo puede ser otra opción interesante.
Depende mucho, de lo que signifique para ti "programar". Pero una cosa está muy clara: la pregunta, aparte de no ser lo suficientemente clara, es muy válida sin embargo. Porque opciones como Ubuntu no ofrecen realmente el mismo soporte y beneficios para los desarrolladores que algo como Gentoo, Fedora o LFS.