AnteriorPosterior

0.1. Lenguajes de alto nivel y de bajo nivel

  Curso: Fundamentos de programación en C, por Nacho Cabanes

Vamos a ver en primer lugar algún ejemplo de lenguaje de alto nivel, para después comparar con lenguajes de bajo nivel, que son los más cercanos al ordenador.

Uno de los lenguajes de alto nivel más sencillos es el lenguaje BASIC. En este lenguaje, escribir el texto Hola en pantalla, sería tan sencillo como usar la orden

PRINT "Hola"

Otros lenguajes, como Pascal, nos obligan a ser algo más estrictos, pero a cambio hacen más fácil descubrir errores:

program Saludo;
 
begin
  write('Hola');
end.

El equivalente en lenguaje C resulta algo más difícil de leer, por motivos que iremos comentando un poco más adelante:

#include <stdio.h>
 
int main() 
{
  printf("Hola");
  return 0;
}

Los lenguajes de bajo nivel son más cercanos al ordenador que a los lenguajes humanos. Eso hace que sean más difíciles de aprender y también que los fallos sean más difíciles de descubrir y corregir, a cambio de que podemos optimizar al máximo la velocidad (si sabemos cómo), e incluso llegar a un nivel de control del ordenador que a veces no se puede alcanzar con otros lenguajes. Por ejemplo, escribir Hola en lenguaje ensamblador de un ordenador equipado con el sistema operativo MsDos y con un procesador de la familia Intel x86 sería algo como

dosseg
.model small
.stack 100h
 
.data
hello_message db 'Hola',0dh,0ah,'$'
 
.code
main  proc
      mov    ax,@data
      mov    ds,ax
 
      mov    ah,9
      mov    dx,offset hello_message
      int    21h
 
      mov    ax,4C00h
      int    21h
main  endp
end   main

Resulta bastante más difícil de seguir. Pero eso todavía no es lo que el ordenador entiende, aunque tiene una equivalencia casi directa. Lo que el ordenador realmente es capaz de comprender son secuencias de ceros y unos. Por ejemplo, las órdenes "mov ds, ax" y "mov ah, 9" (en cuyo significado no vamos a entrar) se convertirían a lo siguiente:

1000 0011 1101 1000 1011 0100 0000 1001

(Nota: los colores de los ejemplos anteriores son una ayuda que nos dan algunos entornos de programación, para que nos sea más fácil descubrir errores- No todos los entornos mostrarán nuestros programas con colores, ni existe un único estándar de colores universalmente aceptados).

Actualizado el: 22-07-2014 22:32

AnteriorPosterior