Programación: El lenguaje de la tecnología


Programación

Muchos consideran que la programación es solo “picar” código pasando largas horas delante de un ordenador.

Sin embargo, también implica otras fases muy diferentes y necesarias.

Si nunca te paraste a pensarlo, es el momento idóneo para aprender algo nuevo.

¡Te invito a descubrir…

1.En que consiste la programación

2.Cuál es la función de un programador

3.Y como se pueden clasificar (de forma general) los lenguajes de programación

¿Qué es programación?


La programación (en informática), es el uso de algoritmos codificados en lenguajes escritos para ser ejecutados y cumplir una determinada función en dispositivos informáticos.

Todo proceso de programación, implica una serie de conceptos con los que puede que no estés muy familiarizado, ya que la mayoría de las personas no los usamos en nuestro día a día.

El primero y más importante es el de algoritmo, porque es el punto de partida para cualquier programa.

Pero, ¿qué es un algoritmo?

Qué-es-programación
Explicación de que es la programación con sus conceptos más importantes

Pues, no es más que una serie de pasos en un proceso, una serie de ordenes preestablecidas. Nos sirven para establecer la mejor forma en la que podemos operar para conseguir un resultado.

Al oír hablar sobre ellos, muchas veces los relacionamos con complejidad, y ciertamente hay algunos muy complejos. Pero realmente también los hay muy simples. Sin ir más lejos, cualquier orden que nos demos, como por ejemplo, de que forma voy a limpiar la cocina hoy, es un algoritmo.

Una vez que hemos establecido las pautas claras de lo que queremos hacer, llega el proceso de traducir (codificar) la información de los algoritmos desde un lenguaje que entendemos nosotros, hasta un lenguaje que entiende un ordenador, también conocido como lenguaje de programación.

En la práctica una vez que este lenguaje ha sido insertado, solo necesitamos añadir datos (input) para que el ordenador los procese junto con el algoritmo, dando como resultado otros datos (output).

Si establecemos un paralelismo con un proceso productivo, vemos que la programación tiene unos elementos similares. Un procedimiento a seguir (algoritmo), maquinaria/personal que lleva a cabo las ordenes (ordenador) y una materia prima (datos) que se transforma en un producto (otros datos).

Hasta aquí, te he dado una explicación simple de lo que es programación. En el próximo apartado, vamos a ver un poco más lo que implica una vez que te “metes en faena”.

¿Qué hace un programador?


Como ya te mencione anteriormente, programar no es solo escribir código, sino que tiene otras actividades asociadas.

En primer lugar, y es al que la gente suele prestar menos atención o darle menor importancia, tendríamos la fase de diseño. Muchos programas operan con miles o millones de líneas de código, por lo que no basta con pensar en escribir que funciones queremos llevar a cabo, sino que orden lógico siguen y como interaccionan entre ellas.

Posteriormente a la escritura, es necesario testear como funciona el software. Durante esta fase se prueba si aparecen diferentes errores en el código; como la rotura, el bloqueo o la no correspondencia. En muchos casos, son los propios usuarios los que ayudan a los desarrolladores probando los programas.

Qué-hace-un-programador
Fases de la programación y evaluación final

Por último, tendríamos la fase de depuración, en la que buscamos diagnosticar cuál es el error que está ocurriendo y arreglarlo. Una vez terminada esta fase, el código debería cumplir lo mejor posible con estos cuatro principios:

  • Eficiencia: Buscamos un menor gasto en los recursos del dispositivo mientras funciona con la misma fluidez. Se puede buscar una optimización en general o bien una especializada, en el caso de que se trabaje con un hardware en particular.
  • Robustez: Asegurarnos de que el programa funcione de forma fluida, sin ningún error durante su funcionamiento. Esto es especialmente relevante cuando se trabaja con distintas plataformas, ya que multiplica el tiempo de testeo y depuración.
  • Legibilidad: Facilitar el trabajo de interpretación del código para futuras modificaciones u otros proyectos.
  • Confiabilidad: No basta con que un programa funcione sin interrupciones, sino que también tiene que llevar a cabo las funciones exactas, evitando cambios en su funcionamiento previsto.

Como puedes ver, el trabajo de un programador implica más que simplemente saber como escribir unas líneas. Es necesario que además tenga un enfoque holístico, analítico y crítico.

Clasificación de los lenguajes de programación


Existen muchas formas de clasificar a los lenguajes de programación.

Para que te hagas una idea clara, la realidad es que la mayoría de las clasificaciones son difusas. Hay mucha discusión al respecto.

Algunos ejemplos de estas clasificaciones serían; según el propósito para el que fueron creados (unos lenguajes son más fáciles de usar para ciertas aplicaciones) o basados en el paradigma que usan (lenguajes basados en la lógica, otros basados en el procedimiento, etc…).

Clasificación-lenguajes-de-programación
Tipos de lenguajes de programación según complejidad y fases de traducción

Dicho esto, creo que la mejor clasificación que te puedo mostrar es una que sea sencilla de entender y muy general.

Esta clasificación, se basa en el grado de complejidad de los lenguajes de programación. Visto desde este punto de vista, los lenguajes se pueden dividir en dos:

  • Alto nivel de programación: Se corresponden con los lenguajes que normalmente se usan para crear aplicaciones. Usan caracteres alfanuméricos, por lo que son fáciles de entender para las personas. Además, al usar este tipo de caracteres es más fácil que haya muchos significados distintos y posibilita su uso en casi cualquier dispositivo.
  • Bajo nivel de programación: Son los lenguajes que interpreta un dispositivo. Básicamente son lo contrario a lo anterior. Usan solo caracteres numéricos, lo que los hace más difíciles de entender para nosotros, pero a su vez hay menos significados . Todo esto, hace que estos lenguajes sean específicos de cada dispositivo.

Dentro de los de nivel bajo tendríamos dos grandes tipos:

  • Los ensambladores: Lenguajes que interpretan los dispositivos de forma muy básica
  • El código máquina: La sucesión de ceros y unos que son capaces de interpretar los dispositivos de forma rutinaria.

Para conseguir pasar de un nivel a otro, se usan “traductores” de estos lenguajes, que no son más que programas que permiten pasar de un nivel de programación a otro. De esta forma, se usan compiladores para pasar del alto nivel a lenguaje emsamblador, y ensambladores para pasar de lenguaje ensamblador a código máquina.

Es importante que entiendas que una de las principales razones que dificulta su clasificación, es que los lenguajes de programación se encuentran en constante evolución. Esto se debe, a que al igual que los lenguajes corrientes, evolucionan con el uso y la aplicación; y además lo han hecho en un periodo de tiempo mucho más corto.

Ahora, es tu turno…

¿Conocías todas las fases que implica la programación?

¿Piensas que los lenguajes se podrían clasificar de otra manera?

Lee más entradas relacionadas con esta categoría

Si te ha resultado interesante te agradecería mucho que lo compartieras. ¡Mil gracias!

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.