¿Qué se pierden los desarrolladores de software al cambiar de Linux a Mac OS?

Después de 15 años de Linux y Windows más 5 años de OSX, diría: casi ninguna ventaja real sobre OSX. ¿Por qué?

La mayoría de los profesionales de Ubuntu vs. OSX enumerados por algunas personas consideran la personalización. Muchas personas creen erróneamente que OSX es mucho menos personalizable. La verdad es que el 99% de los adictos a la personalización hardcore no alcanzarán las pocas limitaciones que puede encontrar en OSX. Y este 99% de las personalizaciones serán más fáciles, más rápidas y más bonitas en OSX.

La personalización funciona de manera muy diferente en los dos sistemas:

En Linux, piratea, encuentra tutoriales y solo juega con las fuentes o incluso encuentra un software alternativo de otra persona.

En OSX también puedes hackear muchas cosas básicas. Pero también hay muchas herramientas que lo ayudan. Solo tienes que mirar correctamente. A veces puede pensar en invertir los $ 5-15 impares por una buena herramienta o ajuste.

Lo que los usuarios de Linux suelen pensar que extrañan en OSX:

– Administrador de paquetes Apt-Get
OSX tiene tres administradores de paquetes con diferentes filosofías en su núcleo: Homebrew, Fink y MacPorts . Los tres son buenos, pero diferentes.

– Gestión de archivos
El buscador estándar de OSX no es bueno. TotalFinder es lo que quieres. Es extremadamente personalizable, agrega pestañas, buenos atajos, etc. Hay muchas alternativas.

– Gestión de ventanas y ajustes
BetterTouchTool es genial. Envíe ventanas a otras pantallas, maximice, minimice y, en general, cree gestos y accesos directos.
Divvy es genial, puede reorganizar los tamaños de ventanas preconfigurados.
SizeWell también ayuda a cambiar el tamaño de las ventanas

– Libre elección de hardware
La escena Hackint0sh es enorme y está mejorando mucho. He instalado OSX en alrededor de 10 combinaciones de hardware de PC diferentes. Siempre que eche un vistazo al wiki de osx86 y evite algunos hardware seleccionados, estará bien con otro hardware. Y el truco aquí es: instalar desde un DVD original de Leopard y agregar extensiones virtuales del kernel. De esta manera, puede realizar una instalación segura de actualización (casi siempre).

Para mí la verdadera diferencia es:
Puedo concentrarme en hacer las cosas y sentirme bien mientras lo hago.
He ajustado mi OSX en muchos lugares y sigo haciéndolo. Pero simplemente pierdo mucho menos tiempo configurando el sistema y me concentro en crear algo con él …

Solo puedo hablar por mí mismo, pero mi lista es algo así:

  • Paquetes .deb / Paquetes de instalación de código fuente para casi todo

Habiendo sido un usuario nativo de Ubuntu durante varios años, conseguir que algo como ElasticSearch se instale, configure y ejecute en MacOS fue (y es) bastante discordante. Homebrew ayuda, pero cosas triviales como tratar de encontrar archivos de configuración se ofuscan … Me parece que tengo que consultar ” $ brew info ” con demasiada frecuencia. También es más difícil usar versiones preliminares de paquetes a menos que haya un paquete de preparación para ellos.

  • Linux / sistema de archivos

Este tipo de está relacionado con el primer punto, pero la inferencia de archivos permitida por el sistema de archivos raíz fue definitivamente algo que di por sentado. Cuando se trata de rastrear un problema, es mucho más difícil razonar dónde se encuentran ciertos archivos conf / log para piezas particulares.

  • El entorno de desarrollo ya no está estrechamente relacionado con el entorno de implementación.

Mi proyecto actual (que es el que me dio el Macbook mencionado anteriormente) está trabajando en un agente de servidor dirigido específicamente a servidores web. El 99% de los servidores web seleccionados están ejecutando Linux o alguna de sus variantes (Debian, Centos, Ubuntu, etc.). Desafortunadamente, algunas herramientas como Docker tienen diferentes características de tiempo de ejecución en MacOS frente a Linux (como hemos descubierto en el desarrollo). También hay herramientas de servidor que tenemos que soportar que simplemente no tienen paquetes MacOS (OpenVZ, LXC, por ejemplo).

Puede ejecutar Linux en Parallels o en algún otro sistema VM y, por lo tanto, cubrir estos casos de herramientas de borde … pero en ese momento me pregunto por qué mi entorno de desarrollo no es solo Linux.

No me malinterpreten, las Macbook están muy bien construidas, tienen una batería de larga duración y, a menudo, pueden ser más estables … pero de vez en cuando extraño mis entornos Linux para el trabajo de desarrollo (de hecho, puedo volver a Linux en el futuro cercano).

Creo que el usuario de Ubuntu que cambia a Mac OS X perderá la pérdida de control. Bajo Ubunutu, usted tiene un control completo sobre su entorno informático. Por ejemplo, si no le gusta el administrador de ventanas, puede buscar alternativas (XMonad, Fluxbox, etc.). Bajo Mac OS X no hay tales opciones. Esto se extiende a todas las funciones que Apple cree que son parte del sistema operativo, mientras que puede haber algunos productos que apuntan a reemplazar la funcionalidad incorporada, pocos de ellos realmente logran este objetivo y muchos son frágiles, rompiendo cuando Apple actualiza el sistema operativo .

Eso no quiere decir que esto sea algo completamente malo, Apple es muy exigente con lo que termina y no termina en su sistema operativo. Sin embargo, si ha personalizado mucho su entorno Ubuntu, puede encontrar que necesita comprometerse bajo Mac OS X.

La falta de un administrador de paquetes también es algo que puede pasar desapercibido en Mac OS X. Hay otras opciones (¿Cuál es el estado actual de la administración de paquetes de OS X?) Pero no son parte del sistema operativo, cuando Apple lanza una versión significativa actualizar algunos de estos paquetes puede romperse, la actualización de estos paquetes será responsabilidad del usuario final.

Cambié de FreeBSD + Solaris como escritorios / plataformas de desarrollo a FreeBSD solo a FreeBSD + Mac a Mac + Linux. En el trabajo, cambié de un escritorio Mac a un escritorio Linux, pero aún uso una Mac para un escritorio personal. Dicho esto, aquí están mis listas de inconvenientes y beneficios de cada uno como entorno de escritorio y desarrollo. El orden dentro de cada lista es como vienen a mi mente, no cómo trataría de clasificarlos.

Beneficios para desarrolladores de Linux

  • Mejores páginas “man”
  • Más kernel abierto (a través de una combinación de documentación y fuente)
  • Fuentes para la mayoría de todo lo disponible (excepto para cosas de blob binario de algunos proveedores).

Beneficios para desarrolladores de Mac

  • Sistema operativo similar a BSD (lo siento, pero el kernel de Linux es simplemente peludo en comparación con FreeBSD).
  • Mucho, mucho mejor interfaz de escritorio
  • XCode (el único IDE moderno que me gusta, pero aún prefiero emacs / vi + make + autotools)
  • Mejor estabilidad como una computadora portátil, es decir: el modo de suspensión funciona.

Inconvenientes del desarrollador de Linux

  • Gran parte de la administración y administración de servidores y escritorios de Linux se está moviendo a interfaces GUI que solo sirven para ofuscar lo que realmente está sucediendo.
  • Realmente no existe tal cosa como desarrollar para Linux, más bien, está desarrollando para distribuciones de Linux, a pesar de todo el engaño sobre Linux.
  • La interfaz del sistema de archivos virtual con el núcleo es terriblemente inconsistente acerca de cómo se presentan los datos.
  • La arrogancia de los desarrolladores de Linux acerca de cómo todo es una máquina architicture de Intel con sistemas de archivos sensibles a mayúsculas y minúsculas y sistemas de control de acceso simples (exagero, por supuesto).

Inconvenientes del desarrollador de Mac

  • Documentación en línea miserable (que significa páginas “man” o cualquier otra cosa que no requiera un libro o acceso a Internet).
  • Ofuscación de Identity Management (a pesar de ser * nix-like, es demasiado difícil asignar nombres de usuario a uids específicos y nombres de grupo a gids específicos, por lo que hago que mis monturas NFS funcionen).
  • Los componentes básicos de código abierto siempre parecen ser demasiado viejos
  • Todo Xcode es necesario solo para un compilador y herramientas básicas.
  • Sistema de archivos sensible a mayúsculas y minúsculas (sí, no puedo ser coherente al respecto).

Básicamente, cuando puedo, uso mi Mac como plataforma terminal / ssh para conectarme a servidores (Linux o BSD) porque la Mac tiene un escritorio mucho mejor. Cuando tengo tiempo, trato de desarrollar en forma cruzada (código C) para ambos y FreeBSD. Creo que eso conduce a un mejor diseño y desarrollo de código y ayuda a identificar errores más pronto que tarde.

Tener una computadora de escritorio grande con múltiples pantallas y mucha potencia, es como una polla que se agita en el baño de hombres, especialmente cuando las plataformas de destino son servidores.

Aumento automático / enfoque automático para el comportamiento de la ventana.

La mayoría de las máquinas en las que trabajo, incluida la en la que estoy escribiendo esto, son cajas de Linux, pero tengo una computadora portátil Mac, que me encanta usar.

¿Qué se pierden los desarrolladores de software al cambiar de Linux a Mac OS?

Yo uso Debian en casa y MacOS en el trabajo. Soy un desarrollador de software que ha pasado los últimos años enfocado como desarrollador web.

En estos días, no hay mucho que perder: MacOS ha recorrido un largo camino y ahora es capaz de hacer la mayoría de las cosas que quiero en el desarrollo diario. De alguna manera, es mejor, sin embargo, hay cosas que definitivamente extraño.

Estabilidad

Sé lo que estás pensando. “Las Mac simplemente funcionan”, etc. También sé que GNU / Linux no es perfectamente estable. Escúchame.

Cuando algo sale mal en Debian, puedo arreglarlo. La solución en estos días suele estar a un rápido paso de Google. Esto es mucho más difícil en Mac: hasta ahora he tenido tres iMacs y dos MacBook Pros en el trabajo de mi agencia y todos han fallado con errores inexplicables con bastante frecuencia. Es más difícil de solucionar porque es más difícil encontrar respuestas en línea. Esto no es tanto una falla en el software como una falta de comunidad en torno a este tipo de errores. Es similar con Windows: las bases de conocimiento y los foros están llenos de personas que hacen las mismas preguntas y reciben el viejo “funciona para mí” y “¿has intentado apagarlo y volver a encenderlo?”, Responde.

Claridad de propósito

En mi opinión, muchas aplicaciones de Mac intentan hacer demasiado, y termino instalando paquetes que ocupan mucho espacio de almacenamiento cuando solo uso una pequeña función de ellos.

UX

He estado usando Mac (regularmente) durante unos 6 años. No tengo idea de qué hacen la mitad de los íconos, o por qué a veces aparece un cierto símbolo, o por qué obtendré una barra de progreso diferente cada vez que reinicio, o por qué a veces cuando inicio sesión me devuelven a la pantalla de inicio de sesión. Desde el indicador de inicio de sesión, al escribir las mismas credenciales día a día, veré cualquiera de las tres barras de progreso con un estilo diferente y podría ver mi icono de usuario en color o en blanco y negro, posiblemente con una marca roja marca al lado No tengo idea de lo que significan esas diferencias.

Mira el primer menú que ves en un escritorio Mac. El ícono superior izquierdo. El logo de Apple:

¿Ves los atajos de teclado? Dígame sin recurrir a Google, cuál es la combinación de teclas para “Forzar salida”. Existe el pequeño ícono de la nave estelar Enterprise, que es “Opción” o “Alt” dependiendo de su generación de teclado, está la flecha estándar “Shift”, el extraño nudo que significa “Comando” … y algo más.

Adelante. Encuentre ese símbolo en su teclado Mac y recuerde que Apple tiene un control absoluto y total sobre su software y su hardware. Esto no es un descuido: la interfaz de usuario hace referencia a cosas que no se espera que usted como usuario sepa. La interfaz de usuario está repleta de pequeñas trampas como esta. Diseño de ventana inconsistente, iconos que no puede entender hasta que haga clic experimentalmente en ellos. Hay un hilo completo de años sobre por qué Finder tiene una opción de “Cortar” en el menú, pero en realidad no le permite usarla para cortar y pegar archivos.

En resumen: extraño entender lo que me dice la GUI.

Fácil manejo de paquetes

Puede instalar paquetes administrados, pero necesita usar una solución de terceros como MacPorts o Homebrew, que tomará un poco de tiempo configurar si no lo ha hecho antes.

La terminal

¡Pero las Mac tienen una gran terminal! ¿Derecho? Así un poco. Está bien en lanzamientos recientes. Creo que incluso ahora admite más de 16 colores.

Bash todavía está en la versión 3.2 en mi Mac, a menos que lo actualice a través de algo así como MacPorts.

Sin embargo, ese no es el problema con el terminal. Apple está muy centrado en la GUI e intentará empujarlo a usar aplicaciones GUI siempre que pueda. Esta actitud se filtra en todo: la mayoría del software para Mac se presenta como “hermoso” porque ponen mucho énfasis en las GUI bonitas. Es mucho más difícil encontrar la gran cantidad de aplicaciones de línea de comandos a las que está acostumbrado. Por lo general, están allí, simplemente no están a tu alcance.

Soy un usuario de Linux desde hace mucho tiempo, y he usado Ubuntu durante varios años como mi entorno de desarrollo diario para (principalmente) Java y Ruby.

Hace aproximadamente 6 meses, cambié a un MacBook Pro con OS X Snow Leopard.

Si bien no tendría problemas para volver a Linux, encuentro que el entorno OS X proporciona una experiencia más agradable.

Estoy bastante contento con la interfaz de usuario, y ‘simplemente funciona’: ya no paso mucho tiempo editando mi archivo xorg.conf para tratar de mantener la interfaz de usuario y el mouse, etc. funcionando. VirtualBox / VMWare no se rompe cada vez que se actualiza el núcleo, etc., etc.

El hardware es excelente y, por supuesto, es BSD Unix debajo, por lo que todavía puedo tener mi shell bash más importante. No he tenido ningún problema real para instalar lo que necesito con el administrador de paquetes homebrew: existe la aplicación ocasional que no tiene una receta homebrew, pero no creo que haya tenido algo que no haya podido encontrar Una forma de instalar.

En resumen, si está haciendo un desarrollo específico de Linux, obviamente Linux será un mejor entorno. Si, como yo, está haciendo un desarrollo independiente de la plataforma (Java, Groovy y Ruby), entonces creo que OS X es el mejor entorno siempre que pueda permitírselo. Linux también es excelente, y una opción maravillosa si no puede pagar el hardware de Apple.

Las principales características que es probable que un usuario de Linux pierda cuando se mude a Mac OS X es la instalación de una aplicación única (administrador de paquetes + repositorios), actualizaciones unificadas y no tener que pagar la próxima versión del sistema operativo.

Una palabra. Libertad.

Solía ​​haber una vieja broma de que las instalaciones de Windows solo venían con Internet Explorer para que pudieras descargar un instalador para Firefox o Chrome. Para mí, el equivalente de Mac es que descargo VirtualBox para poder ejecutar una versión de Linux en una VM.

Lo intenté, realmente lo hice, y de hecho a veces tengo que soportar la abominación de xCode para construir para iOS, pero con demasiada frecuencia, me encuentro luchando con restricciones que se interponen en el camino para lograr cualquier cosa. Homebrew y su tipo son soluciones alternativas, con diversos grados de éxito, pero si termino pasando todo un día descarrilado porque no hay una versión actualizada de una herramienta de desarrollo simple o no es compatible con la versión que es incrustado en xCode, que solo puedo actualizar obteniendo una versión más reciente de OS X, donde la versión que necesito ya no está disponible en la App Store, y mi compañía no aprueba la instalación de la versión más nueva, porque el último OS X la versión no me permite, ni siquiera como root, escribir en directorios que como desarrollador realmente necesito … bueno, ya entiendes la idea. Si bien esas cosas son molestas, hay otras preocupaciones más persistentes que me impactan todos los días. A veces hay ironías: no debería ser cierto que la misma tarea se puede hacer mucho más rápido en mi Linux VM * dentro * de la Mac que la Mac puede hacer de forma nativa. Eso me vuelve loco. (Antes de que alguien llegue a los comentarios, revise un proyecto git grande y ejecute algo pesado en el sistema de archivos como ‘estado git’ – podría ser de 30 segundos en una Mac. Puede ser 0.3 segundos en la VM. Puede ser 0.03 segundos en Linux real. Luego multiplique que con qué frecuencia podría hacer cosas similares cada día).

Para un desarrollador de software, la parte más importante de la libertad es no tener un sistema operativo que se interponga en el camino para hacer el trabajo, y una vez que experimenté Linux, supe que nunca tendría la libertad de ser feliz en ningún otro lado.

Hacer coincidir sus entornos de desarrollo y producción ahorra toneladas de tiempo.

En otras palabras, solo tienes que descubrir cómo hacer algo una vez, no dos veces. Gran parte del desarrollo de productos es comprender sus dependencias y detalles de su sistema y sus características de rendimiento. Si desarrolla e implementa en los mismos sistemas, no tiene que lidiar con tantos de estos tipos de problemas.

No tener que pagar por nada, nunca.

Casi todo lo que necesitará para configurar su entorno de desarrollo y hacer todo su trabajo es gratis. Será diferente a lo que estás acostumbrado, pero las herramientas están probadas y son muy buenas. emacs es un entorno de desarrollo fantástico (aunque ‘hardcore’). El Gimp es un gran reemplazo de Photoshop totalmente funcional, PostgreSQL es una base de datos rápida y gratuita, lista para producción. Para prácticamente cualquier pieza de software OSX, existirá un reemplazo razonable y gratuito.

Las actualizaciones de software vienen de forma automática y gratuita, para siempre.
Imagine nunca pagar por una actualización del sistema operativo nunca más.

Depende del caso de uso. Por experiencia personal, no extrañé nada. Descubrí que no estaba perdiendo el tiempo configurando cosas ya que salieron de la caja.

Aquí hay un artículo que presenta OS X contra Ubuntu que podría ser útil: http://shapeshed.com/journal/ubu

“Linux” es un sistema operativo. “Mac” es una plataforma de hardware. Asumiendo que te refieres a OS X, y como uno con la reputación de “Linux Nerd” que usa OS X como mi SO principal:

  1. La interfaz de usuario de OS X es más refinada, integrada y consistente que cualquiera de los entornos populares basados ​​en X11.
  2. Existe un soporte de aplicaciones comerciales más amplio.
  3. Los controladores de pantalla en OS X son de primera clase, mientras que para Linux es una mezcla.
  4. El soporte para el sueño y la hibernación es mucho más confiable.
  5. OS X sigue siendo UNIX y la mayoría de las características de Linux están representadas dentro del sistema operativo, con una serie de mejoras incorporadas (algunas de las cuales puede replicar en Linux, pero requieren que compile e instale paquetes adicionales).
  6. La mayoría del software de Linux es un software F / OSS que se ejecuta en Mac (y hay administradores de paquetes similares a Linux para instalarlos y sus dependencias), por lo que OS X ejecuta un superconjunto de software que Linux.
  7. Por último, mi empleador está dispuesto a admitir OS X en el escritorio, pero no Linux. Nunca he tenido un problema con ninguno de los sistemas operativos, pero si tengo un problema con un servicio en nuestra red, nuestro equipo de soporte se negará a ayudar a menos que tenga OS X o Windows, incluso si el problema no está en su computadora.

Así que soy un desarrollador de software. Recientemente me ofrecieron dos computadoras portátiles en el trabajo, una Mac book pro de gama alta o alguna laptop HP de aspecto horrible.

Siempre he usado Linux en mi escritorio en el trabajo, y nunca antes había usado Mac OS, pero dada la opción de computadora portátil, pensé en sumergirme y obtener el Macbook elegante, al menos entonces tendría una opinión genuina sobre todo esto cosa de manzana por la que todos han estado delirando.

Bueno, en general, me gusta mucho la Mac, el hardware es excelente, el soporte para varios software propiciatorios (herramientas de oficina / productividad, correo electrónico, etc.) son mejores que mis experiencias con Linux, y tengo acceso a todas las herramientas de desarrollo que necesito. Pero en los últimos meses he notado algunas grietas.

Cosas que extraño:

La comunidad

Noté una diferencia inmediata cada vez que comencé a pedir o buscar ayuda en línea en Google, es difícil de describir, pero dado que cambiar es como si no hubiera una solución fácil u obvia, la gente actúa como si lo estuviera haciendo mal y debería cambiar para adaptarme el flujo de trabajo sangrado por el sistema operativo o el software, y que yo pida algo que no hace es una especie de herejía, donde Linux es mucho más complaciente y fomenta activamente la personalización y hacer las cosas a su manera, y casi siempre hay alguien quien quiere ayudar

Elección del entorno de Windows Manager / Desktop

Gracias a sus raíces comunes, la mayoría del software Opensource funcionará bien en Mac, y eso significa que gran parte de la elección de Linux está ahí. Sin embargo, desafortunadamente no tengo otra opción sobre mi entorno de escritorio o el Administrador de ventanas. He sido un administrador de ventanas de mosaico por más de 5 años, te extraño XMonad xxx

Realmente extraño mucho a Xmonad, ese es el más grande para mí, es un administrador de ventanas de nicho, pero me siento triste solo de pensarlo. Miré a los administradores de ventanas de mosaico para MacOS y todos son hacks lamentables y simplemente no lo cortan.

No usar el mouse

Tal vez me falta algo, pero tengo que alcanzar constantemente el trackpad / mouse. meta-Tab / alt-Tab por alguna razón no cambia entre todas las ventanas, la pestaña no se mueve entre todos los elementos de una ventana, las combinaciones de teclas simplemente no son lo suficientemente flexibles como para permitir moverse entre pantallas, ventanas y escritorios de manera eficiente (los escritorios son aunque en su mayoría está bien). Es posible que todavía haya varias cosas que necesito aprender, pero hay algo realmente roto aquí, Microsoft ha hecho un mejor trabajo aquí.

Sin conocer mi sistema íntimamente

Si bien para muchos usuarios y muchas distribuciones esto puede no ser cierto, al menos para mí y para la mayoría de las distribuciones que uso, sé qué es cada pieza de software y qué hace cada pieza de software, bueno de todos modos, soy seguro de que podría construir un sistema operativo basado en GNU / Linux desde cero. En mi Mac no tengo ese nivel de claridad, y creo que nunca lo tendré.

Resumen

No importa a qué plataforma me dirijo para mi trabajo (nunca nos enfocamos en MacOS), creo que usar Vagrant (o tal vez Docker) es una excelente manera de trabajar, y estar en MacOS me alienta a usar estas herramientas y mantener un entorno de host limpio. . Para mí, usar estos entornos virtuales para el desarrollo ya era una práctica común antes de pasar a la Mac, así que después de mudarme a la Mac esto no fue un problema.

Para cada uno de los 3 grandes SO de escritorio, cada uno tiene sus propios pros y contras, pero como desarrollador de software, las herramientas existen para trabajar de manera eficiente y cómoda en los 3 y aunque puedo haber cambiado mi máquina de escritorio de Linux a Mac, todavía uso GNU y Linux todos los días.

En general, estoy mucho más cómodo y extraño mucho menos de lo que esperaba, y al ser un sistema operativo compatible con POSIX obtengo soporte nativo para todas las herramientas de GNU y todos los shells y utilidades que tiene un entorno Linux moderno, y para mí eso se siente como en casa .

Había querido cambiar a la Mac durante mucho tiempo para las aplicaciones cotidianas: correo, calendario, etc. Ahora suena gracioso, pero mi mayor preocupación al considerar una mudanza fue si podría volver a compilar el núcleo. Después de pasar a la Mac, me di cuenta de que hay una cierta libertad para no perder el tiempo con el sistema a ese nivel. El Mac le brinda un sistema que funciona lo suficientemente bien de manera inmediata para que pueda concentrarse en hacer las cosas en lugar de hacer que el sistema funcione.

Dicho esto, extraño el sistema de administración de paquetes disponible en casi cualquier sistema Linux. Las aplicaciones nativas de Mac son agradables y fáciles de instalar y desinstalar, pero el software como las bases de datos y las herramientas de desarrollo pueden ser más difíciles de mantener. Como otros han mencionado, Homebrew, etc. proporciona algunos beneficios similares, pero tienden a ponerme nervioso porque están fuera del proceso de pensamiento del diseño principal del sistema operativo.

También extraño la sensación de que estaba ejecutando una máquina lo más delgada posible; es decir, no hay procesos que no fueran absolutamente necesarios, no hay hinchazón en el disco de un montón de basura instalada que nunca usaría.

También se pierde algún beneficio de estar en un sistema (Linux) en el que primero se desarrolla un nuevo software. Muchos proyectos comienzan en Linux y luego se adaptan para funcionar también en Mac. Muchos proyectos que comienzan en Linux funcionan de forma inmediata sin modificaciones, pero cuando se encuentra con problemas, a menudo hay menos usuarios de Mac que intentan hacer lo mismo que los usuarios de Linux.

Incluso con estos inconvenientes, probablemente nunca volveré a ejecutar Linux como mi sistema operativo principal de computadora portátil.

Hace casi un año compré un MacBook Pro con la intención de intentar cambiarme a Mac OS X. Mi plan de respaldo era poner Ubuntu en él. Yo era un usuario de Linux avanzado y desde hace mucho tiempo. La primera impresión con OS X fue bastante buena, me gustó la interfaz de usuario pulida y agradable. Realmente intenté acostumbrarme a OS X durante un par de días, pero me di cuenta de que hay muchas cosas buenas en Ubuntu que me faltaba. Entonces ahora tengo Ubuntu y estoy muy satisfecho con él. En cuanto al hardware, MacBook Pro es genial.

Lo que hago en la computadora:

  • Internet
  • Programación, principalmente Java (Eclipse)
  • Películas
  • Gimp y Photoshop

Lo que no me gustó de OS X:

  • Las fuentes no son tan claras como en Ubuntu (donde tengo suavizado de subpíxeles Y una pista completa). Probablemente encontrará esto sorprendente, pero es realmente cierto. No hay forma de establecer sugerencias completas en OS X.
  • No hay manera de hacer clic con el botón central para pegar en OS X. Para un programador, es increíblemente útil y adictivo.
  • Gestión de ventanas. Encontré varios problemas, por ejemplo, no puedo cambiar las aplicaciones con la rueda del mouse y no puedo maximizar completamente las ventanas.
  • Mi conocimiento de Linux ya no era muy útil.
  • Terminal en Ubuntu es mejor.
  • El movimiento del mouse fue extraño. No pude cambiar la configuración del mouse (incluso con una aplicación de tercera parte) para hacer que el movimiento del puntero del mouse fuera similar al que estaba acostumbrado.
  • Arrastrar el gesto en el panel táctil tiene un retraso (es difícil explicar lo que quiero decir exactamente …).
  • No apto para obtener. Suficiente dijo 🙂
  • No se pueden desplazar las pestañas en Chrome con la rueda del mouse. No entiendo cómo pueden vivir los usuarios de Windows y OS X sin esto.
  • No es tan flexible como Ubuntu.
  • Nautilus es un administrador de archivos mucho mejor que Finder.

Lo que me gustó:

  • Funciona fuera de la caja. Pasé un día para ejecutar Ubuntu y solucionar todos los problemas (wifi no funcionaba, no podía cambiar el brillo, etc.)
  • OS X está bastante pulido. Ubuntu no es tan visualmente atractivo, suspender a veces funciona de manera extraña y hay algunos errores menores.

Como usuario de Linux en el trabajo y personalmente usuario de Mac OS X, diría que OS X no es más que una distribución Linux más pulida y robusta de UNIX. Para una persona no técnica, OS X elimina la necesidad de aprender Terminal y proporciona una experiencia de usuario que Linux y Windows no coinciden.

Ventajas de las distribuciones de Linux:

  • Gestión integrada de paquetes en todo el sistema; esto puede reducir la fricción si está haciendo algo no trivial como desarrollador
  • Amplia elección de hardware

Ventajas de OS X:

  • La integración 100% de hardware le da a OS X su famoso factor “simplemente funciona”

(Así que estoy preparado para usar, dependiendo de lo que esté haciendo).

Primero tendría que preguntar qué tipo de desarrollo estás haciendo. Admito que soy un tipo de Mac (para SO de escritorio), pero uso Linux diariamente para servicios que simplemente funcionan mejor en ese entorno. Dicho esto, he desarrollado en ambas plataformas dependiendo principalmente de la complejidad del proyecto y de los recursos necesarios para resolver los problemas. Definitivamente prefiero desarrollar en mi Mac, localmente, pero esta no siempre es una opción viable dadas las ubicaciones de fuentes de datos, restricciones de seguridad y otros matices de ciertos entornos de desarrollo. Creo que ambas plataformas que mencionas son lo suficientemente sólidas como para ser adecuadas para varios tipos de desarrollo.

Una ventaja que le daría a Ubuntu es que es probable que obtenga más recursos sin procesar de un sistema que lo ejecuta. En este punto todavía no estoy seguro de si te refieres al servidor Mac OS X o no, así que me he referido a su sistema operativo de escritorio estándar.

Alguien verifíqueme sobre esto, pero ubuntu le da LAMP en un comando: http://www.unixmen.com/linux-tut

¿Es esto fácil en OSX?

Hablando para computadoras de escritorio y portátiles, extrañaría la necesidad de que todo funcione sin problemas si hay algún problema de hardware / controlador u otro problema molesto.

La Mac se entregaría como si estuviera encendida y funcionando para siempre, si no eres uno de los pocos desafortunados que tienen un problema de hardware, por supuesto.

Solo una actualización demasiado temprana del sistema cambiaría eso. De lo contrario, se ejecuta y se ejecuta, tiene herramientas similares a Linux y si por alguna razón necesita un Linux real, use una VM o un contenedor acoplable adecuado.

Linux se volvió tan bueno en estos días, que los problemas de soporte de hardware son más raros, pero la cantidad de hardware en funcionamiento es limitada. Eso también es cierto con Mac, pero los sistemas que comprará simplemente se ejecutarán.

Siempre podría usar una Mac para desarrollar si puedo elegir. En el trabajo, generalmente es difícil convencer a su jefe para que lo haga, ya que primero (y a menudo solo) ven el costo inicial. Por otro lado, las Mac realmente funcionan de forma estable durante años y años.

Supongo que si hubiera algún grupo que vendiera hardware hecho a medida y completamente probado para o con Linux, alcanzaría casi la misma etapa de estabilidad. Pero también el precio sería casi igual 😉

More Interesting

¿Qué tan difícil sería para un estudiante graduado construir una versión más simple de Sourcegraph?

Soy un desarrollador de software aspirante! ¿Cuáles son las cosas que te tomaron un tiempo en resolver pero que son fundamentales para el éxito de un programador?

¿Me puede dar un ejemplo específico de lo que hace su equipo de desarrollo de software y cuál es su función?

¿Necesita tener ciertas habilidades cognitivas para dominar la parte de metaprogramación de C ++ o alguien puede lograr una buena comprensión del mismo a través del trabajo duro?

¿Debo solicitar un puesto de gestión de productos de software sin experiencia previa pero con más de 10 años de experiencia como desarrollador de software?

¿Qué porcentaje de desarrolladores de software profesionales aprendieron a codificar en un aula?

¿Cómo una persona laica / no técnica nota la diferencia entre un desarrollador bueno y uno malo?

¿Los desarrolladores temen ser eliminados por los desarrolladores jóvenes cuando envejecen?

¿Eres capaz de obtener un trabajo de desarrollador de software a tiempo completo después de terminar un bootcamp programador?

En febrero de 2017, ¿la pizarra es una prueba útil durante las entrevistas con desarrolladores de software?

Estoy entrevistando para un desarrollador principal / CTO para mi puesta en marcha. ¿Qué preguntas debo hacer?

¿Qué es el software y cómo se crea?

¿Qué aptitud matemática se necesita para convertirse en desarrollador de software?

¿Cuál es la mejor computadora portátil preferida para programadores y desarrolladores de software?

Como desarrollador de software, ¿cómo debo mantenerme fuerte y seguro cuando alguien dice que mis habilidades técnicas son malas?