Estoy buscando el mejor sabor de Linux que sea atractivo para mí. Soy un amante del código abierto y uso varios idiomas diferentes.
¿Existe un Linux orientado a los desarrolladores?
linux
distribution-choice
distros
Jaison Justus
fuente
fuente
Respuestas:
En la práctica, todas las distribuciones utilizan la misma cadena de herramientas de desarrollo, por lo que no difieren significativamente como plataforma para el trabajo de desarrollo general. Sin embargo, algunos tienen ventajas específicas que pueden ser relevantes para ciertos tipos de trabajo de desarrollo:
Las distribuciones comerciales (RHEL, SLES) tienen el mejor soporte de terceros proveedores de código cerrado. Si desea trabajar con (digamos) Oracle, podría estar mejor con uno de estos, aunque Oracle puede funcionar con la mayoría de las distribuciones si instala las bibliotecas correctas. CentOS está compilado de fuentes de RHEL y funcionará bien con la mayoría, si no con todo, el software comercial creado para RHEL.
Si quieres jugar, puedes probar Linux From Scratch. Es un buen tutorial sobre cómo una distribución de Linux se mantiene unida.
Si desea algo para lo que casi todo lo que es o alguna vez fue de código abierto está disponible en los repositorios, entonces una distribución basada en Debian (ya sea Debian o Ubuntu) puede ser una victoria. Hay una razón por la que Canonical eligió .deb para usarlo como sistema de administración de paquetes para Ubuntu.
Si desea ajustar todo al enésimo grado, Gentoo le permite reconstruir todo su sistema para su arquitectura de procesador específica.
Si desea una experiencia de 'unix tradicional', entonces puede probar Slackware o FreeBSD (que no es una distribución de Linux pero podría ser de interés para el OP). Además, la familia BSD es particularmente sólida en redes, por lo que puede ofrecer ventajas sobre Linux a los desarrolladores que trabajan en este campo.
De ellos, he usado CentOS, Debian, Fedora, Ubuntu, Slackware y FreeBSD en varias ocasiones en el pasado, además de algunos otros (Vector, SLS, Yggdrasil y una variedad de versiones de Redhat desde aproximadamente 4.0 en adelante). Como entorno de desarrollo 'unix', todos ofrecían las herramientas de la época y podrían haberse utilizado para el trabajo de desarrollo con las herramientas incluidas o descargando y construyendo cualquier otra cosa que necesitaran.
Unix fue descrito una vez como un IDE disfrazado de un sistema operativo, o palabras en ese sentido. Cualquier variante de Unix o Linux puede brindarle la experiencia de desarrollador de Unix si así lo desea. En un momento realmente no me importaba mucho el medio ambiente. Realmente acabo de usar el administrador de ventanas para abrir ventanas xterm e iniciar algunas aplicaciones; todo lo demás se hizo prácticamente desde la línea de comandos. La mayoría de las variedades de Unix o Linux pueden hacer eso.
Si te gusta C, entonces vim o emacs con ctags, make y gcc funcionan bastante bien; puede usar gdb con o sin una interfaz de usuario. Esta cadena de herramientas también proporciona un buen soporte para lenguajes como perl o python y viene con un rico ecosistema de soporte de herramientas de terceros.
Para un flujo de trabajo más centrado en la GUI, realmente se reduce a una elección personal de administrador de ventanas, entorno de escritorio y herramientas de desarrollo. Si te gusta Java, Eclipse y netbeans tienen compilaciones en la mayoría de las principales distribuciones. Existen varios IDEs convencionales con soporte para C / C ++, perl, python y otros lenguajes de script. Se puede hacer que funcionen en la mayoría de las distribuciones de Linux, si no en todas. Java solo es compatible con BSD a través de puertos de terceros, por lo que probablemente esté mejor con Linux si está trabajando con eso.
fuente
Si. Se llama Linux.
Fedora (o cualquier derivado de Red Hat) es tan bueno como cualquier Debian, Slackware, Gentoo o lo que sea. En serio, puedes desarrollar con cualquier distribución importante, es una pregunta tonta pedir un Linux "orientado al desarrollador".
También es una tontería decir que cualquiera de estas distribuciones es mejor que las otras para los desarrolladores. Simplemente no es serio.
Esta pregunta realmente pide argumentos.
fuente
He probado bastantes distribuciones porque realmente disfruto haciéndolo.
Soy desarrollador y también me he preguntado acerca de un buen Linux para desarrolladores, y en mi experiencia no hay distribuciones de Linux dirigidas específicamente para desarrolladores.
La razón es que, como desarrollador, no solo podrá personalizar cualquier distribución para satisfacer sus necesidades, sino que definitivamente necesitará saber cómo realizar dicha personalización.
Básicamente, si no estás familiarizado con Linux:
1) Debian, porque muchos servidores web de producción ejecutan Debian, por lo que probablemente sea una buena idea conocer cómo están organizadas las máquinas Debian. Lo bueno de Debian es que, dado que es definitivamente el Linux más utilizado (incluidos sus derivados como Ubuntu), el soporte, la comunidad y la cantidad de paquetes precompilados disponibles son extremadamente extensos. Lo malo de Debian es que está orientado a ser un entorno de producción estable y, como tal, rara vez le ofrece las últimas novedades que quizás quiera probar como desarrollador.
2) Arch-Linux (ArchBang en realidad) es mi favorito actual por 3 razones: - No proporciona mucho en cuanto a la instalación y configuración fácil con un solo clic, pero tiene un gran tutorial para ayudarlo a configurar todo como usted Quiero decir, este enfoque le permite aprender mucho sobre cómo funcionan las cosas en segundo plano y significa que para cuando tenga todo configurado correctamente, se sentirá bastante cómodo usando un sistema Linux / Unix. - Es un lanzamiento continuo, lo que significa que nunca tendrá que descargar la nueva versión y reinstalar todo, solo actualice el sistema y ¡Voila! - Intenta implementar todas las últimas novedades para que siempre estés al tanto de las nuevas mejoras en el software, y como desarrollador, eso es realmente apreciable. -Oh y tiene una gran comunidad también.
Pero de todos modos, básicamente depende de usted probar algunas cosas y decidir qué funciona mejor para usted, lo que puedo garantizar es que no importa qué Linux termine atando, siempre hay una manera de configurar / personalizar cosas a su gusto, por lo que el gran problema es aprender cómo hacer esa personalización, y luego elegir algo que ya está preconfigurado lo más cerca posible de lo que quiere terminar.
fuente
Cada vez hay más sabores diferentes en las distribuciones de Linux; por ejemplo, hay distribuciones como Qimo o DoudouLinux que están orientadas para niños.
Por supuesto, puede cambiarlos para que se ajusten a sus necesidades (estamos hablando de Linux, correcto:]), pero aún así, perderá una gran cantidad de tiempo.
Algunos argumentarán que es una excelente manera de aprender cosas nuevas. Sin embargo, tendrá que tomarse un tiempo para excavar en la distribución y ajustar las cosas de todos modos, es inevitable con cualquier distribución.
Pero lo más importante son los paquetes.
Algunos te ofrecen nuevos (por ejemplo: Arch) y otros muy estables (por ejemplo: Debian).
La documentación también varía mucho, en cuanto a soporte de hardware (controladores, controladores, controladores).
Teniendo en cuenta estos 3 puntos (paquetes, documentación, controladores) y sus propias habilidades, debería tomarse un tiempo para descubrir algunas distribuciones convencionales.
Un buen comienzo podría estar aquí: http://distrowatch.com/
fuente
Fedora es uno de los primeros en adoptar nuevas tecnologías, lo que le permite experimentar y desarrollar con ellas meses antes de que estén disponibles en la mayoría de las otras distribuciones. Admite muchos lenguajes de programación y bibliotecas listas para usar, y hace que sea relativamente fácil agregar a su sistema cualquiera que pueda faltar. Tiene una filosofía pura de código abierto, y elige permitir que terceros proporcionen paquetes para funciones que son contrarias a eso. Simplemente no lo llame "Fedora Core" (perdió el "Core" después de que Core y Extras se fusionaron para Fedora 7).
fuente
Creo que, según mi propia experiencia y las respuestas aquí, estás buscando más un conjunto de aplicaciones y herramientas que harán que el desarrollo sea más fácil y práctico.
Lo bueno de Linux es que cualquier distribución es muy fácil de personalizar. Le recomendaría que encuentre una lista de software que usa con más frecuencia durante el desarrollo y que cree un gran tarball que pueda llevar de una computadora a otra (si cambia mucho de espacio de trabajo).
fuente
Para el desarrollo de Java / Eclipse, considere Debian sobre Ubuntu / Linux Mint (y posiblemente incluso 32 bits sobre 64 bits).
Antecedentes: He estado haciendo un desarrollo de Java / Eclipse RCP * y he estado usando Ubuntu y luego Linux Mint, pero me he encontrado con todo tipo de errores molestos, ya sea relacionados con inestabilidades en el entorno de escritorio (Cinnamon en Linux Mint), o un procedimiento algo complicado para instalar Sun Java6 JDK (que es utilizado por nuestro proyecto ... Ubuntu / Linux Mint solo se envía con OpenJDK en sus repositorios).
Recientemente encendí Debian 6 Squeeze en una máquina virtual, y me di cuenta de cómo estas cosas funcionaban mucho mejor. La instalación de Sun Java solo requiere agregar la palabra clave "no libre" después de la cadena del repositorio principal en /etc/apt/sources.list y luego instalar a través de apt-get, y el escritorio (Gnome2) que se entrega también es mucho más estable que las alternativas de Gnome3 / Unity / Cinnamon en Ubuntu / LinuxMint.
[*] Eclipse RCP significa que usas Eclipse no solo como una GUI sino también como una biblioteca para construir tu propia GUI, más o menos.
fuente
Ubuntu es genial, en serio.
Tienen todos los paquetes, actualizados y fáciles de instalar. Use la configuración predeterminada (= Gnome) y pasará la mayor parte de su tiempo programando y no configurando.
Instalar el compilador gcc suite, make, autoconf, etc. lleva 5 minutos con una buena conexión a internet. Treinta minutos más y tienes Ruby, Python, Sun JVM y Eclipse listos para correr.
Editar: Ubuntu ofrece paquetes adicionales con símbolos de depuración para muchas bibliotecas. Es bueno tenerlo para desarrolladores de C / C ++.
fuente
La respuesta es que no hay un buen Linux para el desarrollo a menos que crees uno y ningún otro Linux realmente proporcione tanto en esta área como gentoo. Compila todo desde el código fuente (algo con lo que debe ser complicado para ser un desarrollador). El proceso de instalación le enseña más sobre el sistema que cualquier otra distribución, respondiendo muchas preguntas que tendrá a medida que crea aplicaciones.
La mejor parte es que puede elegir qué tipo de programas desea desarrollar. Si desea java instale javac o gcj o ambos. El apoyo de la comunidad es como ningún otro, por lo que si tiene preguntas, serán respondidas o lo llevarán a donde necesita ir para encontrar la respuesta.
Cada IDE que se te ocurra está disponible para "emerger" / instalarlo en gentoo. Aunque no es increíblemente fácil de instalar o "simple" de entender, no obstante, es programación y si no puede instalar una copia de gentoo, no quisiera ejecutar sus programas en mi máquina. La mayoría de las dificultades que las personas tienen para instalarlo se derivan de la falta de conocimiento fundamental de Linux. Te prometo que te gustará después de que tengas todo configurado de la manera que te gusta.
Después de instalarlo, puede hacer una copia de seguridad del alquitrán y ponerlo en cualquier computadora para la que tenga tiempo de reconfigurar un núcleo o usarlo para restaurar cuando las cosas se salgan de control.
fuente