Respuesta corta no.
Respuesta larga, depende.
Es cierto que les dije que no necesitas un Mac para ser un programador moderno, y lo sigo sosteniendo. Pero quizás ya no estoy convencido de que eso signifique que puedes usar Windows.
Probablemente, si lo tuyo es hacer aplicaciones para Windows usando .Net, o de repente eres uno de esos “locos lindos” que aún usan Delphi, entonces Windows es lo tuyo. Pero si no, te recomiendo usar Linux. En serio.
El año pasado estuve haciendo clases de DevOps y me di cuenta de que los alumnos que usaban Windows tenían bastantes problemas. Lo mismo me pasó cuando hice clases de programación para alumnos de pregrado. Descuidadamente, recomendaba que usaran WSL-2. Pero la verdad es que no tenía una experiencia de primera mano, así que ya no lo recomiendo.
Verán, hasta el 2010 yo era un usuario Windows; sin embargo, cada vez tenía más problemas en mi flujo de trabajo, porque cada vez más lo que desarrollaba terminaba corriendo en algún servidor Linux, ya fuera que estuviera escrito en Java o en Python.
Entre 2000 y 2006 aproximadamente desarrollé mucho para .Net, y antes Delphi era la herramienta con la que me batía sin problemas (como conté acá). Pero el mundo cambiaba, y en 2011 compré mi primer Mac y no volví atrás.
Cuando necesitaba algo de Windows usaba Parallels, pero cuando tienes un procesador ARM de Apple, como un M1 o M2, ya no es posible instalar WSL-2 (creo que la nueva versión de Parallels lo va a soportar en Sequoia). Así que mi recomendación era teórica.
No obstante, hace unos meses decidí probar Windows 11 directamente, sin virtualización, y ver que tal estaba para desarrollar. Además, tenía ganas de probar esos nuevos procesadores SnapDragon, así que me hice de un Laptop Microsoft Surface. De esos que vienen con el botoncito de Copilot.
El notebook es una maravilla, y confirma mi opinión que Windows es un sistema operativo bastante útil para jugar, el consumo y productividad, no obstante para desarrollar es más limitado.
WSL-2 es un mal chiste, porque lo que hacen es instalar una máquina virtual con alguna distro de Linux, usualmente Ubuntu. Si vas a terminar haciendo eso para poder programar, mejor trabaja directamente en Linux.
Si trabajas con .Net y Visual Studio, vas a estar bien, y aunque Node, Rust, Go, Python y Java corren nativamente en Windows, la verdad es que la experiencia no es la misma, y a veces hay cosas que se vuelven muy complicadas.
Un ejemplo, yo hoy en día uso bastante Neovim y tmux, y configurarlos en Windows nativo es posible, pero hay que lidiar con la idiosincrasia de nombres de este sistema operativo. La solución es configurarlos en WSL-2, en el entorno virtual Linux que tiene, pero ahí te vuelves a preguntar que porque no tener instalado Linux en vez de Windows.
En suma, no existe una experiencia nativa en Windows similar a la que tienes en Linux, o en Mac (en Mac eventualmente vas a tropezar con algunos problemas, pero son bastante menos que los que te provoca Windows).
Cuéntame tu experiencia, quizás no estás de acuerdo conmigo, pero yo, al menos por ahora, mi recomendación primera va a ser que primero evalúes siempre primero usar Linux o Mac. WSL a mí me parece que es hacer trampas en el solitario.
Yo me cambié a Mac el... 2008? Cuando salió Snow Leopard (una maravilla), y nunca pude volver atrás, mi workflow se simplificó a usar Spotlight (Cmd + Space) para abrir apps y documentos. Además que tener un terminal Unix nativo es otra cosa. Curiosamente no me pasa lo mismo con el iPad ni con el iPhone, nunca enganché y sigo siendo un usuario Android.
Estoy de acuerdo, le he dado la oportunidad 3 veces a windows para desarrollar, siempre he vuelto a Mac o linux. Pero debo reconocer que cada intento creo que estoy más cerca quizás en le cuarto intento lo lograre. Creo que windows está mejorando ( no puede decir lo mismo de macOS).