Originalmente respondido: ¿Debería probar Linux para el código? Si es así, ¿qué distribución es la mejor?
Estoy leyendo esto como “¿Debería probar Tokio por comida?” y no me funciona
¿Qué distribución es la mejor?
- ¿Puedo ser desarrollador de software toda mi vida?
- ¿Cuáles son algunas de las formas de obtener una pasantía de desarrollador de software pagado en Alemania?
- ¿Qué desafíos técnicos implica un motor de procesamiento de registro de big data?
- ¿Existe una habilidad técnica que pueda adquirir solo si trabaja en Microsoft?
- Como ingeniero de software, ¿qué idioma / marco debo aprender a trabajar por cuenta propia (móvil, web, servidor, empresa, front-end, back-end, base de datos, etc.)?
Tengo uno en mente. Llegaremos en un minuto. Pero primero…
Cual computadora?
Sugeriría comenzar con la computadora que tiene. Si es posible, descargue un emulador de máquina virtual gratuito (VirtualBox o QEMU o similar). Esto te permitirá probar el mundo de Linux sin separarte del mundo con el que ya estás familiarizado.
VirtualBox 5.0 para Windows. Dentro de VirtualBox se está ejecutando Ubuntu 14.04.
El software Virtual Machine le permitirá crear una nueva “computadora” dentro de una computadora. Obtendrá una ventana que se parece a lo que vería en el monitor de una computadora dedicada a ejecutar Linux, pero aún así podría ‘salir’ de esa ventana para revisar su correo electrónico, usar la web, leer Quora, etc.
Esta es una ventaja sobre el arranque dual (¿duelo?) Donde entrar en el mundo Linux requiere dejar completamente atrás el mundo familiar. La desventaja de la solución ‘máquina dentro de una máquina’ es que el rendimiento de cada virtual (y el host) está limitado por la potencia subyacente del hardware real de la computadora. Por ejemplo, es probable que desee utilizar una máquina con suficiente memoria para permitir 500 Mb (medio gigabyte) para cada instancia de máquina virtual que inicie, y una CPU fabricada en algún momento de este milenio (2000 o posterior).
¿Pero qué distribución?
Hay muchas opciones, ¿eh? Aquí hay una forma de descomponerlo. La mayor parte de lo que aprenda sobre cualquier distribución de Linux también será aplicable a todos los demás. Entonces, en ese sentido, no hay mucha diferencia. Pero hay ciertas áreas para prestar atención:
- Hardware:
Querrá atenerse a las distribuciones que se crean para el mismo procesador en su host. Esto casi siempre es Intel. Pero si tiene una computadora basada en PPC (o alguna otra plataforma), a menudo hay una solución de Linux.
- Gerente de empaquetación
Un administrador de paquetes es la pieza de software que le permite agregar un nuevo software a su computadora. En el mundo de Apple, llamaríamos a esto la App Store. Las distribuciones de Linux generalmente se construyen alrededor de uno de los dos administradores de paquetes, ya sea basado en Debian (apt) o basado en Red Hat (yum, anteriormente rpm).
Hay envoltorios GUI para estos gestores de paquetes (para la multitud del Tour-Group) …
El Centro de software de Ubuntu, sección Herramientas para desarrolladores.
… o las versiones de línea de comandos, para aquellos que prefieren la experiencia de safari:
El administrador de paquetes de aptitudes , se enfoca en intérpretes de idiomas
Como podemos ver, también hay algunas opciones aquí.
O simplemente deje que el shell descubra lo que necesita y cómo obtenerlo:
- Para el código …
¿Qué idioma te interesa codificar? Existen IDE para la mayoría de los lenguajes populares (Java, C), pero le animo a que explore también nuevos lenguajes (Haskell, Erlang).
¿Pero qué distribución?
Independientemente de la distribución que elija, si está en él para la codificación, eventualmente deberá caer en un shell.
Así que tómese el tiempo para aprender bash, el shell de comandos predeterminado de la mayoría de las computadoras Linux y UNIX. En la capa de shell, estás lo más cerca posible del kernel de Linux sin escribir el código del kernel. Y tendrá el control completo de la capa de aplicación, para que pueda instalar, ejecutar y controlar las aplicaciones que necesite.
Por supuesto, aprender el bash shell es difícil de hacer solo, pero fácil si tienes una guía. Aquí hay una guía que puede usar:
Linux desde cero (LFS)
Entonces, ¿qué distribución?
Eres propio, por supuesto. Una vez que tenga instalada cualquier distribución de Linux en una máquina virtual, LFS le enseñará todo lo que necesita saber sobre cómo se organiza una distribución completa (desde sistemas de archivos hasta opciones de compilación y carga de pilas de compilación para administradores de paquetes y utilidades del sistema, todo lo que hace que buen codificador en un gran codificador) mientras le enseña los comandos de shell específicos para realizar esas tareas.
Un fragmento del proyecto LFS sobre la construcción de un sistema de archivos
El sistema resultante será tan poderoso como lo necesite, sintonizado específicamente para el hardware que tiene, libre de bloatware innecesario, y como lo ha ensamblado usted mismo, sabrá cómo solucionarlo. Más que solo aprender a codificar, ahora tiene las herramientas y el conocimiento para convertirse en un arquitecto de sistemas.
Como un resumen:
- Descargue el software de máquina virtual para su computadora y sistema operativo actual.
- Descargue un archivo .iso de instalación de Linux. Use Ubuntu si solo necesita comenzar.
- Dígale a la máquina virtual que use el archivo .iso para arrancar, y pronto debería tener una distribución de Linux en ejecución en una ventana de su escritorio.
- Dentro de esa máquina virtual, siga los pasos de LFS para crear una nueva instalación de Linux, desde cero.
Ahora está listo para comenzar a explorar, ampliar y codificar su camino hacia el futuro.
Aporta a Sudhansu Bhusan Mishra la oportunidad de responder esta pregunta.