Aprender programación en Linux. Una breve introducción

Aprender programación en Linux

Uno de los mitos que los políticos y los medios de comunicación están instalando es que aquellos que no aprendan programación van a ser los nuevos analfabetos funcionales. Una buena excusa para gastar dinero de los contribuyentes en enseñarle a los niños a copiar del pizarrón o de Internet código que no entienden cómo funciona y que serán incapaces de recrear por si mismos.

Es cierto que la programación, bien enseñada, permite desarrollar habilidades de análisis y resolución de problemas, pero, no es la única disciplina con la que pueden desarrollarse.

No es que tenga nada en que los chicos (y los grandes) aprendan programación, pero que sea porque quieren hacerlo y no se limiten a copiar y pegar código de Stack Overflow.

Aprendiendo programacion en Linux

Linux es tal vez la mejor plataforma para aprender programación. A diferencia de Windows y Mac, todo el código de todo el sistema operativo está disponible para su estudio y modificación. También tiene el mayor surtido de herramientas para la creación de programas y, salvo aquellos de licencia privativa, todos los lenguajes de programación actuales y del pasado tienen una versión compatible.

En general, en Linux puedes ejecutar tus habilidades de programación en 3 niveles

El kernel Linux

El kernel es la piedra fundamental del sistema operativo. Es el que se ocupa de administrar los recursos de hardware. El Kernel Linux tiene una nueva versión cada 3 meses y cuenta con la colaboración de miles de personas, muchos de ellos en forma voluntaria y otros trabajando para empresas.

Para colaborar en el desarrollo del kernel Linux, necesitas dos cosas; una alta autoestima y un profundo conocimiento de su funcionamiento y del lenguaje de programación C. Lo primero es porque si bien cualquiera puede enviar modificaciones (parches), las críticas de los otros desarrolladores y de Linus Torvalds (el responsable principal del proyecto) suelen ser sangrientas.

Si no estás seguro de afrontar las críticas, puedes probar desarrollando un módulo. Esto puede ser un controlador para un hardware específico, un gestor de ventanas o cualquier otro programa que sirva de enlace entre el kernel y los programas usados directamente por el usuario.

Repito que esto es algo reservado para usuarios con profundos conocimientos del funcionamiento del kernel.

De todas formas, puedes encontrar una completa documentación para iniciarte en el tema aquí.

En general las distribuciones Linux suelen incluir las herramientas necesarias para compilar y ejecutar programas en C

Script para el intérprete de comandos

El intérprete de comandos es una herramienta para darle ordenes al sistema mediante el tipeo de texto. En los sistemas derivados de Unix se lo denomina shell. Las distribuciones Linux traen por defecto el shell llamado Bash. El conjunto de instrucciones de BASH hace posible crear programas para automatizar tareas y hacer cualquier otra cosa que no requiera interfaz gráfica.

Puedes crear tus propios script en el editor de textos de tu distribución y ejecutarlos desde el emulador de la terminal.

La documentación de Bash puedes hallarla aquí.

Creación de aplicaciones

Dejamos para el final la forma ideal de iniciarse, la creación de aplicaciones para el escritorio.

Existe mucho consenso de que el lenguaje ideal para iniciarse es Python. Ya viene preinstalado en todas las distribuciones y cuenta con una gran cantidad de documentación y ejemplos. La lista de entornos integrados de desarrollo nos llevaría un artículo por si sola.

En general suele recomendarse usar Visual Studio Code, pero, para mi una mejor opción es PyCharm Edu. Esta herramienta no solo permite crear programas si no aprender de otros programadores del lenguaje.

No voy a agotar en este artículo todas las opciones, que incluyen algunos de los lenguajes vigentes hace tiempo como Java, algunos recién llegados pero ascendientes como Go o Rust o reliquias del pasado como Logo o Cobol.

Lo importante es que si quieres aprender a programar investigues todos los lenguajes hasta encontrar uno con el que te sientas cómodo. Salvo que estés buscando una salida laboral, no importa lo que digan las estadísticas ni los avisos de empleo. Tiene que ser lo suficientemente bueno para ti.

Yo hace poco descubrí QB64, una versión de BASIC muy parecida a la usaba cuando aprendí a programar con la Commodore 64 y estoy muy feliz con los resultados.


10 comentarios, deja el tuyo

Deja tu 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.

  1.   un usuario inconforme dijo

    Una duda puntual: ¿qué políticos te dicen que si no aprendes programación te quedarás como analfabeta funcional? De los medios de comunicación lo podría creer, aunque los que yo sigo no lo mencionan, pero sí te enfatizan que saber programación te llevará más lejos; pero, ¿un político que hable de cosas de programación? Perdonen que dude pero 🤨❓

    1.    Jorge Robles dijo

      Que opinas de gambas?
      A mí en particular se me hace muy buena opción para los que solo somos aficionados y eventualmente requieres una aplicación. Que otra alternativa recomiendas versus sus web forms ?

      1. No lo probé.
        Como dije en el post, es lo que le resulta cómodo a cada uno. Tengo gente conocida que es fanática de FreePascal/Lazarus y no la sacas de ahí

  2.   Camilo Bernal dijo

    Yo veo en Linux y en el Software Libre una de las oportunidades más grandes para generar riqueza y conocimiento en América Latina. Es verdad que, por culpa de la herencia española, durante tres siglos nos repitieron que la ciencia y la tecnología eran cosas del diablo, y venían de Europa a quemar los poquísimos libros que entraban de contrabando.

    Pero estamos en el siglo XXI, y para las regiones pobres y atrasadas este tipo de tecnologías pueden ser una bendición. Aquí las empresas, las universidades y la sociedad en su conjunto tienen necesidades informáticas muy diferentes a las del primer mundo, y por eso el desarrollo comunitario es la respuesta.

    No son simples códigos; es una auténtica oportunidad de progreso y desarrollo. Por ahora, y como dijo Eduardo Galeano, «La diosa tecnología no habla español». Ojalá podamos cambiar eso

  3.   Guizans dijo

    Hola.

    Si te sientes cómodo con Basic, te recomiendo que pruebes Gambas. Está inspirado en el Visual Basic de Microsoft pero no es un clon. Es un lenguaje moderno y muy fácil de aprender y hacer programas. Las interfaces gráficas se hacen a golpe de click. Además tiene una comunidad hispanohablante muy activa. Te recomiendo que le eches un ojo a gambas-es.org. Ah, y está en casi todos los repositos de las grandes distribuciones.

    Un saludo

    1. Lo instalé ayer, en cuanto tenga un poco de tiempo libre lo voy a mirar más a fondo

  4.   reneco dijo

    Con lo que me siento cómodo sin ser programador. Editor Geany,
    Lenguajes Vala, FreeBASIC, Free Pascal y su IDE Lazarus.
    Pero eso de aprender a programar y ganar dinero no lo veo por ningún lado, de hecho la gente que gana dinero en mi país les piden un titulo y los ponen a administrar bases de datos, ademas de comprar software a precios millonarios con sobornos de por medio.

  5.   José Juan dijo

    Te pirateaste la foto del libro «Java a fondo 4ta edición», por lo menos menciona al autor del libro (pero sería recomendable mencionar al de la foto), es un excelente libro para aprender a programar en un GNU/Linux.

    1. José Juan
      La foto es de un sitio de imágenes bajo dominio público llamado Pixabay.com. Y expresamente dice que no se requiere atribución
      https://pixabay.com/es/photos/trabajo-escribir-equipo-port%C3%A1til-731198/

  6.   Tomás Soto dijo

    Soy ingeniero civil con más de 20 años de ejercicio profesional y me entusiasma la programación desde que estaba en la universidad. Aprendí a hacer programas en GWBASIC que luego desarrollé para toda la carrera. Ahora programo en Visual Basic de Excel y recientemente en Python. Es gratificante desarrollar programas que uso en mi profesión y en mis asuntos personales.