¿Debo quedarme con la programación en mi Apple o cambiar a Linux?

Me preguntaba si el cambio a Linux valdría la pena o no. Siento que programar en mi MacBook Pro está bien y me preguntaba cuáles serían las ventajas de quedarme o cambiar.

¿Qué harías y por qué?

Cualesquiera que sean las ventajas que pueda haber para una persona, es posible que no sean necesariamente ventajas para usted. Las Mac basadas en Intel son excelentes, inicie una VM de Ubuntu o un campo de entrenamiento y pruébelo. Averiguar qué es lo mejor para usted es mejor que lo haga usted , nadie más.
demasiado subjetivo... votado para cerrar

Respuestas (5)

Eso depende de cuáles sean sus problemas con su Mac y si Linux los resuelve. Tengo que dar más detalles que eso, hombre.

Personalmente, me encanta mi Mac para el desarrollo por varias razones:

  • La gestión de ventanas es genial. En el trabajo tengo dos monitores decentes, pero cuando estoy programando en mi pequeño MBP de 15", tener cmd-tab/cmd-` es genial y Exposé es una bendición.
  • Tengo un símbolo del sistema de Unix real para usar en tareas de desarrollo, pero sigue siendo un sistema fácil de usar para actividades más normales. Siento que OS X tiene un buen equilibrio entre las fortalezas de Linux y Windows sin necesidad de cambiar entre los dos.
  • Apple es un sistema bien soportado. Su desventaja es que en algunos niveles, puede ser difícil personalizarlo (tanto en hardware como en software). El resultado de esto es que si algo sale mal, tienes una gran comunidad de desarrolladores y usuarios que usan configuraciones muy similares, mientras que Linux tiene una base de usuarios más pequeña y menos homogénea.
  • Las principales aplicaciones de desarrollo de Mac (me viene a la mente Textmate) tienden a estar mejor diseñadas y son más utilizables que sus contrapartes de Linux. Algunos dirían que esto tiene un costo de potencia y control; sin embargo, las aplicaciones de Linux más populares se pueden ejecutar en OS X de una forma u otra.
  • Editar adición: desplazamiento con dos dedos. Nunca me di cuenta de lo útil que era esto hasta que tuve que codificar durante 6 meses en un Thinkpad.

Descargo de responsabilidad: aunque interactúo con los sistemas *nix todo el tiempo, nunca he usado Linux de forma extensiva en el escritorio.

Usé Linux como escritorio durante 5 años antes de cambiar a OS X y estoy completamente de acuerdo con @Fishtoaster. El código abierto no puede competir con el diseño de interfaz de usuario de Apple. Como programador, creo que en algún momento necesitará una comprensión básica de un buen diseño de interfaz de usuario. Usar un producto bien diseñado ayudará. Dicho esto, te animo a que lo pruebes. Es aún mejor si prueba una distribución 'dura' como Gentoo o un *BSD: saber cómo funciona también ayudará.
¡Interesante que te guste la Mac para la gestión de ventanas! Soy exactamente lo contrario: en Linux, mi gestión de ventanas es increíblemente buena (FVWM2), mientras que en Mac es terrible. Supongo que eso habla del comentario anterior de otra persona de que gran parte es preferencia personal.

Teniendo en cuenta que OS X es un sistema Unix compatible con POSIX, puede hacer la mayor parte de su programación *nix en OS X de todos modos.

Me quedaría con Apple, es un mercado en crecimiento y tiene muy buenas herramientas para ayudarte en el camino.

Más que eso, OSX es totalmente compatible con Unix. Linux no es completamente Unix (aunque en la práctica esto no importa mucho) en.wikipedia.org/wiki/UNIX-like

Programo tanto para Mac OS X como para Linux, y estoy de acuerdo con bromfiets. ¡Prueba ambos!

Como alguien más ha sugerido, coloque una VM en su Mac y cargue Ubuntu y pruébelo. Hago parte de mi trabajo de Linux de esa manera, usando VMWare en una Mac Pro. (También programo en una MacBook con Snow Leopard y una computadora portátil Sony que ejecuta Ubuntu).

User322 está bastante equivocado acerca de cómo "efectivamente no hay diferencia entre programar en una Mac o en una caja de Linux". Si desea escribir programas GUI en una Mac, su mejor opción en estos días es usar Cocoa y Objective C, y en la mayoría de las distribuciones de Linux es C con GTK +. (La mayoría de los otros, usaría C y KDE, y en unos pocos, C++ y Qt.) Los gráficos y los sistemas de gestión de ventanas son radicalmente diferentes... Podría seguir y seguir.

En Linux, si no le gusta cómo funciona algún componente, puede profundizar en las fuentes y arreglarlo, lo que generalmente no es una opción en Mac. ¡Aprendes mucho y puedes ganar bastante dinero haciendo eso! Mis trabajos diarios durante gran parte de los últimos cinco años han consistido en jugar con los componentes internos de Linux como el servidor X, GTK+ y Clutter, y ahora rechazo el trabajo porque hay mucha demanda y estoy sobrecargado. .

Apple realmente impulsa el uso de Xcode en la Mac tanto para la edición como para la compilación, y es bastante bueno. En Linux, no hay un estándar real. Para editar, tiene varias herramientas GUI (kate, gedit) y editores basados ​​en terminales (vi/vim, emacs). Para compilaciones, puede hacer lo de la línea de comandos, o usar jam, o ant. O puede optar por un IDE como Eclipse, que es lo más parecido que encontrará a Xcode y, en cierto modo, es mejor. Obtiene la mayoría de estas herramientas para su Mac, pero casi nadie las usa allí.

La programación de Mac y Linux son mundos realmente diferentes, y ambos son geniales.

Y aunque me gusta la Mac como usuario... habiendo asistido a la WWDC de vez en cuando desde mediados de los 80, y también asistido a varias conferencias tecnológicas orientadas a Linux como GUADEC y el Simposio de Linux de Ottawa... asistiría a las de Linux sobre WWDC cada vez. Son solo los sueños de los piratas informáticos, un montón de diversión y hacen que los especialistas en marketing se mantengan alejados.

Sugiero no cambiar, sino usar OS X y Linux. Adquirirás más experiencia y aprenderás a programar en más de un "entorno". Del mismo modo, no se limite a un solo lenguaje de programación. Prueba con otro (al menos).

Dado que OS X está basado en Unix, efectivamente no hay diferencia entre programar en una Mac o en una caja Linux. Se reduce simplemente a qué programas y utilidades (editores de texto, interfaces de bases de datos, etc.) prefiere. Pero la Mac tiene programas infinitamente mejores en este sentido (al menos en mi humilde opinión), y las utilidades que tiene Linux generalmente también están disponibles en la Mac. En pocas palabras, la única buena razón para programar en una caja de Linux cuando tiene una Mac disponible es cuando está desarrollando una aplicación para Linux. Para todo lo demás, quédese con su Mac.