Lenguajes
onibasblue23 de Junio de 2014
3.609 Palabras (15 Páginas)215 Visitas
Las lenguas son sistemas más o menos complejos, que asocian contenidos de pensamiento y significación a manifestaciones simbólicas tanto orales como escritas.
Aunque en sentido estricto, el lenguaje sería la capacidad humana para comunicarse mediante lenguas, se suele usar para denotar los mecanismos de comunicación no humanos (el lenguaje de las abejas o el de los delfines), o los creados por los hombres con fines específicos (los lenguajes de programación, los lenguajes de la lógica, los lenguajes de la aritmética...).
Nosotros, vamos a definir el lenguaje como un conjunto de palabras. Cada lenguaje está compuesto por secuencias de símbolos tomados de alguna colección finita.
En el caso de cualquier lengua natural (castellano, inglés, francés...), la colección finita es el conjunto de las letras del alfabeto junto con los símbolos que se usan para construir palabras (tales como el guión, el apóstrofe en el caso del inglés...). De forma similar, la representación de enteros, son secuencias de caracteres del conjunto de los dígitos {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}.
Un conjunto no vacío y finito de símbolos se conoce como alfabeto. Si ∑ es un alfabeto, y σ ∈∑ denota que σ es un símbolo de ∑. Por tanto, si ∑ = {0,1,2,3,4,5,6,7,8,9}, podemos decir que 0 . Obsérvese, que puesto que un alfabeto ∈∑ es simplemente un conjunto finito no vacío, dados 1 ∑ y 2 ∑ alfabetos, se tiene que ∑1∪∑2 también lo es. Es más, 2 ∑1∩∑, 2 ∑1− ∑ y 1 ∑2− ∑ , también son alfabetos.
Una secuencia finita de símbolos de un determinado alfabeto, se conoce como palabra sobre dicho alfabeto. Nuestra experiencia, nos lleva a identificar el término palabra con las palabras de cualquier lenguaje natural, por esta razón, a menudo se usa el término cadena en lugar de palabra, con el fin de evitar esta idea preconcebida. Se tratarán igual los términos cadena y palabra.
Cada símbolo de un alfabeto, es una cadena sobre dicho alfabeto. La cadena vacía, es una palabra sobre cualquier alfabeto. La palabra vacía, es una secuencia vacía de símbolos, tomados de cualquiera que sea el alfabeto en cuestión.
Los lenguajes, pueden ser bastante grandes, como lo es el caso de todas las palabras "correctas" que se pueden formar en castellano sobre el alfabeto castellano.
Dado que un lenguaje es un conjunto de cadenas, se puede tener el lenguaje compuesto por ninguna cadena, el lenguaje vacío. Éste, no es el mismo lenguaje que el que consta de la cadena vacía.
Lenguajes naturales
El lenguaje es la función que expresa pensamientos y comunicaciones entre la gente. Esta función, es llevada a cabo por medio de señales vocales (voz) y, posiblemente, por signos escritos (escritura), que conforman el lenguaje natural. Con respecto a nuestro mundo, el lenguaje nos permite designar las cosas actuales (y razonar a cerca de ellas) y crear significados.
Contrariamente a lo que ciertas teorías lingüísticas formales harían a uno creer, el lenguaje natural, no fue fundamentado sobre una verdad racional a priori, pero fue desarrollado y organizado, a partir de la experiencia humana, en el mismo proceso en que esta experiencia humana, fue organizada. En su forma actual, los lenguajes naturales, tienen un gran poder expresivo y pueden ser utilizados para analizar situaciones altamente complejas y razonar muy sutilmente. La riqueza de su componente semántico, y su cerrada relación con los aspectos prácticos de los contextos en los cuales son usados, da a los lenguajes naturales, su gran poder expresivo y su valor como una herramienta para razonamiento sutil.
Así como la formalización del componente semántico de un lenguaje natural, es decir, el constituyente del lenguaje por el cual las oraciones tienen o adquieren su significado, es bastante complicado, por otra parte, la sintaxis de un lenguaje natural, puede ser modelada fácilmente por un lenguaje formal similar a los utilizados en las matemáticas o en la lógica.
Otra propiedad única de los lenguajes naturales, es la polisémica, es decir, la posibilidad de que una palabra en una oración, tenga diversos significados, diversos valores. Por ejemplo, la palabra “pair” en el inglés, puede ser considerada primero como un sustantivo, y es usada entonces, en estructuras de frases como:
• “arrange in pairs”
• “the happy pair”
Sin embargo, puede también ser interpretada como un verbo transitivo en frases como por ejemplo:
• “two vases that pair”
• “to pair off with someone”
El carácter polisémico de un lenguaje, tiende a incrementar la riqueza de su componente semántico, más aún, este hecho no hace la formalización difícil, sino imposible. El carácter polisémico de los lenguajes, es considerado una propiedad adquirida recientemente, las formas primarias de los lenguajes naturales habrían sido similares a los lenguajes formales, y la poli semántica sería el resultado de un enriquecimiento progresivo. En suma, los lenguajes naturales se caracterizan por las siguientes propiedades:
• Desarrollados por enriquecimiento progresivo, antes de cualquier intento de formación de una teoría.
• La importancia de su carácter expresivo, es debida grandemente a la riqueza del componente semántico.
• Dificultad o imposibilidad de una formalización completa.
Lenguajes formales
La definición de una teoría de un lenguaje formal dado, precedió a su definición intensiva, como hemos llamado antes al establecimiento de una serie de propiedades o fórmulas, que definan unívocamente las oraciones correctas que componen un lenguaje natural.
El proceso de generación y desarrollo de un lenguaje formal, es inverso al de los lenguajes naturales, consecuentemente, las palabras y las oraciones de un lenguaje formal, son perfectamente definidas: una palabra mantiene el mismo significado prescindiendo del contexto en el que se encuentre. Como resultado de este proceso, obtendremos las llamadas gramáticas libres del contexto. En adición, el significado de símbolos es determinado exclusivamente por la sintaxis, sin referencia a ningún contenido semántico. Una función y una fórmula, puede designar cualquier cosa, solamente los operadores y relaciones que nos permiten escribir una fórmula como por ejemplo la igualdad, desigualdad, pertenencia, no pertenencia, conectivos lógicos, etc., y operadores algebraicos +, *, etc., tienen significados especiales.
Los lenguajes formales son, por todo esto, necesariamente exentos de cualquier componente semántico fuera de sus operadores y relaciones, y es gracias a esta ausencia de significado especial, que los lenguajes formales pueden ser usados para modelar una teoría de la mecánica, de la ingeniería electrónica, etc., en la lingüística u otra naturaleza, la cual asume el estatus del componente semántico de tal lenguaje. Esto equivale a decir, que durante la concepción de lenguajes formales, toda la ambigüedad anteriormente expuesta respecto a la semántica de una palabra, es anulada, es como si esta reducción al significado único debe manifestarse por sí mismo, como la eliminación del “mundo de significados” en el proceso de construir las fórmulas, al tiempo que se toca el nivel abstracto de estas construcciones. Es solamente, por medio de un paso adicional, que el significado es asignado a las fórmulas. Este paso, nos permite la posibilidad de asignar un criterio falso/cierto a cada fórmula.
El mundo de significados que es el componente semántico, solo existe en la teoría que uno intenta expresar a través del lenguaje formal. Por ejemplo, un componente semántico normalmente asociado con el lenguaje formal de una teoría cónica, es el movimiento de los cuerpos celestes, así mismo, sistemas lineales de todas las órdenes, son posibles componentes semánticos de teoría de matrices.
HERRAMIENTAS COMPUTACIONALES LIGADAS A CON LENGUAJES
LENGUAJES DE MÁQUINA
El lenguaje máquina de una computadora consta de cadenas de números binarios (ceros y unos) y es el único que "entienden" directamente los procesadores. Todas las instrucciones preparadas en cualquier lenguaje de máquina tienen por lo menos dos partes. La primera es el comando u operación, que dice a la computadora cuál es la función que va a realizar. Todas las computadoras tienen un código de operación para cada una de sus funciones. La segunda parte de la instrucción es el operando, que indica a la computadora dónde hallar o almacenar los datos y otras instrucciones que se van a manipular; el número de operandos de una instrucción varía en las distintas computadoras. En una computadora de operando único, el equivalente binario de "SUMAR 0814" podría hacer que se sume el valor que se encuentra en la localidad de almacenamiento o dirección 0814 al valor que se encuentra en la unidad aritmética lógica. En una máquina de dos operandos, la representación binaria de "SUMAR 0814 8672" podría hacer que se sume el valor que está en la localidad 8672 al valor que está en la dirección 0814. El formato de operando único es popular en las microcomputadoras más pequeñas; la estructura de dos operandos se encuentra en casi todas las demás máquinas.
Según los estándares actuales, las primeras computadoras eran poco tolerantes. Los programadores tenían que traducir las instrucciones de manera directa a la forma de lenguaje de máquina que comprendían las computadoras. Por ejemplo, un programador que escribiera la instrucción "SUMAR 0814" para una de las primeras máquinas IBM hubiera escrito:
000100000000000000000000000010111000
Además
...