Introducción a los lenguajes de programación

Sistemas de Información

Algoritmo

Secuencia ordenada de pasos que resuelve un problema concreto.

 

Características

- Corrección (sin errores).

- Precisión (ausencia de ambigüedades).

- Repetitividad (solución genérica de un problema dado).

- Finitud (número finito de órdenes no implica finitud).

- Eficiencia (temporal [tiempo necesario] y espacial [memoria utilizada])

Sistemas Informáticos

  • El procesamiento de los datos lo hace un ordenador.
  • El algoritmo se describe mediante un programa.
  • Programa: Conjunto ordenado de instrucciones que se dan al ordenador indicándole las operaciones o tareas que ha de realizar para resolver un problema.
  • Para escribir programas utilizamos lenguajes de programación.

Desarrollo de programas

  • Análisis: Entender el problema.
  • Diseño: Creamos el algoritmo:  pseudocódigo.
  • Codificación: Escribir el algoritmo en un lenguaje de programación (Código fuente).
  • Ejecución y validación: Comprobamos que el programa resuelve el problema planteado.

Lenguajes de programación

...el ordenador?

...el programador?

¿Qué lenguaje entiende...

Lenguaje máquina

Lenguaje natural

Lenguaje máquina

El único que entiende directamente la CPU del ordenador

  • Depende del modelo de ordenador
  • Repertorio de instrucciones reducido (operaciones muy elementales)
  • Muy difícil programar en él (en binario, con cadenas de ceros y unos)

Lenguaje ensamblador

Equivalente al lenguaje máquina, cada línea de código se traduce en una instrucción para la máquina.

  • Le asocia mnemónicos a las operaciones que entiende la CPU
  • Repertorio de instrucciones reducido (operaciones muy elementales)
  • Programas difíciles de entender

 

Lenguaje de alto nivel

Permiten que el programador exprese el procesamiento de datos de forma simbólica, sin tener en cuenta los detalles específicos de la máquina.

  • Independientes del modelo de ordenador
  • Proporcionan un mayor nivel de abstracción

 

Traductores

Los traductores transforman programas escritos en un lenguaje de alto

nivel en programas escritos en código máquina.

Compilador

  • Convierte un programa escrito en alto nivel (código fuente) a un programa máquina (código ejecutable).
  • Para generar el código ejecutable el código no debe tener errores de sintaxis.
  • Necesitamos un compilador para cada arquitectura y sistema operativo.
  • Los programas ejecutables no son compatibles entre plataformas.
  • Una vez generado el programa ejecutable, no es necesario tener el código fuente.

Ejemplos:

C, Pascal, ...

Interprete

  • La traducción y ejecución de código fuente a código máquina se hace línea por línea.
  • Los errores de sintaxis aparecen cuando se interpreta la instrucción con error.
  • Necesitamos el código fuente para ejecutar el programa.
  • Los lenguajes interpretados suelen ser más lentos en su ejecución.

Ejemplos: python, php, ...

Máquina virtual

  •  La traducción se hace en dos pasos.
  • Primero se compila el código fuente a un código intermedio (bytecode).
  • Segundo, este bytecode se interpreta y ejecuta por una "máquina virtual".
  • El bytecode es multiplataforma.
  • Necesito una MV para cada plataforma.
  • No necesito el código fuente.

 

Ejemplos: java, c#, ...

Lenguajes de programación

By Jose Domingo Muñoz