La programación en Linux 1. Una breve introducción

La programación en Linux

Muchas veces quienes escribimos artículos o contestamos en foros sobre Linux, caemos en la mala costumbre de dar por sabidas cosas que los usuarios novatos no tienen por qué saber. Es por eso que cada tanto resulta conveniente dar un repaso a los conceptos básicos.

Cada vez hay más personas interesadas en programar y son muy frecuentes las preguntas sobre qué opciones de código abierto utilizar. Y acá es donde volvemos a hacer gala de otra mala costumbre, la de actuar como fanáticos religiosos que pretenden imponer sus alternativas preferidas sin tener en cuenta las necesidades del usuario que pregunta.

La programación en Linux

Es por eso que para complementar la enumeración de las herramientas de código abierto disponibles para Linux, que hacemos de manera periódica, vamos a repasar algunos conceptos

Qué es programar

Nuestra manera de interactuar con computadoras y dispositivos móviles sigue un paradigma creado en los laboratorios de investigación de la empresa Xerox en Palo Alto. Apple primero y Microsoft después copiaron el modelo de iconos y ventanas para sus sistemas operativos. Con el correr de los años iOS y Android, adoptarán el mismo esquema adaptándolos a teléfonos y tabletas

Antes de la interfaz gráfica, la manera de comunicarse con el equipo era escribir los comandos en una terminal. En un futuro puede que solo baste con pensar que es lo que queremos que haga.

Pero, cualquiera sea la forma con la que nos comunicamos, el ordenador necesita que se le diga cómo responder a los requerimientos de los usuarios. De eso es lo que se ocupa la programación.

Programar es entonces proporcionar al dispositivo instrucciones expresadas en un lenguaje de programación que éste puede entender.

Diferencias entre codificar y programar

Aunque estos términos suene interpretarse como sinónimos no lo son. Codificar, perdón por la obviedad, es escribir código para crear un programa o sitio web.

La programación implica el proceso de desarrollar un programa desde el momento en que se identifica el problema del usuario hasta que se crea una aplicación para su uso como solución. También, se incluye la etapa de mantenimiento y actualización.

El clásico ejemplo de imprimir “Hola Mundo» en la pantalla, es entonces un ejercicio de codificación ya que no tiene el propósito de solucionar un problema ni cumple con el resto de las etapas del proceso.

La tarea de programar es una actividad compleja que requiere de múltiples instrumentos como herramientas para análisis de código, frameworks, compiladores, creadores de bases de datos, diseñadores de interfaces gráficas y depuradores.

Lo primero que necesitamos saber para ayudar al usuario es  si quiere aprender programación con un nivel profesional o solo escribir programas. Dado que la codificación solo requiere escribir sentencias en cualquier lenguaje de programación y, no se busca la eficiencia ni se pretende que el código pueda ser actualizado ni comprendido por otras personas, basta cualquier programa de escritura.

De la respuesta a esa pregunta sabremos si se siente más cómodo con un editor de código o un entorno integrado de desarrollo. Pero, no nos puede contestar eso sí no entiende cuál es la diferencia. Es lo que vamos a tratar de responder en este artículo.

Si se trata de escribir código cualquier editor o procesador de textos podría hacerlo. Solo hay que asegurarse de guardarlo con un formato que el sistema operativo puede identificar como código de un programa. La diferencia es que no dispondermos de ningún tipo de herramienta que ayude a verificar que no exista ningún tipo de errores.

Algunos de los editores de texto incluidos en las distribuciones Linux incluyen varios complementos para convertirlos en editores de código, pero para no confundir no vamos a insistir en ese tema.

Diferencias entre entornos integrados de desarrollo y editores de código

Para hacerla corta la diferencia es la que hay entre una navaja suiza y un destornillador. Los entornos integrados de desarrollo traen casi todo lo que se puede necesitar en la tarea de programación incluyendo la redacción de código, el autocompletado, el mercado de errores, la depuración, las pruebas y la compilación.
Hay entornos integrados de desarrollo que están optimizados para un lenguaje de programación específico y otros que son compatibles con varios. También los hay para sistemas operativos específicos como Android o Arduino.


El contenido del artículo se adhiere a nuestros principios de ética editorial. Para notificar un error pincha aquí.

2 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.   Camilo Bernal dijo

    Pues les cuento que yo no soy programador profesional pero me ha ido muy bien en Linux durante 11 años ya. Los únicos conocimientos ‘avanzados’ que he necesitado, han sido para escribir scripts en Bash/Python y toquetear algunos ficheros de configuración. Todo lo demás, me lo ha entregado la comunidad OpenSource compilado y listo para usar. Recién llegado de Windows en 2010, odiaba la terminal como nadie, y ahora se ha convertido en mi herramienta favorita y la que más uso :)

    Yo no sabría cómo hacer una gran aplicación desde cero para resolver un problema, compilarla, dotarla de interfaz gráfica y distribuirla, pero sé cómo usar programas pre-existentes con scripts y combinarlos para alcanzar cualquier resultado deseado, así que en la práctica no hace falta programar profesionalmente, y aún así he logrado resolver complejos problemas de Ingeniería Industrial en empresas medianas.

  2.   José Luis dijo

    ¡Excelente!