You are on page 1of 4

Capítulo

1

Introducción
1.1. Lenguaje
1.1.1. Léxico
El léxico de un lenguaje lo conforman las unidades mínimas con significado completo. A cada uno de estas unidades mínimas con significado se le conoce como lexema 1 . Por ejemplo, en el español, las palabras
y los símbolos de puntuación (que son usados para formar frases, oraciones y párrafos) conforman el léxico. A tales lexemas se les asocia un
significado preciso en términos de las frases construidas con ellos.

1.1.2. Gramática
La gramática de un lenguaje explica la forma en que se pueden construir frases en el lenguaje a partir del léxico. Usualmente la gramática
se presenta como una colección de reglas de reescritura, es decir, reglas
que indican como unos símbolos de la gramática pueden ser reescritos
por otros símbolos de la gramática o por lexemas. La idea es que al final
del proceso de reescritura solo se tengan lexemas. Por ejemplo en español una frase se puede reescribir como un sujeto y un predicado, a su
vez un sujeto se puede reescribir como un artículo, un sustantivo y un
1
La palabra lexema usada en este libro tiene un significado similar (pero no
igual) a la que se usa en lingüística. En lingüística las palabras móvil y móviles se
derivan del mismo lexema (móvil), es decir, son el mismo lexema (por las relaciones
semánticas propias del español), solamente que tienen diferente gramema (ε, -es).

1

ceros y unos (verdadero o falso). finalmente un sustantivo puede ser reescrito como la palabra perro. Para el computador no hay puntos intermedios.3. trabajar directamente en lenguaje natural. El sentido de una frase o una oración en español depende mucho del contexto en el que se escribe o dice la frase y del posible conjunto de significados el cual es muy grande. Al principio programar era muy complicado. 1.2. Esto exige que el programador exprese de forma precisa lo que desea hacer. sólo valores de verdad.1. Semántica La semántica de un lenguaje define la forma en que se le asocia significado (sentido) a las frases construidas mediante la gramática. Los lenguajes de programación son aquellos lenguajes que nos permiten comunicarnos con el computador para ordenarles que hacer. Un error en el cableado en este sentido era difícil de detectar. En programación nosotros tenemos un lenguaje bien definido donde los significados de las frases son exactas. Lenguajes de Programación Los computadores hacen exactamente lo que se les dice.2 CAPÍTULO 1. INTRODUCCIÓN adjetivo. Los programas eran representados por huecos en tarjetas. para los computadores actuales. Posteriormente se pensó en separar el programa de la parte física y así es como llegaron las tarjetas perforadas inspiradas en el invento del telar. Este hecho es lo que hace difícil. 1. En español la semántica no es fácil de definir ya que intervienen elementos muy elaborados que han sido construidos de manera natural a través del tiempo (cada objeto/idea conocido(a) por el ser humano esta asociado(a) con una palabra). El lenguaje español es muy ambiguo. Desde este punto. la lógica nos permite entender los lenguajes de programación. . El problema consistía en la forma en la que se cableaban los circuitos. de desordenarse las tarjetas el programa dejaría de funcionar. En el principio los programas se hacían casi que en hardware: se requería que los programas se escribieran cableando ciertas compuertas de la máquina para determinar que el programa hiciera lo que tenía que hacer. La máquina realizaba lecturas de aquellos huecos de las tarjetas en un orden específico.

Lenguaje de máquina: Es el único lenguaje que entiende el hardware (máquina) y usa exclusivamente el sistema binario (ceros y unos). etc. La estructura de una instrucción en lenguaje máquina es la siguiente: CODIGO ARGUMENTO(S) Lenguaje ensamblador: Surgió la necesidad de desarrollar un lenguaje de nivel mayor al de la máquina. A estos computadores solían acercarseles insectos en busca de calor dañando los tubos. Se programaba revisando las salidas de los estados de los tubos (encendido ó 1 y apagado ó 0). generalmente escrito en lenguaje de máquina. Este lenguaje dió el salto fundamental. Estos aparatos eran grandes y costosos. . que es capaz de traducir de lenguaje ensamblador a lenguaje de máquina. Generalmente es específico (aunque no único) para cada lenguaje de máquina.2. usando dispositivos electro-mecánicos como relés y tubos de vacío. para codificar las operaciones.). Dicho salto se da cuando se logra separar el programa de la máquina empleando los conceptos de máquina de Turing y la arquitectura de Von Neumann. y se desarrolló una forma de construir un lenguaje intermedio que empleara mnemónicos (palabras cortas escritas con caracteres alfanuméricos). LENGUAJES DE PROGRAMACIÓN 3 Posteriormente el hombre construyó máquinas de cálculo para tareas muy específicas como investigación y militares.1. dispositivos. De allí proviene el termino “bug” (bicho de programación) conocido actualmente en programación como un defecto en el programa. El programa (tanto códigos de instrucción como datos) es almacenado en memoria. Este lenguaje es específico para cada hardware (procesador. Las máquinas de cómputo de esta generación tenían pocas facilidades de programación. Estos computadores dieron paso a los elementos transistorizados. Los datos y/o direcciones son codificados generalmente como números en un sistema hexadecimal. La comunicación se establecía en lenguaje de máquina (lenguaje binario: ceros y unos). La estructura de una instrucción en este lenguaje es la siguiente: MNEMONICO ARGUMENTO(S) Un Ensamblador es un software.

Lenguajes de alto nivel: Posteriormente se planteó la idea de generar un lenguaje mas parecido al lenguaje natural y que realizara la compilación del programa y generara un programa de código de máquina. Cuenta con un conjunto de palabras reservadas (escritas en lenguaje natural). Lenguajes como Basic empleaban interpretes tomando cada instrucción y traduciéndola a Ensamblador y de Ensamblador a código de máquina. logrando que la máquina completa pudiera controlar otro programa. Posteriormente se desarrollaron lenguajes intermedios que tomaran una parte compilada y otra interpretada. lo pasan a lenguaje ensamblador y luego lo ejecutan. Esto dió origen a los sistemas operativos. Gracias a su estructura gramatical. estos lenguajes permiten al programador olvidar el direccionamiento de memoria (donde cargar datos y/o instrucciones en la memoria). Dichos lenguajes están basados en una estructura gramatical para codificar estructuras de control y/o instrucciones. y generalmente representan las cantidades numéricas mediante sistema decimal. Los primeros toman todo el programa en lenguaje de alto nivel.4 CAPÍTULO 1. Java compila su código y genera código bytecode que se ejecuta en una máquina virtual específica que conoce las instrucciones de bytecode permitiendo su ejecución en diferentes sistemas operativos. El lenguaje de programación C entra en esta categoría de lenguajes. ya que este se realiza mediante el uso de conceptos como el de variable. la traducen y la van ejecutando. Es cuando surgen lenguajes como Java y Python. Estos lenguajes permiten el uso de símbolos aritméticos y relacionales para describir cálculos matemáticos. INTRODUCCIÓN Almacenando el programa en memoria y empleando el hardware como elemento de control. . Los últimos toman instrucción por instrucción. Los compiladores e interpretes son software capaz de traducir de un lenguaje de alto nivel al lenguaje ensamblador específico de una máquina. Se planteó la idea de tomar un código y traducirlo completamente a lenguaje de máquina mediante un proceso de compilación.