Está en la página 1de 37

Lenguajes de Programacin

PROFESOR: CARLOS JIMNEZ


ALUMNOS: WILLIAN VERA - DERLIS DIAZ - FERNANDO BLANCO - MARCELO IBARRA -
JOEL GAUTO

Universidad Privada del Este
Facultad de Ciencias de la Informtica
Lenguaje de programacin
Un lenguaje de programacin es un
lenguaje formal diseado para expresar
procesos que pueden ser llevados a cabo
por mquinas como las computadoras.
Historia
Lenguajes
utilizados para
AI
Cdigo
mquina.
Lenguajes
ensamblador.
Lenguajes de
alto nivel
Lenguajes con un
propsito concreto
Elementos
Variables
Las variables podran calificarse como
contenedores de datos y por ello se diferencian
segn el tipo de dato que son capaces de
almacenar.
Vectores
Un vector no es ms que un conjunto de variables
consecutivas en memoria y del mismo tipo
guardadas dentro de una variable contenedor.
Caractersticas
Caractersticas
Condicionantes
Los condicionantes son estructuras de cdigo que indican que,
para que cierta parte del programa se ejecute, deben cumplirse
ciertas premisas

Los condicionantes ms conocidos y empleados en programacin
son:
If: Indica una condicin para que se ejecute una parte del
programa.
Else if: Siempre va precedido de un "If" e indica una condicin
para que se ejecute una parte del programa siempre que no
cumpla la condicin del if previo y si se cumpla con la que el
"else if" especifique.
Else: Siempre precedido de "If" y en ocasiones de "Else If".
Indica que debe ejecutarse cuando no se cumplan las
condiciones prvias.

Caractersticas
Bucles
Los bucles son parientes cercanos de los condicionantes, pero
ejecutan constantemente un cdigo mientras se cumpla una
determinada condicin.
Los ms frecuentes son:
For: Ejecuta un cdigo mientras una variable se
encuentre entre 2 determinados parmetros.
While: Ejecuta un cdigo mientras se cumpla la
condicin que solicita.
Caractersticas
Funciones
Las funciones se crearon para evitar tener que repetir
constantemente fragmentos de cdigo. Una funcin podra
considerarse como una variable que encierra cdigo dentro
de s.
Caractersticas
Sintaxis
A la forma visible de un lenguaje de programacin se le
conoce como sintaxis. La sintaxis de un lenguaje de
programacin describe las combinaciones posibles de los
smbolos que forman un programa sintcticamente correcto.
No todos los programas sintcticamente correctos son
semnticamente correctos.
1. "Las ideas verdes y descoloridas duermen furiosamente
2. "Juan es un soltero casado
Caractersticas
Sintaxis
A la forma visible de un lenguaje de programacin se le
conoce como sintaxis. La sintaxis de un lenguaje de
programacin describe las combinaciones posibles de los
smbolos que forman un programa sintcticamente correcto.
No todos los programas sintcticamente correctos son
semnticamente correctos.
Ejemplos
1. "Las ideas verdes y descoloridas duermen furiosamente
2. "Juan es un soltero casado
Caractersticas
Semntica esttica
La semntica esttica define las restricciones sobre la
estructura de los textos vlidos que resulta imposible o muy
difcil expresar mediante formalismos sintcticos estndar.
Para los lenguajes compilados, la semntica esttica
bsicamente incluye las reglas semnticas que se pueden
verificar en el momento de compilar.
Caractersticas
Sistemas de tipos
Un sistema de tipos define la manera en la cual un
lenguaje de programacin clasifica los valores y
expresiones en tipos, cmo pueden ser manipulados
dichos tipos y cmo interactan.
Objetivo: verificar y normalmente poner en vigor un
cierto nivel de exactitud en programas escritos en el
lenguaje en cuestin, detectando ciertas operaciones
invlidas.
Caractersticas
Lenguajes tipados versus lenguajes no tipados
De tipos
Se dice que un lenguaje tiene tipos si la especificacin de
cada operacin define tipos de datos para los cuales la
operacin es aplicable, con la implicacin de que no es
aplicable a otros tipos.
Por ejemplo, "este texto entre comillas" es una
cadena.
En la mayora de los lenguajes de programacin, dividir
un nmero por una cadena no tiene ningn significado.
Caractersticas
Lenguajes tipados versus lenguajes no tipados
Sin tipos
Un lenguaje sin tipos, permite que cualquier operacin se
aplique a cualquier dato, que por lo general se consideran
secuencias de bits de varias longitudes.
Caractersticas
Tipos estticos versus tipos dinmicos
Tipos estticos
Se determina el tipo de todas las expresiones antes de la
ejecucin del programa (tpicamente al compilar).
Por ejemplo, 1 y (2+2) son expresiones enteras, no pueden
guardarse en una variable que est definida como fecha.
Caractersticas
Tipos estticos versus tipos dinmicos
Tipos dinmicos
Determinan la validez de los tipos involucrados en las
operaciones durante la ejecucin del programa.
Los tipos estn asociados con valores en ejecucin en lugar de
expresiones textuales.
Permite que una misma variable se pueda asociar con valores de
tipos distintos en diferentes momentos de la ejecucin de un
programa.
Caractersticas
Implementacin
La implementacin de un lenguaje es la que provee una
manera de que se ejecute un programa para una
determinada combinacin de software y hardware.
Existen bsicamente dos maneras de implementar un
lenguaje: compilacin e interpretacin.
Caractersticas
Implementacin
Compilacin: es el proceso que traduce un programa
escrito en un lenguaje de programacin a otro lenguaje
de programacin, generando un programa equivalente
que la mquina ser capaz interpretar.

Interpretacin: es una asignacin de significados a las
frmulas bien formadas de un lenguaje formal
Caractersticas
Implementacin
Compilacin: es el proceso que traduce un programa
escrito en un lenguaje de programacin a otro lenguaje
de programacin, generando un programa equivalente
que la mquina ser capaz interpretar.

Interpretacin: es una asignacin de significados a las
frmulas bien formadas de un lenguaje formal
Caractersticas
Tcnica
Para escribir programas que proporcionen los mejores
resultados, cabe tener en cuenta una serie de detalles.
Correccin. Un programa es correcto si hace lo que debe hacer tal y
como se estableci en las fases previas a su desarrollo.
Claridad. Que el programa sea lo ms claro y legible posible, para
facilitar as su desarrollo y posterior mantenimiento.
Eficiencia. Que el programa sea correcto y que lo haga gestionando de
la mejor forma posible los recursos que utiliza.
Portabilidad. Cuando tiene la capacidad de poder ejecutarse en una
plataforma, ya sea hardware o software, diferente a aquella en la que se
elabor.
Caractersticas
Tcnica
Para escribir programas que proporcionen los mejores
resultados, cabe tener en cuenta una serie de detalles.
Correccin. Un programa es correcto si hace lo que debe hacer tal y
como se estableci en las fases previas a su desarrollo.
Claridad. Que el programa sea lo ms claro y legible posible, para
facilitar as su desarrollo y posterior mantenimiento.
Eficiencia. Que el programa sea correcto y que lo haga gestionando de
la mejor forma posible los recursos que utiliza.
Portabilidad. Cuando tiene la capacidad de poder ejecutarse en una
plataforma, ya sea hardware o software, diferente a aquella en la que se
elabor.
Cdigo Fuente
Licenciamiento
El cdigo fuente de un programa informtico (o software) es un
conjunto de lneas de texto que son las instrucciones que debe
seguir la computadora para ejecutar dicho programa. Por
tanto, en el cdigo fuente de un programa est escrito por
completo su funcionamiento.
Cdigo Objeto
En programacin, se llama cdigo objeto al cdigo que resulta de
la compilacin del cdigo fuente.

Consiste en lenguaje mquina o bytecode y se distribuye en
varios archivos que corresponden a cada cdigo fuente
compilado. Para obtener un programa ejecutable se han de
enlazar todos los archivos de cdigo objeto con un programa
llamado enlazador (linker).
Cdigo ejecutable
Cdigo ejecutable corresponde a las unidades de programas,
donde el ordenador puede realizar las instrucciones compiladas
mediante el compilador y el enlazador de libreras.

Generalmente vienen con la extensin EXE o COM, si los han de
ejecutar computadoras con Sistema Operativo de Windows o con
bits de marca que trae Linux para ser ejecutable.
Clasificacin
Nivel de abstraccin
1. Lenguajes de bajo nivel: La programacin se realiza
teniendo muy en cuenta las caractersticas del procesador.
2. Lenguajes de nivel medio: Permiten un mayor grado de
abstraccin pero al mismo tiempo mantienen algunas
cualidades de los lenguajes de bajo nivel. Ejemplo: C
3. Lenguajes de alto nivel: Ms parecidos al lenguaje humano.
Manejan conceptos, tipos de datos, etc., de una manera
cercana al pensamiento humano ignorando (abstrayndose)
del funcionamiento de la mquina.
Clasificacin
Propsito
1. Propsito general: Aptos para todo tipo de tareas.
2. Propsito especfico: Hechos para un objetivo muy concreto.
3. Lenguajes de programacin de sistemas: Diseados para
realizar sistemas operativos o drivers.
4. Lenguajes de script: Para realizar tareas varias de control y
auxiliares. Antiguamente eran los llamados lenguajes de
procesamiento por lotes (batch) o JCL (Job Control
Languages). Se subdividen en varias clases (de shell, de GUI,
de programacin web, etc.).
Clasificacin
Evolucin histrica
1. Primera generacin (1GL): Cdigo mquina.
2. Segunda generacin (2GL): Lenguajes ensamblador.
3. Tercera generacin (3GL): La mayora de los lenguajes
modernos, diseados para facilitar la programacin a los
humanos.
4. Cuarta generacin (4GL): Diseados con un propsito
concreto, o sea, para abordar un tipo concreto de problemas.
5. Quinta generacin (5GL): La intencin es que el programador
establezca el qu problema ha de ser resuelto y las
condiciones a reunir, y la mquina lo resuelve.
Clasificacin
Manera de ejecutarse
1. Lenguajes compilados: Un programa traductor traduce el
cdigo cdigo fuente en cdigo cdigo objeto. Otro programa,
el enlazador, unir los ficheros de cdigo objeto del programa
principal con los de las libreras para producir el programa
ejecutable.

2. Lenguajes interpretados: Un programa (intrprete), ejecuta
las instrucciones del programa de manera directa.
Clasificacin
Manera de abordar la tarea a realizar
1. Lenguajes imperativos: Indican cmo hay que hacer la tarea,
es decir, expresan los pasos a realizar. Ejemplo: C.

2. Lenguajes declarativos: Indican qu hay que hacer.
Ejemplos: Lisp, Prolog.
Clasificacin
Paradigma de programacin
1. Lenguajes de programacin procedural: Divide el problema
en partes ms pequeas, que sern para ser ejecutadas.
2. Lenguajes de programacin orientada a objetos: Crean un
sistema de clases y objetos siguiendo el ejemplo del mundo
real, en el que unos objetos realizan acciones y se comunican
con otros objetos
3. Lenguajes de programacin funcional: La tarea se realiza
evaluando funciones, (como en Matemticas), de manera
recursiva.
4. Lenguajes de programacin lgica: La tarea a realizar se
expresa empleando lgica formal matemtica. Expresa qu
computar.
Clasificacin
Lugar de ejecucin
1. Lenguajes de servidor: Se ejecutan en el servidor.


2. Lenguajes de cliente: Se ejecutan en el cliente.
Clasificacin
Concurrencia
Segn admitan o no concurrencia de procesos, esto es, la
ejecucin simultnea de varios procesos lanzados por el
programa
1. Lenguajes concurrentes. Ejemplo: Ada.

2. Lenguajes no concurrentes. Ejemplo: C.
Clasificacin
Interactividad
1. Lenguajes orientados a sucesos: El flujo del programa es
controlado por la interaccin con el usuario o por mensajes de
otros programas/sistema operativo, como editores de texto,
interfaces grficos de usuario (GUI) o kernels.
2. Lenguajes no orientados a sucesos: El flujo del programa
no depende de sucesos exteriores, sino que se conoce de
antemano, siendo los procesos batch el ejemplo ms claro
(actualizaciones de bases de datos, colas de impresin de
documentos, etc.).
Clasificacin
Interactividad
1. Lenguajes orientados a sucesos: El flujo del programa es
controlado por la interaccin con el usuario o por mensajes de
otros programas/sistema operativo, como editores de texto,
interfaces grficos de usuario (GUI) o kernels.
2. Lenguajes no orientados a sucesos: El flujo del programa
no depende de sucesos exteriores, sino que se conoce de
antemano, siendo los procesos batch el ejemplo ms claro
(actualizaciones de bases de datos, colas de impresin de
documentos, etc.).
Clasificacin
Realizacin visual
1. Lenguajes de programacin visual: El programa se realiza
moviendo bloques de construccin de programas (objetos
visuales) en un interfaz adecuado para ello
2. Lenguajes de programacin textual: El cdigo del programa
se realiza escribindolo. Ejemplos: C, Java.
Clasificacin
Determinismo
1. Lenguajes deterministas. Ejemplos: Todos los anteriores.
2. Lenguajes probabilsticos o no deterministas: Sirven para
explorar grandes espacios de bsqueda, (como gramticas), y
en la investigacin terica de hipercomputacin. Ejemplo: mutt
(generador de texto aleatorio).
Clasificacin
Productividad
1. Lenguajes tiles o productivos: Sus virtudes en cuanto a
eficiencia, sencillez, claridad, productividad, etc., motiva que
sean utilizados en empresas, administraciones pblicas y/o en
la enseanza
2. Lenguajes esotricos o exticos: Inventados con la
intencin de ser los ms raros, oscuros, difciles, simples y/o
retorcidos de los lenguajes,
Anexo

También podría gustarte