Depende de lo que quieras programar, juegos => algún windows con toda la ram que puedas, 1tb ssd y gráfica dedicada, web => cualquier cosa te vale realmente, móviles => macbook porque si quieres hacer cualquier cosa para ios necesitas un mac si o si, también puedes tirar de maquinas virtuales pero lo veo un coñazo.
Yo tengo un macbook pro de 2019 que lo uso para apps móviles y algo de web + lo que hago en clases que es java y python, una cosa que le veo es que hacer que todo funcione en el mac y por extensión en un pc con linux es menos rollo que con windows, sobre todo en temas de comandos en consola y eso, de ahí a que muchos programadores recomienden estos dos SO para cosas que no sean juegos. Logicamente con un mac puedes programar juegos pero al no tener una buena gráfica pues cogea un poco, a lo mejor con los nuevos M1 esto cambia un poco.