Soy un desarrollador de Java, desarrollo aplicaciones web para comercio electrónico y publicaciones, y he estado usando una Mac exclusivamente durante muchos años.
Al estar basado en Unix (una forma de BSD gratis, para ser precisos), MacOS tiene todo lo que ya estaría familiarizado con el desarrollo de Java en otras plataformas similares a Unix.
Tiene bash y todas las herramientas de la línea de comandos de Unix. Tiene soporte para subversion incorporado y Apache instalado de forma predeterminada. Apple crea y distribuye una pila JRE y JDK completa específica de MacOS. Puedes descargar e instalar todo lo que necesites además de eso.
Personalmente uso Eclipse, JBoss y Tomcat, ANT y Maven, y MySQL, con varios complementos y bibliotecas de terceros, y no he tenido problemas.
Sin embargo, las mayores ventajas de usar una Mac para el desarrollo son
-
puede ejecutar los "dos grandes": Microsoft Office y Adobe Photoshop. No estoy seguro de cuáles son sus sentimientos acerca de esto, pero a veces es importante usar las aplicaciones reales en lugar de comportamientos similares para que obtenga una fidelidad total y compatibilidad con lo que todos los demás en su organización pueden estar usando.
-
hay tantas aplicaciones y utilidades nativas para Mac bellamente diseñadas y bien pensadas que ayudan a aumentar su productividad. (después de todo, la programación es solo una parte de mi día profesional)
Lo único negativo que se me ocurre es que muchos productos "empresariales" que forman parte de la pila del desarrollador de una aplicación Java, a menudo tienen un componente nativo, aunque la mayor parte del producto es Java. A menudo, el componente nativo solo se ejecuta en Linux y Windows. Sin embargo, la forma de evitar esto es ejecutar máquinas virtuales. A menudo ejecuto componentes básicos que no son nativos de Mac en una máquina virtual de Linux usando VMWare Fusion.
Además, Java no es un ciudadano de primera clase en Mac. Cuando Apple salió por primera vez con Xcode y Cocoa, comenzaron a admitir Objective-C y Java como lenguajes de igualdad, pero con el tiempo eliminaron o disminuyeron el soporte para Java. Para mí, esto es un poco decepcionante, pero en realidad no es diferente de Windows o Linux (no se pueden escribir aplicaciones nativas de primera clase en ninguno de los dos utilizando el lenguaje Java). ¡Es solo que soy demasiado viejo y demasiado establecido en mis maneras de tener que tener Objective-C!