Fundamentos de programación

Lenguajes de Programación

Un lenguaje de programación es un idioma artificial diseñado para expresar instrucciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.

Está formado de un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación.

Los programadores escriben instrucciones en diversos lenguajes de programación. La computadora puede entender directamente algunos de ellos, pero otros requieren pasos de traducción intermedios. Los lenguajes de programación pueden dividirse lenguajes de bajo nivel y lenguajes de alto nivel.

Los lenguajes de bajo nivel son mucho más rápidos que los lenguajes de alto nivel. La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente grandes, donde encontrar un error es casi imposible. El lenguaje máquina y ensamblador son ejemplos de lenguajes de bajo nivel:

  • Lenguaje máquina. Es el único que entiende directamente la computadora, utiliza el alfabeto binario que consta de los dos únicos símbolos 0 y 1, denominados bits. Fue el primer lenguaje utilizado en la Programación de computadoras, pero dejó de utilizarse por su dificultad y complicación, siendo sustituido por otros lenguajes más fáciles de aprender y utilizar, que además reducen la posibilidad de cometer errores. Los procesadores trabajan con ceros y unos (bits) Unidad de memoria básica: Byte (8 bits).

  • El lenguaje ensamblador, es un derivado del lenguaje maquina y esta formado por abreviaturas de letras y números. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina.

Como ventaja, es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, añadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener.

Los lenguajes de alto nivel son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina. Se trata de lenguajes independientes de la arquitectura de la computadora. Por lo que, en principio, un programa escrito en un lenguaje de alto nivel, se puede migrar de una máquina a otra sin ningún tipo de problema.

Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la maquina para la que están diseñando el programa. Tan solo necesitan un traductor que entiendan el código fuente como las características de la maquina.

Suelen usar tipos de datos para la programación y hay lenguajes de propósito general y de propósito especifico. Entre sus ventajas se encuentran la generación de código más sencillo y comprensible, que puede ser usado en diversas máquinas y, posiblemente, sistemas operativos. Las desventajas se presentan en la reducción de velocidad al ceder el trabajo de bajo nivel a la máquina, y algunos lengaujes requieren que la máquina cliente posea una determinada plataforma.

Ejemplos de este tipo de lenguajes: Python, Perl, PHP, Ruby, Lisp, Java, Fortran, C++, C#, entre otros

Un programa es una lista de instrucciones y operaciones (software) que deben ser realizadas en un dispositivo (hardware). Por lo general el software se divide en dos categorías: el software del sistema, que es un conjunto de programas indispensables para que el hardware funcione y software de aplicación que realiza una tarea específica.

Existen distintos tipos de programas, los más comunes son:

  • Programa fuente. Programa escrito en un lenguaje de alto nivel. Es generalmente el archivo de tipo texto plano en el que el programador escribe y corrige sus programas.
  • Programa objeto. Programa escrito en lenguaje de máquina. Es generalmente el producto de un proceso de compilación del programa fuente. Es el programa que puede ser ejecutado por el usuario en un sistema operativo. Es un código que no puede ser corregido por el usuario y realiza una tarea específica, la diseñada por el programador.