Académique Documents
Professionnel Documents
Culture Documents
Lenguajes de nivel medio: Permiten un mayor grado de abstracción pero al mismo tiempo mantienen algunas
cualidades de los lenguajes de bajo nivel. Ejemplo: C puede realizar operaciones lógicas y de desplazamiento con bits
tratar todos los tipos de datos como lo que son en realidad a bajo nivel (números), etc.
Lenguajes de alto nivel: Más parecidos al lenguaje humano. Manejan conceptos, tipos de datos, etc.,
de una manera cercana al pensamiento humano ignorando (abstrayéndose) del funcionamiento de la máquina.
Ejemplos: Java, Ruby
PROPÓSITO
Lenguajes de propósito general: Aptos para todo tipo de tareas: Ejemplo: C.
Lenguajes de programación de sistemas: Diseñados para realizar sistemas operativos o drivers. Ejemplo: C.
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 programación web, etc.).
Ejemplos: bash (shell), mIRC script, JavaScript (programación web)
EVOLUCIÓN
Lenguajes de primera generación (1GL): Código máquina.
Lenguajes compilados: Un programa traductor traduce el código del programa (código fuente) en
código máquina (código objeto). Otro programa, el enlazador, unirá los ficheros de código objeto
del programa principal con los de las librerías para producir el programa ejecutable.
Ejemplo: C.
Los paradigmas de programación nos indican las diversas formas que, a lo largo de la
evolución de los lenguajes, han sido aceptados como estilos para programar y para
resolver los problemas por medio de una computadora.
Lenguajes de programación procedural: Divide el problema en partes más pequeñas, que serán realizadas por subprogramas
(subrutinas, funciones, procedimientos), que se llaman unas a otras para ser ejecutadas. Ejemplos: C, Pascal.
Lenguajes de programación 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. Ejemplos: C++, Java.
Lenguajes de programación funcional: La tarea se realiza evaluando funciones, (como en Matemáticas), de manera recursiva.
Ejemplo: Lisp.Clisps, Hasked
Lenguajes de programación lógica: La tarea a realizar se expresa empleando lógica formal matemática.
Expresa qué computar. Ejemplo: Prolog.
LUGAR DE EJECUCIÓN
Lenguajes esotéricos o exóticos: Inventados con la intención de ser los más raros, oscuros,
difíciles, simples y/o retorcidos de los lenguajes, para diversión y entretenimiento de frikis
programadores. A veces exploran nuevas ideas en programación.
Ejemplo: Brainfuck.
BIBLIOGRAFÍA
Estilo K&R es el más utilizado en el lenguaje C y PHP, el estilo fue llamado de esta forma
porque fue usado por Kernighan y Ritchies en su libro The C Programming Lenguage.
Estilo Allman fue definido por Eric Allman, se trata de crear una nueva línea para las
llaves, e identificar el código debajo de ellas.
Estilo BSD KNF también conocido como estilo Kernel Normal From, es la manera más
usada para el código de la distribución del software del sistema operativo de Berkeley.
Estilo Whitesmiths también llamado estilo wishart, se coloca las llaves asociadas con
la instrucciones de control.
ESTILOS DE PROGRAMACIÓN
Estilo Descripción
Imperativo Entrada, procesamiento y salida de datos.
• ORIGEN
• Resultado de la arquitectura de Von Neumann, que establece una secuencia de celdas, llamada
memoria, donde se guarda en forma codificada los datos e instrucciones.
• Además un procesador de ejecutar en forma secuencial una serie de operaciones, principalmente
aritméticas y booleanas, llamadas comandos.
• CONCEPTOS
• Datos: números, caracteres y booleanos, codificados y guardados en las celdas de memoria.
• Variables: nombres de las celdas donde están los datos.
• Instrucciones: Asignaciones, condicione, iteraciones y entrada/salida codificacdas como secuencia de
comandos.
• Programa: combinacion de declaraciones de variables y secuencias de instrucciones la cual se puede
guardar en memoria y, despues de un proceso de compilación, se ejecuta por el procesador.
ESTILO IMPERATIVO
• EJEMPLO
• Algunos de los lenguajes de este tipo son: Fortran, Algol, Pascal, C, Modula-2, Ada.
Program Primos(input,output);
{Programa para imprimir números primos entre 2 y n}
Const n=50
Var i=2..n;
j=2..n;
I_es_primo=boolean;
Begin
for i=2 to n do
begin
J=2;
i_es_primo:=true;
while i_es_primo and (j<=i) do
if (i mod j) <>0 then j:=j+1;
else i_es_primo:=false;
if i_es_primo then write(i);
end
End.
ESTILO IMPERATIVO
• EVALUACIÓN
• El programador deberá traducir la solución abstracta del problema a términos muy
primitivos, cercanos a la máquina.
• La solución de los problemas son más comprensibles para la máquina que para el hombre.
• Utilización de gran esfuerzo al momento de construir el programa y efectuar la evaluación de
calidad.
• Permite eficiencia en la construcción del código por la cercanía de los algoritmos a la sintaxis
del lenguaje.
ESTILO ORIENTADO AL
OBJETO
ESTILO ORIENTADO AL OBJETO
• ¿QUÉ ES LA POO?
• QUE NO ES...
• No es un lenguaje.
• QUE ES...
• Es un conjunto de técnicas de OOP que pueden utilizarse en cualquier lenguaje conocido y los que están por venir (vendrán con
facilidades para manejar objetos).
• Estas técnicas nos aseguran la re-usabilidad de nuestro código, es decir los objetos que hoy escribimos, si están bien escritos, nos
servirán para siempre.
• Además podemos re-usar los comportamientos de un objeto, ocultando o redefininiendo los antiguos de acuerdo a las nuevas
necesidades.
ESTILO ORIENTADO AL OBJETO
• EJEMPLO SIMPLE
• Si tenemos un vehículo y queremos uno más rápido.
• No compramos uno nuevo, modificamos algunas piezas y utilizamos todas las otras.
• Podemos cambiar el carburador por otro más potente, cambiamos las ruedas por unas más anchas
para mejorar la estabilidad y añadimos un sistema turbo.
• ¿Que se ha hecho de POO?
• Hemos modificado las cualidades de nuestro objeto (métodos): el carburador y las ruedas.
• Hemos añadido un método nuevo: el sistema turbo
• Además podemos decir que nuestro modelo del vehículo es un objeto que pertenece a la clase
llamada vehículo.
• En programación tradicional hubiésemos tenido que construir un auto nuevo.
ESTILO ORIENTADO AL OBJETO
• ORIGEN
• Los conceptos de clase y herencia fueron por primera vez implementados en el lenguaje
Simula 67 (extensión de Algol 60).
• Simula 67 fue diseñado en 1967 por Ole-Johan Dhal y Krysten Nygaard en la
Universidad de Oslo y el Centro de Comunicación Noruego (Norsk Regnesentral).
• En los 80’s recién aparecen lenguajes que utilizan estos innovadores conceptos (Smalltalk
y sobretodo C++)
ESTILO ORIENTADO AL OBJETO
CONCEPTOS
• Clases
• Objetos
• Instancias
• Métodos
• Polimorfismo
• Herencia
RECOMENDACIÓN
• Dejar de lado todas las ideas preconcebidas acerca de cómo debe realizarse un programa.
ESTILO ORIENTADO AL OBJETO
VEGETALES CLASE1
ARBOLES CLASE2
ARBOLES
FRUTALES CLASE3
• Ejemplos en métodos
Public void Imprimir();
• Sistema Universitario
EGRESADO
PROFESOR ESTUDIANTE Nombres Inserta
Nombres inserta Nombres Inserta Apellidos imprime
Apellidos imprime Apellidos imprime Rut
Rut Rut Teléfono
Teléfono Teléfono Edad
Edad Edad Carrera
Departamento Carrera NºMatricula
Oficina NºMatricula Tesis
Avance
ESTILO LÓGICO O DECLARATIVO
• El elemento principal de Prolog son los predicados, que es aquello que se afirma o se dice de un sujeto.
Abuelo(Nombre_A, Nombre_B)
• OPS
• Official Production System fue creado por C.L. Forgy de la Universidad Carnegie
Mellon en la mitad de la década de los setenta.
• Los elementos básicos son:
• Los datos: compuestos por tres campos (atributos, valor y dato no accesible al
programador). Estas se almacenan en la memoria de trabajo (WME\working memory
element)
• Las reglas: son la estructura de representación del conocimiento.
(nombre_regla(condición1)...(condición_n) (acción_1)...(acción_n))
ESTILO LÓGICO O DECLARATIVO
• Programa tradicional
• Dato+algoritmo+control+e\s
• Programa Sistema Experto
• Base Hechos: La información no cambia los resultados en las diferentes ejecuciones del
sistema experto, es un conjunto de información fija (no cambia)
• Base Conocimiento: El algoritmo es reemplazado de conocimiento, es un conjunto de reglas
que determinan el dominio y el ámbito que va a resolver el problema.
• Motor de inferencia:Shell,que contiene el control del motor de inferencia, donde se puede
ejecutar.
• Además están el modulo de usuario y el modulo experto.
• Los S.E. son declarativos
ESTILO FUNCIONAL
• Características principales
• Programación aplicativa o funcional
• Se utiliza almacenamiento en montículos
• Se utilizan estructura de listas
• Principales herramientas
• Visual Studio (VB,VJ++,VC++) (Microsoft)
• Delphi (Borland)
• Power Builder (PowerSoft)
• Jbuilder (Borland)
ESTILO ORIENTADO AL EVENTO
• Métodos y Eventos
• Un evento es la ocurrencia de algo asociado a un objeto.
• Objetos y Clases
• Cada objeto posee propiedades, eventos y funciones.
BIBLIOGRAFÍA