Documentos de Académico
Documentos de Profesional
Documentos de Cultura
http://competenciastic.educ.ar
Fascculo 4
http://competenciastic.educ.ar
COBOL
SNOBOL
LISP y PROLOG
C y ADA
PL/I
Fascculo 4
http://competenciastic.educ.ar
tuacin, de manera similar a los lenguajes naturales escritos. Por otra parte, hay
algunos lenguajes de programacin que son ms grficos en su naturaleza y utilizan relaciones visuales entre smbolos para especificar un programa.
La sintaxis de un lenguaje de programacin describe adems las combinaciones
posibles de los smbolos que forman un programa sintcticamente correcto. El
significado que se le da a una combinacin de smbolos es manejado por
su semntica.
La sintaxis de los lenguajes de programacin se define mediante la utilizacin de
una combinacin de expresiones. Veamos como caso esta gramtica simple, tomada de Lisp, una familia de lenguajes de programacin de computadora de tipo
funcional con una larga historia y una sintaxis desarrollada completamente entre
parntesis.
Desarrollado originalmente en 1958, es el segundo ms viejo lenguaje de programacin de alto nivel (el primero es el Fortran).
Fascculo 4
http://competenciastic.educ.ar
todava puede tener un significado que no es el que la persona que lo escribi estaba tratando de construir.
Usando el lenguaje natural, por ejemplo, puede no ser posible asignarle significado
a una oracin gramaticalmente vlida, o la oracin puede ser falsa:
Los ideales verdes y descoloridos duermen estrepitosamente, es una oracin bien
formada gramaticalmente, pero no tiene significado comnmente aceptado.
Manuel es un soltero casado tambin est bien formada gramaticalment, pero expresa un significado invlido, contradictorio.
Es decir que un lenguaje de programacin consta de un conjunto de
smbolos y un conjunto de reglas vlidas para componerlos, para
que conformen un mensaje con significado para la computadora.
En sntesis, los lenguajes de programacin constan de:
Un conjunto finito de smbolos, a partir del cual se define el lxico o vocabulario del lenguaje.
Un conjunto finito de reglas, la gramtica del lenguaje, para la construccin de
las sentencias correctas del lenguaje (sintaxis).
Semntica, que asocia un significado la accin que debe llevarse a cabo a
cada posible construccin del lenguaje.
Sistema de tipos
El lenguaje de programacin debe adems clasificar los valores y expresiones en
tipos, los cuales conforman un sistema cuyo objetivo es verificar el funcionamiento del programa y detectar operaciones invlidas.
Un sistema de tipos dota a los lenguajes de la capacidad de restringir los datos que
pueden ser asignados a las variables. Esto permite una cierta potencia a la hora de
detectar errores y mejora la comprensin del cdigo.
Cualquier sistema de tipos tiene sus ventajas y desventajas: mientras que por un
lado rechaza muchos programas incorrectos, tambin prohbe algunos programas
correctos que por alguna razn le resulten desconocidos.
Para poder minimizar esta desventaja, algunos lenguajes incluyen lagunas de
tipos, que son conversiones explcitas no chequeadas que pueden ser usadas por
el programador para permitir explcitamente una operacin normalmente no permitida entre diferentes tipos.
Para sintetizar, el sistema de tipos comn realiza las siguientes funciones:
Establece un marco de trabajo que ayuda a permitir la integracin entre lenguajes, la seguridad de tipos y la ejecucin de cdigo con alto rendimiento.
Fascculo 4
http://competenciastic.educ.ar
Proporciona un modelo orientado a objetos que admite la implementacin completa de muchos lenguajes de programacin.
Define reglas que deben seguir los lenguajes, lo que ayuda a garantizar que los
objetos escritos en distintos lenguajes puedan interactuar unos con otros.
Al diseo y estudio formal de los sistemas de tipos se le conoce como teora de
tipos.
Si les interesa profundizar sobre esta teora pueden consultar este material disponible en internet.
Les parece interesante aunque seguramente algo complejo lo que vieron hasta
aqu? Tranquilos, no son los nicos Hace no mucho tiempo, a finales de 1960, Edsger
Dijkstra, un cientfico de la computacin de origen holands, trat de simplificar los
pasos de la programacin. Desarroll el concepto de la programacin estructurada y defini que todos los programas pueden estructurarse en los siguientes pasos:
Secuencias de instrucciones
Una estructura de programa es secuencial si se ejecuta una tras otra a modo
de secuencia, es decir que una instruccin no se ejecuta hasta que finaliza la
anterior.
Instruccin condicional
La estructura selectiva permite la realizacin de una instruccin u otra segn un
criterio: solo una de estas instrucciones se ejecutar.
Iteracin (bucle de instrucciones)
Un bucle iterativo o iteracin de una secuencia de instrucciones hace que se
repitan mientras se cumpla una condicin: en un principio el nmero de iteraciones no tiene por qu estar determinado.
Si bien con esta teora los programas pueden ser ms fciles de entender, hoy en
da las aplicaciones informticas son mucho ms ambiciosas que las necesidades de
programacin existentes en los aos 60 principalmente debido a las aplicaciones
grficas por lo que las tcnicas de programacin estructurada no son suficientes.
Ello ha llevado al desarrollo de nuevas tcnicas, tales como la programacin
orientada a objetos y el desarrollo de entornos de programacin que facilitan
la programacin de grandes aplicaciones.
Gradualmente los expertos en computacin desarrollaron lenguajes de alto nivel
para facilitar el trabajo de los programadores. Esto fue tambin el resultado de una
demanda de los usuarios que reclamaban tareas ms complejas y procesos ms
potentes para sus computadoras. Esta exigencia de los usuarios hacia los programadores contina en la actualidad y cada vez son ms los especialistas dedicados a
desarrollar y potenciar nuevos lenguajes. Esto vuelve muy interesante a la programacin como disciplina.
En el siguiente cuaderno analizaremos con profundidad algunos de los perfiles profesionales del programador.
Fascculo 4
http://competenciastic.educ.ar
Fuentes
www.wikipedia.org
Fascculo 4
http://competenciastic.educ.ar