Introducción.
De muchas características de los seres vivos en el planeta, la comunicación tiene un lugar importante, por ejemplo los chillidos y silbidos que emiten, comunican estados emocionales y a menudo, la presencia del peligro y la comida en la zona. Por otro lado, los delfines cuentan con capacidades impresionantes de lenguaje por medio de la ecolocalización. Algunos científicos creen que cuentan con lingüística para comunicarse con su manada. En este curso se abordaran temas relacionados con lenguajes de programación para computadoras, lo que podríamos decir que es el lenguaje entre humano-máquina.
Un lenguaje es un conjunto de cadenas de símbolos con los que se pueden crear mensajes. De ese modo los mensajes son transmitidos de un emisor a un receptor. Aún cuando en la naturaleza se pueden identificar ciertos lenguajes, los seres humanos hemos desarrollado lenguajes de diversos tipos y de gran complejidad. Los lenguajes constan principalmentede la gramática, la cual trata sobre la construcción del lenguaje, y la semántica, la cual trata sobre el significado del lenguaje. A su vez, la gramática consta de la morfología; el cómo se construyen las notaciones (género, tiempos, declinaciones) y la sintaxis: cómo se deben escribir las notaciones (orden, estructura).
Un lenguaje de programación tiene reglas tipo gramática y respeta sintaxis especifica según el lenguaje.
Antes de la invención de la computadora personal, una visionaria matemática estaba adelantada a su tiempo, puesto que podía elaborar programas para la computadora sin que esta existiera físicamente, su nombre Augusta Ada King, Condesa de Lovelace. Históricamente es la primer programadora de ordenadores. Análogamente es lo que ahora pasa con la computadora cuántica.
Durante el siglo XX, matemáticos como Jonh von Neuman y Alan Turing fundaron las bases del cómputo, la programación y sus lenguajes.
Los lenguajes de programación actuales, a diferencia de los lenguajes humanos tienen una morfología rígida y simplificada con el fin de ejecutar instrucciones específicas en los sistemas de cómputo. Los lenguajes de bajo nivel constan de un conjunto básico de instrucciones que son ejecutados directamente por la unidad de procesamiento de un sistema de cómputo, tal como es el caso del lenguaje ensamblador. Dichos lenguajes están ligados intrínsecamente al tipo de procesador que los ejecuta y resultan ser muy complicados de elaborar e interpretar por las personas.
Por su parte, los lenguajes de alto nivel son más accesibles para el ser humano e incluso menos dependientes del tipo de hardware, pero deben de ser a su vez traducidos a lenguaje de bajo nivel.
Los lenguajes de alto nivel interactúan con los sistema de cómputo de dos formas. Mediante un compilador, el cual traduce el código de un programa a lenguaje de bajo nivel, dando por resultado un "archivo binario" el cual es susceptible de ser ejecutado. Mediante un intérprete, el cual ejecuta de inmediato las instrucciones que se ingresan. Por lo general los lenguajes compilados son más rápidos y consumen menos recursos que los lenguajes interpretados en vista de que el archivo resultante es código de bajo nivel, mientras que los lenguajes interpretados deben seguir un proceso a través de varios niveles de abstracción hasta que las instrucciones son ejecutadas por el sistema.
Site elaborado por: Eymard Hernández López