Introducción
Últimamente he estado probando Linux Mint y Ubuntu, y también probé alguna distro de Linux hace algunos años. En aquel entonces no me interesaba la programación, solo me gustaba trastear, y siempre llevo conmigo un USB con Puppy Linux. De verdad que lo intento, incluso ahora que sé programar mejor y le doy otra oportunidad, me encuentro siempre volviendo a Mac o a Windows.
Actualizado el 6 de mayo de 2025:
La primera parte es para principiantes en programación. Si ya estás familiarizado con la programación, salta a esta sección para leer la opinión de un compañero programador.
Empezar a aprender programación
Conclusión
Usa Mac, y te contaré por qué desde mi experiencia.
Por qué no Linux
- Dificultad
Mac es un sistema operativo de consumo, lo que significa que muchas de sus funciones e interfaces de usuario son muy fáciles de usar. La mayoría de las aplicaciones tienen un instalador que descargas, haces clic, instalas y listo.
Linux, en cambio, es en gran medida basado en texto si quieres hacer cualquier cosa con tu PC. No creas a quienes dicen que Linux Mint se parece mucho a Windows. Hasta cierto punto lo es, pero si alguna vez quieres instalar algo que no venga integrado o que no esté disponible en el gestor de software (y lo harás), tendrás que averiguar todos los cómo, buscar y probar los comandos que a otros les funcionaron pero que quizá a ti no, solo para instalar un programa sencillo que en macOS y Windows está a un clic de distancia.
- Consume tiempo
Siguiendo con el punto anterior, si alguna vez intentas instalar algo, tendrás que pasar mucho tiempo trasteando. Sobre todo, buscando las alternativas que conocías en Windows o Mac y que no están disponibles en Linux. Eso suena genial y todo porque la mayor parte del tiempo trabajas con código usando la Terminal, pero la cuestión es que puedes usar todo ese tiempo para construir algo ya con código, como JavaScript, React, SQL, Python, etc. El código que usas en un trabajo o para crear un sitio web o una aplicación. No digo que no vayas a usar bash, simplemente no es necesario.
- Contratiempos del sistema operativo
Si compraste un dispositivo que incluye Linux de fábrica, genial. Si instalas una distro de Linux en un dispositivo que originalmente ejecutaba Windows o Mac, lo más probable es que te encuentres con algunos contratiempos al usar el sistema operativo. Puede que el sistema funcione bien, pero siempre hay algo por aquí y por allá que necesitas arreglar. Por nombrar algunos: quizá Zoom se congela de vez en cuando, quizá el brillo del teclado no funciona en tu portátil, el Wi-Fi va más lento, etc. Porque los kernels y controladores de Linux son en gran medida aportados por la comunidad, lo cual es genial, pero también significa que no tienen responsabilidad sobre tu portátil, y tienes que averiguar el porqué y el cómo por tu cuenta, usando código. Muchas veces, estos problemas se deben a incompatibilidades del hardware con la distro de Linux.
- Comunidad
Las distros de Linux más importantes, como Ubuntu y Linux Mint, tienen la mayor base de usuarios. Si recién empiezas a usar Linux, se recomienda encarecidamente que elijas una de las dos, porque más usuarios significa más soluciones a los problemas. Sin embargo, Mac tiene mucho más soporte que Linux. Ya sea solo en el sitio web de Apple o porque puedes encontrar la solución precisa para tu modelo de MacBook mucho más fácilmente.
- Aprender programación
Muchos de los tutoriales de programación están hechos para Mac y Windows; aunque la mayor parte del tiempo trabajaremos en VSCode, igual necesitas interactuar con la terminal del sistema operativo para algunos ajustes, y Linux simplemente funciona de forma un poco distinta. Siempre puedes encontrar soluciones y alternativas a tu problema, pero, de nuevo, estas cosas no son necesarias de saber si, por ejemplo, solo quieres ser desarrollador front-end.
- PC personal
Para mí, Mac es una PC personal; Linux no. Muchas de las funciones integradas de Mac son muy fáciles de usar y muy valoradas, sobre todo si tienes un iPhone: puedes copiar y pegar entre tus dispositivos Apple, usar AirDrop, etc.
- Versatilidad total
Puedes hacer en un Mac todo lo que haces en Linux, pero no al revés. Por ejemplo, si quieres crear una app móvil para iOS, Xcode está ahí para ti. Si quieres usar VSCode, por supuesto que ambos lo ofrecen también. Si prefieres la línea de comandos, Mac también ofrece terminal.
Conclusión para principiantes
Podría decirse que Mac es más robusto, versátil, confiable sin necesidad de trastear y directo tanto para tus necesidades de programación como personales. Solo puedo sugerirte que uses Linux si simplemente no te gusta Apple o los dispositivos caros. Pero, de nuevo, siempre puedes conseguir un MacBook usado. Vale la pena conseguir un MacBook solo para no usar Linux. Jaja, sé que tengo mis prejuicios.
Aun así, te deseo éxitos.
A seguir codeando.
Párrafos extra para el programador experimentado
Lo que he escrito arriba es para quienes no tienen experiencia previa o tienen poca experiencia en programación. Y mi punto principal es que macOS es más directo para que cualquiera que esté aprendiendo a programar arranque, y al mismo tiempo un Mac puede encargarse de tus necesidades personales. Si hay demasiados obstáculos, puede desanimar a los estudiantes, lo que podría llevarlos a abandonar.
Sin embargo, si te sientes cómodo con la programación, las cosas pueden ser distintas.
La siguiente parte será más técnica…
Entonces, ya estás familiarizado con la programación y acostumbrado a Linux, ¿cuál deberías elegir realmente?
Personalmente, sigo prefiriendo un MacBook de la serie M antes que otras máquinas, y he hecho muchísimo en los últimos años con este MacBook Air M2.
En cuanto al hardware, es un dispositivo rápido y estable, con una batería excelente, un trackpad increíble, un teclado silencioso, una pantalla decente, un equipo silencioso y altavoces integrados.
En cuanto al software, ha estado libre de complicaciones, funcionando sin problemas, y puedo obtener cualquier software en mi Mac muy fácilmente, ya sea con una simple descarga o con brew.
Admito que empecé a aprender programación con un viejo MacBook Air de 2015, y he seguido por el camino de los MacBook desde entonces. Pero es principalmente por el bien de crear apps para iOS. Si no te interesa crear apps nativas para Apple, no necesitas comprar un Mac. Lo cual nos lleva al siguiente primer punto.
¿Qué tipo de programación haces?
Apps móviles; apps de Apple
¿Quieres crear apps nativas para dispositivos Apple? Si es así, consigue un Mac. La palabra nativa es crucial aquí, porque técnicamente puedes escribir apps para dispositivos Apple usando React Native con Expo; tienen un compilador en la nube que hace la compilación de Xcode por ti. Así que puedes usar una máquina Linux o Windows para programar y enviarlo a la nube de Expo para que te lo compile. Sin embargo, en la realidad siempre es mucho mejor conseguir un Mac, incluso uno viejo. Compilar localmente te permite supervisar tu código y, por lo tanto, hacer cambios mucho más fácil y directamente.
Si, por ejemplo, te dedicas principalmente a sitios web o a servidores backend, puedes conseguir cualquier computadora que quieras, incluso Windows. No hay ningún requisito gráfico para ese tipo de tareas de programación, así que un viejo Lenovo ThinkPad puede hacerlo perfectamente.
No necesitas preocuparte por las apps de Android. De todos modos puedes programarlas en cualquier plataforma.
Juegos
Sin embargo, si te dedicas a la programación de videojuegos o necesitas ejecutar o entrenar modelos de lenguaje/aprendizaje automático, es recomendable conseguir una PC potente con Windows/Linux en lugar de Mac. Obtendrás más por tu dinero. Por no mencionar que el rendimiento de Unreal Engine 5 es inferior en comparación con una computadora Windows, la última vez que lo comprobé, porque todavía no está optimizado para Apple Silicon.
A menos que estés programando en Godot o Unity. Un MacBook también es suficientemente bueno para estos motores de juego ligeros.
Software
Docker
Usar Docker es fácil: tienes Docker Desktop para macOS con un .dmg. Haces doble clic para instalar y listo.
Postgres local
Postgres.app es igual, pan comido.
Simulador
Puedes tener un simulador de iPhone o iPad en un MacBook, sin importar el framework de programación. Flutter, React Native, SwiftUI, etc., lo que se te ocurra, funciona en MacBook. También puedes instalar Linux en UTM para tener Ubuntu funcionando en tu Mac, pero no al revés.
Editor de código
Bueno, hoy en día todos los IDE están en todas las plataformas.
Conclusión definitiva
Entonces, la pregunta clave que debes hacerte es esta: ¿quieres crear apps móviles para dispositivos Apple o no?
Tendrás que conseguir un MacBook solo para tener una experiencia completa de desarrollo de apps para Apple, incluso si usas un framework multiplataforma. Simplemente te hará la vida mucho más fácil.
No me gusta el jardín amurallado de Apple ni el sobreprecio innecesario por almacenamiento extra, pero hacen grandes productos.
Lo que te sugiero es que, si ahora solo tienes una PC con Windows, instales Ubuntu o incluso Linux Mint para ver si te gusta. Si te gusta, sigue usándolo hasta que realmente necesites un Mac.
También soy partidario de conseguir la computadora que realmente quieres. Puede hacer que quieras trabajar, solo porque el dispositivo en sí es agradable de usar.
Notas adicionales
Más sobre las apps de Apple
Algunas cosas a tener en cuenta antes de decidirte:
- Solo un MacBook que ejecute el sistema operativo más reciente puede desarrollar con la API más reciente de Apple
- Por ejemplo, cosas como la IA solo se pueden desarrollar en un Mac con Apple Silicon.
- Vision OS solo se puede desarrollar en un Mac con Apple Silicon.
- El aprendizaje automático solo puede ejecutarse en un dispositivo físico, no en un simulador. - Necesitarás un iPhone/iPad para probar tu app si has implementado un modelo de aprendizaje automático en el dispositivo. Simplemente se bloqueará si intentas ejecutarlo en un simulador de iPhone.