0. CONCEPTOS BÁSICOS SOBRE PROGRAMACIÓN
Un programa es un conjunto de órdenes para un ordenador o computadora. Éstas órdenes se le deben dar en cierto lenguaje que la computadora sea capaz de "entender".
El problema es que los lenguajes que realmente "entienden" los ordenadores resultan difíciles para nosotros porque son muy distintos de lo que utilizamos habitualmente para hablar. Escribir programas en el lenguaje que utiliza internamente la computadora (Llamado lenguaje máquina o código máquina), es una trabajo duro , tanto para crear el programa como en el momento de corregir algún fallo o mejorar lo que se hizo. Por eso en la práctica se emplean lenguajes más parecidos al lenguaje humano, llamados lenguajes de alto nivel. Normalmente estos son muy parecidos al idioma inglés, aunque siguen unas reglas mucho más estrictas.
0.1 LENGUAJES DE ALTO NIVEL Y DE BAJO NIVEL
Vamos a ver en primer lugar algún ejemplo de un 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:
PRINT "Hola"
Otros lenguajes, como Pascal (que en la actualidad casi nadie lo usa), nos obligan a ser más estrictos pero a cambio hacen más fácil descubrir posibles 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 más adelante.
#include<stdio.h>
int main(){
printf("Hola");
}
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 MS-DOS 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 dx,ax
mov ah,9
mov dx,offset hello_message
int 21h
mov ax,4C00h
int 21h
main endp
end main
Resulta 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 dx,ax" y "mov ah,9"(en cuyo significado no vamos a entrar), se convertiría en 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 sea más fácil descubrir errores, para que sea más legible e identificar las partes de nuestro programa.
No hay comentarios.:
Publicar un comentario