Convierte tu GNU/Linux en una Distro apta para el Desarrollo de Software

Convierte tu GNU/Linux en una Distro apta para el Desarrollo de Software

Actualmente Linux es el Rey a nivel de Sistemas Operativos usados por Especialistas del área de Tecnología de la Información (T.I.), ya sea en Servidores o en los Equipos de los Administradores de Servidores, y a nivel de Desarrolladores de Software este año alcanzado el mismo nivel al pasar según la encuesta Stack Overflow Developer Survey 2016 del 3° lugar con un 21,7% como la favorita de los Desarrolladores al 1° lugar con un 48,3% en la Stack Overflow Developer Survey 2018.

Actualmente el Ecosistema de aplicaciones de GNU/Linux cuenta con una amplia y excelente lista de programas para el Desarrollo de Software (Aplicaciones y Sistemas) que bien instaladas, configuradas e instaladas dentro de una Distribución GNU/Linux pueden abarcar un amplio espectro de posibilidades de lenguajes de programación.

Introducción

La lista de aplicaciones para GNU/Linux que exploraremos más adelante son actualmente solo algunas de las más conocidas y usadas en el ámbito de Desarrollo de Software sobre este Sistema Operativo. Las misma son actualizadas con mucha frecuencia y cuentan con buen soporte.

Y cada cierto tiempo salen nuevas o se incorporan nuevas aplicaciones ya existentes en el mundo Microsoft o Apple, elevando el nivel de calidad de aplicaciones que pueden ser desarrolladas bajo GNU/Linux.

Ya hace algunos años atrás hicimos unas publicaciones sobre el tema que son dignas de recordar y repasar, tales como Prepara Ubuntu (u otra distro) para el desarrollo web y Mis Herramientas para Desarrollo y Diseño Web con GNU/Linux. Pero hoy haremos una revisión más amplia de las mismas y de las Distros disponibles ya optimizadas para el Desarrollo de Software.

Las aplicaciones para el Desarrollo del Software han evolucionado mucho en calidad y prestaciones sobre GNU/Linux permitiendo así el soporte (base) necesario para que un novato o experto Desarrollador de Software pueda desenvolverse sobre este Sistema Operativo de forma óptima y adoptarlo como su Sistema Operativo principal de trabajo.

Desarrollo del Software sobre GNU/Linux: Editores, IDEs y Distros

A continuación lo que en la actualidad nos depara el Mundo GNU/Linux en el área del Desarrollo del Software:

Editores

Un editor de texto es un programa que permite crear y modificar archivos digitales compuestos únicamente por texto sin formato, conocidos comúnmente como archivos de texto o texto plano. Sin embargo, hay Editores de Texto que son avanzados y permiten o facilitan la identificación del lenguaje de programación usado dentro de un texto facilitando la comprensión y uso del mismo dentro del archivo. Algunos pueden ser de Terminal, es decir, sin interfaz gráfica, y otros de Escritorio, es decir, con interfaz gráfica.

Entre los más conocidos y usados sobre GNU/Linux tenemos:

Editores de Terminal

Editores sencillos con Interfaz Gráfica

Editores avanzados con Interfaz Gráfica

Editores Mixtos

Entornos de Programación Integrado

Un Entorno de Programación Integrado, mayormente conocido por las siglas IDE del nombre en ingles “Integrated Development Environment”, no es más que un programa u aplicación que trae empaquetado mayormente un editor de código, un compilador, un depurador y un constructor de interfaz gráfica. Los IDEs pueden ser aplicaciones por sí solas o pueden ser parte de aplicaciones existentes.

Entre los más conocidos y usados sobre GNU/Linux tenemos:

  1. Aptana
  2. Arduino IDE
  3. Codelite
  4. Eclipse
  5. Gambas
  6. JetBrains Suite
  7. Lazarus
  8. NetBeans
  9. Ninja IDE
  10. Python Idle
  11. Postman
  12. QT Creator
  13. Simply Fortran
  14. Visual Studio Code
  15. Wing Python IDE

Kit de Desarrollo de Software

Un Kit de Desarrollo de Software, mayormente conocido por las siglas SDK del nombre en ingles “Software Development Kit”, no es más que un conjunto de herramientas que ayudan al Desarrollador de Software a diseñar aplicaciones y sistemas permitiéndole y facilitándole el trabajo para un entorno tecnológico particular.

Las aplicaciones desarrolladas dentro de un SDK estarán destinadas a algún sistema operativo, plataforma hardware, consola de videojuegos o paquete de software en especial. Son muchos los recursos que puede contener un SDK, entre estos están:

  • Una interfaz de programación de aplicaciones (API).
  • Un entorno de desarrollo integrado (IDE) con un Depurador y un Compilador.
  • Códigos de ejemplo y documentaciones.
  • Un Emulador del entorno tecnológico requerido.

Entre los más conocidos y usados sobre GNU/Linux tenemos:

  1. .NET Core SDK
  2. Android SDK
  3. Java JDK

Sistemas de Control de Versiones

Un sistema de control de versiones (o sistema de control de revisiones) es una combinación de tecnologías y practicas para seguir y controlar los cambios realizados en los ficheros del proyecto, en particular en el código fuente, en la documentación y en las páginas web.

Todos los sistemas de control de versiones se basan en disponer de un repositorio, que es el conjunto de información gestionada por el sistema. Este repositorio contiene el historial de versiones de todos los elementos gestionados. Cada uno de los usuarios puede crearse una copia local duplicando el contenido del repositorio para permitir su uso. Es posible duplicar la última versión o cualquier versión almacenada en el historial.

Entre los más conocidos y usados sobre GNU/Linux tenemos:

  1. Bazaar
  2. CVS
  3. Git
  4. LibreSource
  5. Mercurial
  6. Monotone
  7. Subversion

Nota: De todos ellos Git es uno de los favoritos por su enorme comunidad, gran desarrollo y amplios complementos y Clientes gráficos. Si quieres saber más sobre los Clientes gráficos de Git visita este enlace de su pagina oficial: Clientes gráficos para Git en Linux.

Distros (Distribución GNU/Linux)

Sistema Operativo Libre creado a partir de un Kernel Linux y conjunto de aplicaciones GNU que permiten brindar mejoras para instalar fácilmente el mismo mediante las herramientas para su configuración y sistemas de administración de paquetes para la instalación de software adicional. La elección de una distribución depende de las necesidades del usuario y de gustos personales.

A nivel de Desarrolladores de Software encontramos recomendadas las siguientes:

Normales

Especializadas

  1. SemicodeOS
  2. ProgrammerOS

En el futuro próximo se espera lanzamiento de la versión 1.1 de la Distro MinerOS GNU/Linux la cual a diferencia de la versión 1.0 que es especial para su uso en el Hogar, la Oficina, la Minería Digital y Técnicos Informáticos, será especial para Desarrolladores de Software, Jugadores y Desarrolladores de Contenido Multimedia. Para conocer más sobre el futuro desarrollo de la versión de esta Distro pueden hacer clic sobre su nombre: MinerOS GNU/Linux 1.1 (Onix) o sobre la actual MinerOS GNU/Linux 1.0 (Petro).

Hasta aquí espero que esta publicación les sea de mucha utilidad, ya sea para instalar las múltiples aplicaciones sobre su Distro actual para hacerla apta para Desarrolladores de Software o decidir por el uso de una recomendada para los mismos. Hasta la próxima publicación!

 



Ingeniero en Informática y Administrador de Servidores GNU/Linux con certificación internacional de Linux: 1.- Certified Linux Administrator (CLA) 2.- Certified Linux Operator (CLI)

13 comentarios

  1.   juliuco nikelado dijo

    de primera colega , tas sembrao

  2.   Ing. Jose Albert dijo

    Gracias, por tu comentario! Siempre es un placer saber que los artículos son leídos y apreciados en su justa dimensión por los lectores del Blog.

  3.   URxvt dijo

    El artículo está muy bien pero no estoy de acuerdo con la segunda parte del primer párrafo. GNU/Linux tiene más y mejor recorrido para ser el rey para desarrolladores, y de hecho muchos lo usamos precisamente por todas las ventajas que trae para desarrollar. Y además de forma libre.

    Resumiéndolo: uso vim con +60 plugins, con un archivo de configuración de 1400 líneas que contiene funciones que he programado en VimL para que haga lo que yo quiero. Lo uso junto con el multiplexer tmux así tengo a mano la posibilidad de multiplexar la terminal para usar vim junto con todas las herramientas del ecosistema Unix: grep, sed, awk,… Además de git, está claro. Todo desde la terminal, con atajos de teclado, con aliases y con una configuración bien hecha.

    Las configuraciones de mi vim, mi tmux, mi zsh (intérprete de comandos alternativo a bash) y de muchos programas más están guardadas y subidas en una repo pública en github. Por cada instalación limpia de GNU/Linux, solo tengo que clonarla con git clone y crear los symlinks con stow. Y ya tengo la configuración que tantos años me ha llevado ir puliendo lista para usar, en pocos segundos, en cualquier máquina con un sistema Unix-based (sí, en Mac también serviría).

    Es obvio que no me dedico a programar en .Net ni en ninguna de las tecnologías que conviven mejor en el sistema operativo de la misma empresa: Windows. Y si programase en Java usaría un IDE de los buenos, de esos que no has mencionado: los de JetBrains, que sean de pago no es motivo para no mencionarlos.

    PS: Programo en C/C++, Go, Python y Perl, pero he usado decenas de lenguajes, como Basic, Bash, Lisp, eLisp, VimL, Lua, PHP, y diferentes implementaciones de SQL. Todo con vim/neovim, que junto con Emacs son los reyes de la programación. Empezaron hace muchos años pero han madurado y no han dejado de evolucionar, hasta tal punto que a día de hoy su uso se ha disparado. En calidad, solo VSCode de Microsoft se les acerca en algunas cosas, y les supera en C# (es el que usaría si programase ene C#), pero nada más. Atom y ST3 están bastante por debajo. Y por no mencionar nano, que eso sí es un editor a secas, ya que le falta absolutamente todo. xD

    Venga, saludos.

  4.   Ing. Jose Albert dijo

    Excelente comentario, y muy enriquecedor además! Gracias por tu aporte informativo sobre el uso de dichas aplicaciones enfocadas al desarrollo de software.

  5.   Diego de la Vega dijo

    Me ha gustado mucho tu artículo. Faltó poner (para los ex-Delphianos / pascalianos) el Lazarus, que es un IDE muy completo.

    Gracias por compartir tus opiniones con los fans de Linux.

  6.   robot tower dijo

    Gracias por compartir , muy buen articulo !!

  7.   Juan3446 dijo

    Se que no viene al caso, pero en las demas publicaciones todos los autores escriben sus nombres, pero aqui me llama la atencion que necesariamente tengan que indicar “Ing. Jose Albert” “Ing.” “Ingeniero” jeje se lee muy egocentrico o como que necesita escribirlo para que lo tomen en serio xD

  8. Ya te resolví tu problema! Saludos, suerte y éxito.

  9. Complementando la respuesta a URxvt debo decirte que me base en la Stack Overflow Developer Survey 2016 en la cual la Plataforma Linux esta en 3° lugar con un 21,7% como la favorita de los Desarrolladores. Investigando más, es decir, buscando la Stack Overflow Developer Survey 2017 y la Stack Overflow Developer Survey 2018, he encontrado que la Plataforma Linux subió a 24.2% para mantenerse en el 3° lugar para el 2017 y subió a 48,3% para ubicarse en un 1° lugar para el 2018.

    Por ende, tu tienes toda la razón, es decir, la Plataforma Linux es el Rey de los Sistemas Operativos de los Desarrolladores de Software para el 2018 a nivel mundial según esta famosa y respetada Página y Encuesta Mundial.

  10. Diego de la Vega ya incluí a Lazarus dentro de la publicación para que no quede por fuera tan útil IDE dentro de las recomendaciones.

  11.   Diego de la Vega dijo

    ¡Pues muchas gracias!

  12.   URxvt dijo

    Sí pero tampoco valoraría la calidad de GNU/Linux, Windows o Mac en lo que a desarrollo se refiere por el número de votos en una encuesta, ya que entonces caemos en la falacia ad populum, es decir, “es el Rey porque lo usa más gente”, cuando lo ideal sería decir que “es el Rey por X o por Y razones”, es decir, argumentando con evidencias lo que se afirma.

    Que en 2017 y 2018 el uso de GNU/Linux entre desarrolladores esté subiendo es solo un indicativo de que los desarrolladores están cayendo en la cuenta de que les trae ventajas, y creo que esto va vinculado a la propia popularización de GNU/Linux.

    Sí que es cierto que todo esto me sorprende. Emacs fue la primera aplicación GNU de la historia y sin embargo, sus grandes virtudes llegan mucho más tarde, como el famoso org-mode, en 2006, o incluso su plugin para git (magit), que es uno de los más completos que puedes encontrar.

    Vim es Vi Mejorado, tiene también sus años y observo que su uso está creciendo, probablemente influenciado por el fork neovim al que tantas mejoras le han añadido, y que ya ronda las 27.000 estrellitas a pesar de ser un programa solo para terminal, es decir, sin interfaz gráfica.

    Se ha popularizado una distro de Emacs llamada Spacemacs que es la unión entre Vim y Emacs (no deja de ser una configuración muy personalizada que cualquiera podría hacer).

    Se está popularizando el ‘Linux ricing’ que es una moda de personalizar GNU/Linux sin entorno de escritorio (ni Gnome, ni XFCE, ni KDE, ni Mate, ni Unity, ni LXDE, ni LXQT, ni Enlightment, ni…) pero con gestores de ventanas minimalistas (dwm, xmonad, awesome o i3wm a la cabeza siendo el más popular últimamente).

    Y yo mismo he cambiado. He dejado de usar Windows, he hecho todo el camino evolutivo, he usado todos los programas mencionados en este artículo y al final del camino he llegado en lo que sería i3wm con vim/neovim (son casi idénticos ahora mismo), tmux, e intentando hacer desde la terminal todo lo posible, por pura comodidad. Hasta tal punto que: surfraw me permite buscar en cientos de fuentes de información, que se abre con el navegador que le tenga configurado, en mi caso, w3m, que funciona dentro de la la terminal. Para música: cmus. Para chat: irssi o weechat. Un intérprete de comandos más completo que bash: zsh.

    Hasta tal punto que estoy usando la navegación vim (con h, j, k y l en vez de las flechitas) en todas las aplicaciones mencionadas, y cuando entro por web, ya sea en Chromium o Firefox, también las uso, con los muchos plugins que existen desde hace años, para mí sorpresa cuando los descubrí: cVim, VimFX, Vixen, QuantumVim, etc. De hecho, esta navegación con vim se puede activar en Emacs (evil mode), en Sublime Text (vintage), en Atom (con plugins), en VSCode (con plugins), en Qt Creator (opciones), en los IDE de JetBrains (opciones)…

    Todo esto es muy curioso porque lo que parecería ser que por ser antiguo o del pasado deje de ser usado y salgan aplicaciones nuevas y mejores, esto no ha sucedido, sino todo lo contrario. Las más antiguas son las que son más extensibles, configurables, que tienen más plugins y pueden hacer más cosas en resumen.

    En el 95 ya usaba Windows 95, y aprendí a programar poco después. No empecé a usar GNU/Linux hasta 2008 y el cambio se me hizo muy difícil, me costó pero con los años me fui adaptando. No hace ni 3 años que uso Vim, por lo tanto lo estaré usando desde 2015 aproximadamente. Parece que tendría que ser al revés, ¿no es así? Pues es bien curioso, porque no vuelvo atrás ni loco xD

    Y que conste que Emacs hace más cosas que Vim, mientras que Vim no puede hacer todo lo que hace Emacs, pero Emacs hace más de lo que pido (casi parece un SO) mientras que Vim está 100% enfocado a ser un editor.

    Saludos! 🙂

  13. URxvt excelente aporte como el otro. Tu experiencia con GNU/Linux es grandiosa… Ojala nos cuentes más atraves de otros comentarios en otras publicaciones o tus propias publicaciones. Tienes un Blog o pagina web propia?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.