Beruflich Dokumente
Kultur Dokumente
Apunte
Profesor
Lic. Sebastin Torralba
Contenido
Concepto de Lenguaje de Programacin ....................................................................................... 2
Historia de Los Lenguajes de Programacin ...................................................................................3
Sintaxis y Compilacin de Los Lenguajes de Programacin ............................................................3
Sintaxis: ......................................................................................................................................3
Semntica: ................................................................................................................................ 4
Pragmatismo: ............................................................................................................................ 4
Compilacin: ............................................................................................................................. 4
Criterios de Diseo ........................................................................................................................ 4
Simplicidad ................................................................................................................................ 4
Extensibilidad ............................................................................................................................ 4
Eficiencia ................................................................................................................................... 4
Seguridad .................................................................................................................................. 5
Portabilidad ............................................................................................................................... 5
Concepto de Paradigma ................................................................................................................ 5
Clasificacin de Paradigmas de Programacin .......................................................................... 5
Paradigma Imperativo ........................................................................................................... 6
Paradigma Declarativo .......................................................................................................... 6
Paradigma Estructurado ........................................................................................................ 6
Paradigma Funcional ............................................................................................................. 6
Paradigma lgico ................................................................................................................... 6
Paradigma Orientado a Objetos ............................................................................................. 7
Tipos de Lenguajes de Programacin ......................................................................................... 7
Nivel de Abstraccin del Procesador ...................................................................................... 8
Paradigma de Programacin ................................................................................................. 9
Forma de Ejecucin .............................................................................................................. 10
Los lenguajes de Programacin facilitan la creacin de programas debido a que solucionan ciertas
falencias de los Lenguajes Naturales.
Complejidad: Los Lenguajes Naturales poseen un gran abanico de palabras de las cuales
solo usamos una pequea fraccin de ellas. Los Lenguajes de Programacin (y de hecho
los procesadores tambin) tienen un juego reducidos de instrucciones, que facilita el
conocimiento completo del lenguaje.
Irregularidad: Si agrupamos las palabras segn cierto criterio, ese criterio debe
mantenerse tanto para la agrupacin, como para cada palabra que la compone. En Los
Lenguajes Naturales debido a su continua evolucin cada agrupacin tiene sus
excepciones a la regla.
Expresividad: Para representar una idea, los lenguajes naturales requieren adems de
muchsimo ms espacio fsico que en un lenguaje de programacin.
Sintaxis:
Es la definicin de la estructura de las sentencias dentro de un lenguaje de programacin, para lo
cual se utiliza una simbologa definida para cada lenguaje, la correcta combinacin de simbologa
es lo que es concerniente la sintaxis.
Palabras Reservadas
Operadores
Caracteres Especiales
Identificadores
Expresiones
2) x := x + y; (Pascal)
3) x = x + y (BASIC, FORTRAN)
Pragmatismo:
Es el Sentido de una sentencia, debido a que dos sentencias idnticas validas sintcticamente y
semnticamente, varan debido al contexto de ejecucin. Esto toma una forma ms tangible
cuando veamos el polimorfismo de algunos lenguajes de programacin.
Compilacin:
La Compilacin es la traduccin del cdigo fuente en el cdigo que una computadora es capaz de
interpretar, dicha traduccin puede suceder de tres maneras diferentes
1. Interprete
2. Compilador
3. Compilador para Mquina Virtual
Criterios de Diseo
Simplicidad
Todo Lenguaje debe ser simple de leer y escribir programas facilitando el desarrollo y su posterior
mantenimiento.
Extensibilidad
Debe permitir la creacin de nuevos objetos, tipo de datos, funciones, a partir de las primitivas
propuestas por el Lenguaje
Eficiencia
Existen dos puntos de vistas, para determinar la eficiencia de un lenguaje de programacin:
Seguridad
Debe proveer los mecanismos necesarios para prevenir, sentencias que violen la semntica del
lenguaje, es decir, que verifique los tipos de datos utilizados, las llamadas a funciones, los accesos
a memoria.
Portabilidad
Es la cualidad mas deseada en un lenguaje, para que el programa pueda ejecutarse no solamente
en la plataforma para la cual fue creado. Dicha Portablidad estar dada ya sea por la
recompilacion para la nueva plataforma, la implementacin del interprete o maquina virtual para
los lenguajes de script (interpretados) o de cdigo intermedio respectivamente.
Concepto de Paradigma
Describe la programacin como una secuencia de instrucciones o comandos que cambian el estado
de un programa. El cdigo mquina en general est basado en el paradigma imperativo. Su
contrario es el paradigma declarativo. En este paradigma se incluye el paradigma procedural.
Paradigma Declarativo
No se basa en el cmo se hace algo (cmo se logra un objetivo paso a paso), sino que describe
(declara) cmo es algo. En otras palabras, se enfoca en describir las propiedades de la solucin
buscada, dejando indeterminado el algoritmo (conjunto de instrucciones) usado para encontrar esa
solucin. Es ms complicado de implementar que el paradigma imperativo, tiene desventajas en la
eficiencia, pero ventajas en la solucin de determinados problemas.
Paradigma Estructurado
Paradigma Funcional
Paradigma lgico
Este paradigma se basa en los conceptos de lgica matemtica; trabaja con predicados que
caracterizan o relacionan a los individuos involucrados y la deduccin de las posibles respuestas a
una determinada consulta.
Es un tipo de paradigma de programacin declarativo. La programacin lgica gira en torno al
concepto de predicado, o relacin entre elementos. Define reglas lgicas para luego, a travs de un
motor de inferencias lgicas, responder preguntas planteadas al sistema y as resolver los
problemas. Ej.: Prolog.
La programacin orientada a objetos intenta simular el mundo real a travs del significado de
objetos que contiene caractersticas y funciones. Est basado en la idea de encapsular estado y
operaciones en objetos. En general, la programacin se resuelve comunicando dichos objetos a
travs de mensajes. Su principal ventaja es la reutilizacin de cdigo y su facilidad para pensar
soluciones a determinados problemas.
El lenguaje de programacin elegido para trabajar es Java, que pertenece al paradigma orientado
a objetos, el cual desarrollaremos ms adelante en este apunte.
Bajo Nivel
Segn Nivel de
Abstraccin del Medio Nivel
Procesador
Alto Nivel
Estos lenguajes se caracterizan por expresar los algoritmos de una manera adecuada a la capacidad
cognitiva humana, en lugar de a la capacidad ejecutora de las mquinas. En los primeros lenguajes
de alto nivel la limitacin era que se orientaban a un rea especfica y sus instrucciones requeran
de una sintaxis predefinida. Se clasifican como lenguajes procedimentales.
Otra limitacin de los lenguajes de alto nivel es que se requiere de ciertos conocimientos de
programacin para realizar las secuencias de instrucciones lgicas.
Paradigma de Programacin
Segn el Paradigma de Programacin, los lenguajes se clasifican en:
Declarativo
Estructurado
Segn el Paradigma de
Programacin
Orientado a
Objetos
Funcional
Lgico
La descripcin de cada uno de los paradigmas tiene una seccin especfica, ms adelante en este
material.
Forma de Ejecucin
Segn la Forma de Ejecucin, los lenguajes de programacin, se clasifican en:
Compilados
Segn la Forma
de Ejecucin
Interpretados
Lenguajes Compilados
Los compiladores son aquellos programas cuya funcin es traducir un programa escrito en un
determinado lenguaje a un idioma que la computadora entienda (lenguaje mquina con cdigo
binario).
Al usar un lenguaje compilado, el programa desarrollado es controlado previamente, por el
compilador, y por eso nunca se ejecuta si tiene errores de cdigo. Es decir, se compila y si la
compilacin es exitosa ese programa se puede ejecutar.
Lenguajes Interpretados