¿Es el Macintosh MacBook Pro/iMac una buena herramienta para los desarrolladores de software de código abierto? Soy un desarrollador de .NET que se está pasando a las tecnologías de código abierto (Python, Go).

Si eres un desarrollador .NET estás de enhorabuena porque Microsoft ha abierto recientemente su runtime .NET bajo el nombre de .NET core y también es compatible con MacOS , esto significa que la gente de mono ahora puede obtener el apoyo de Microsoft . También Microsoft compró Xamarin que son los que crearon MONO que es básicamente la versión de código abierto de .NET más algunas bibliotecas adicionales.

Así que las cosas se ven bastante bien para los desarrolladores de .NET en MacOS.

Mono tuvo algunos problemas de incompatibilidad en el pasado, pero no es un obstáculo para el espectáculo AFAIK.

Mac como una plataforma es muy sólida para los desarrolladores. XCODE es un muy buen IDE, pero hay toneladas de IDEs para elegir.

Sorprendentemente muchos proyectos de código abierto no sólo se ejecutan en MacOS, pero tienen una gran comunidad de desarrolladores. A pesar de que el usuario sabio es 95% Windows 4% MacOS y 1% Linux. Para los desarrolladores es bastante diferente, en realidad es 30% Windows 30% MacOS y 30% Linux.

Esto puede parecer sorprendente, pero no hay que olvidar que Windows se ejecuta sin problemas junto con MacOS y Linux y ya que un desarrollador es un usuario experto no le importa tanto la popularidad de Windows, ya que en la mayoría de los casos los desarrolladores implementan en las 3 plataformas más iOS y Android.

Comparando Windows con Mac se obtienen conclusiones habituales, macOS es más estable, más fácil de usar y con software de muy buena calidad. Windows por otro lado es inestable, difícil de usar y con mucho software de baja calidad pero obviamente tiene una base de usuarios mucho más grande y no necesita hardware especial para funcionar.

Linux está en algún punto intermedio con la ventaja añadida de ser de código abierto. Es semi-inestable principalmente por el soporte problemático de los drivers, más difícil de usar porque depende demasiado del terminal y el software es okish.

Mac es una muy buena plataforma para el desarrollo porque al igual que Linux viene con muchos lenguajes incluidos como python, ruby , pearl etc y en general Apple siempre ha tenido una muy buena relación con el mundo del código abierto aportando mucha tecnología como OpenGL , WebKit etc. que damos por sentado.

Por otro lado la tendencia de Apple a ir a contracorriente es algo que ha estado causando dolores de cabeza a muchos desarrolladores. Apple ya intentó matar a Flash y lo consiguió y ahora también intenta matar a OpenGL. Así que no todo son rosas en MacOS porque Apple no duda en enseñar los dientes, algo que Windows y Linux raramente hacen.

Personalmente codifico en Python y los últimos 5 años en Pharo, mi experiencia ha sido muy fluida pero intento evitar las partes de MacOS únicamente y en su lugar centrarme sólo en las partes multiplataforma.

En cuanto al hardware, los mac son sólidos como una roca y a diferencia de lo que mucha gente cree, actúan como los más rentables. Son más caros pero no pierden su valor como los pcs. Así que puedes volver a venderlos y hacer una cantidad sustancial del precio que pagaste.

Al final puedes tener fácilmente un Mac de doble arranque con MacOS y Windows y Linux dentro de una VM. No estoy tan seguro de lo del triple arranque con MacOS/Windows/Linux , debe ser posible pero ni idea de lo fácil que es ya que nunca lo he probado.

En cualquier caso tener esos SO en VMs es aún mejor porque te evitas tener que reiniciar tu mac para cambiar de SO.

Sobre Python en concreto , cpython corre genial en macos , sin problemas de ningún tipo y con un montón de librerías. Apple también soporta cpython de forma nativa a través de su puente PyObjC que da acceso a cpython a todas las bibliotecas de Objective C que sigue siendo el lenguaje del SO. Si usted busca algo de plataforma cruzada GUI sabio, tuve éxito con pyQT.

El último MacOS es Sierra 10.12 y viene con Cpython 2.7.10 preinstalado. Por supuesto también se puede instalar python 3.

Como he dicho, rara vez me preocupan las peculiaridades de MacOS porque confío en herramientas y librerías multiplataforma el flujo de trabajo es casi el mismo.

Windows también ha mejorado bastante últimamente con la incorporación de Ubuntu core y Powershell haciendo que se acerque mucho más a Linux y MacOS.

Yo no he tenido que desaprender mi forma de trabajar con Windows, de hecho a día de hoy me jode que MacOS no maximice las ventanas, pero cuando me convertí por primera vez allá por 2007 tardé 2 días en sentirme cómodo con MacOS. La razón es que no tienes que luchar con las configuraciones y personalizaciones para hacer las cosas bien con MacOS. Funciona bien fuera de la caja y esta es la razón por la que la personalización de MacOS es bastante rara.

Tus formas de Windows serán útiles porque lo más probable es que si haces aplicaciones comerciales seguirás desarrollando en Windows o al menos probando tus aplicaciones, incluso si es software libre. Así que no dejes de lado esas habilidades.

Resumen: Estarás bien y tienes un montón de opciones para ajustar el flujo de trabajo al que te sientas cómodo.