SlideShare una empresa de Scribd logo
1 de 10
1

DIRECCIÓN GENERAL DE EDUCACIÓN SUPERIOR TECNOLÓGICA

INSTITUTO TECNOLÓGICO DE SALINA CRUZ
MATERIA
FUNDAMENTOS DE PROGRAMACIÓN
TEMA
PARADIGMAS DE LA PROGRAMACION
PROFESORA
SUSANA MÓNICA ROMÁN NÁJERA

ALUMNO
FERNANDO RODRIGUEZ TORRES
CARRERA
INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN Y DE LAS
COMUNICACIONES

SEMESTRE I

GRUPO E2
2

INDICE
INTRODUCCION…………………………………………………….3
PARADIGMA DE PROGRAMACION……………………………...4
CLASIFICACIÓN DE PARADIGMAS……………………………...4
LENGUAJE DE PROGRAMACION………………………………..5
TIPOS DE LENGUAJES DE PROGRAMACION………………....6
LENGUAJE DE BAJO NIVEL………………………………………6
LENGUAJE DE ALTO NIVEL ……………………………………...6
LENGUAJE DE MEDIO NIVEL…………………………………….7
GENERACIONES……………………………………………………7
CRONOLOGIA……………………………………………………….8, 9
CONCLUSIÓN………………………………………………………..9
FUENTES CONSULTADAS……………………………..………....10
3

INTRODUCCIÓN

Los paradigma de programación son la forma que determinan los métodos de un
programador en la elaboración de un programa o subprograma. Diferentes
Paradigmas resultan en diferentes estilos de programación y en diferentes formas
de pensar la solución de problemas.
Los lenguajes de programación son basados en uno o más paradigmas Por ejemplo:
Smalltalk y Java son lenguajes basados en el paradigma orientado a objetos. El
Lenguaje de programación Scheme, en cambio, soporta sólo programación funcional.
En cambio Python, soporta múltiples paradigmas. La programación Orientada a
objetos (POO) es una forma especial de programar, más cercana a como
expresaríamos las cosas en la vida real que otros tipos de programación.
4

PARADIGMA DE PROGRACION
Un paradigma de programación determina la visión y métodos de un
programador en la elaboración de un programa o subprograma. Diferentes
paradigmas resultan en diferentes estilos de programación y en diferentes formas
de pensar la solución de problemas (con la solución de múltiples “problemas” se
construye una aplicación).
Los lenguajes de programación son basados en uno o más paradigmas Por ejemplo:
Smalltalk y Java son lenguajes basados en el paradigma orientado a objetos. El
lenguaje de programación Scheme, en cambio, soporta sólo programación funcional.
En cambio Python, soporta múltiples paradigmas. La programación Orientada a
objetos (POO) es una forma especial de programar, más cercana a como
expresaríamos las cosas en la vida real que otros tipos de programación.

CLASIFICACIÓN POR PARADIGMAS DE PROGRAMACIÓN
Paradigma Imperativo: describe la programación como una secuencia instrucciones
o comandos que cambian el estado de un programa. El código máquina en general
está basado en el paradigma imperativo. Su contrario es el paradigma declarativo.
En este paradigma se incluye el paradigma procedimental (procedural) entre otros.
Paradigma Declarativo: No se basa en el cómo se hace algo (cómo se logra un
objetivo paso a paso), sino que describe (declara) cómo es algo. En otras palabras,
se enfoca en describir las propiedades de la solución buscada, dejando
indeterminado el algoritmo (conjunto de instrucciones) usado para encontrar esa
solución. Es más complicado de implementar que el paradigma imperativo, tiene
desventajas en la eficiencia, pero ventajas en la solución de determinados
problemas.
Paradigma Estructurado: la programación se divide en bloques (procedimientos y
funciones) que pueden o no comunicarse entre sí. Además la programación se
controla con secuencia, selección e iteración. Permite reutilizar código programado y
otorga una mejor compresión de la programación. Es contrario al paradigma
inestructurado, de poco uso, que no tiene ninguna estructura, es simplemente un
“bloque”, como por ejemplo, los archivos batch (.bat).
Paradigma Orientado a Objetos: está basado en la idea de encapsular estado y
operaciones en objetos. En general, la programación se resuelve comunicando
dichos objetos a través de mensajes (programación orientada a mensajes). Se puede
incluir -aunque no formalmente- dentro de este paradigma, el paradigma basado en
5

objetos, que además posee herencia y subtipos entre objetos. Ej.: Simula, Smalltalk,
C++, Java, Visual Basic .NET, etc.
Paradigma Funcional: este paradigma concibe a la computación como la evaluación
de funciones matemáticas y evita declarar y cambiar datos. En otras palabras, hace
hincapié en la aplicación de las funciones y composición entre ellas, más que en los
cambios de estados y la ejecución secuencial de comandos (como lo hace el
paradigma procedimental). Permite resolver ciertos problemas de forma elegante y
los lenguajes puramente funcionales evitan los efectos secundarios comunes en otro
tipo de programaciones.
Paradigma lógico: se basa en la definición de reglas lógicas para luego, a través de
un motor de inferencias lógicas, responder preguntas planteadas al sistema y así
resolver los problemas. Ej.: prolog.
Otros paradigmas y subparadigmas son: paradigma orientado al sujeto, paradigma
reflectante, programación basada en reglas, paradigma basado en restricciones,
programación basada en prototipos, etc.

LENGUAJE DE PROGRAMACIÓN

·

¿Qué es el lenguaje de programación?
Un lenguaje de programación es un lenguaje diseñado para describir el conjunto de
acciones consecutivas que un equipo debe ejecutar. Por lo tanto, un lenguaje de
programación es un modo práctico para que los seres humanos puedan dar
instrucciones a un equipo.
Por otro lado, el término "lenguaje natural" define un medio de comunicación
compartido por un grupo de personas (por ejemplo: inglés o francés).
Los lenguajes que los equipos usan para comunicarse entre ellos no tienen nada que
ver con los lenguajes de programación; se los conoce como protocolos de
comunicación. Se trata de dos conceptos totalmente diferentes. Un lenguaje de
programación es muy estricto:
A cada instrucción le corresponde una acción de procesador.
El lenguaje utilizado por el procesador se denomina lenguaje máquina.
El lenguaje de programación tiene varias ventajas:
Es mucho más fácil de comprender que un lenguaje máquina:
6

·

Permite mayor portabilidad, es decir que puede adaptarse fácilmente para
ejecutarse en diferentes tipos de equipos.

TIPOS DE LENGUAJE DE PROGRAMACIÓN
El ordenador sólo entiende un lenguaje conocido como código binario o código
máquina, consistente en ceros y unos. Es decir, sólo utiliza 0 y 1 para codificar
cualquier acción.
Los lenguajes más próximos a la arquitectura hardware se denominan lenguajes de
bajo nivel y los que se encuentran más cercanos a los programadores y usuarios se
denominan lenguajes de alto nivel.

·

·

LENGUAJES DE BAJO NIVEL
Son lenguajes totalmente dependientes de la máquina, es decir que el programa que
se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras
máquinas.
Al estar prácticamente diseñados a medida del hardware, aprovechan al máximo las
características del mismo.
Dentro de este grupo se encuentran:
El lenguaje maquina: este lenguaje ordena a la máquina las operaciones
fundamentales para su funcionamiento. Consiste en la combinación de 0's y 1's para
formar las ordenes entendibles por el hardware de la máquina. Este lenguaje es
mucho más rápido que los lenguajes de alto nivel. La desventaja es que son
bastantes difíciles de manejar y usar, además de tener códigos fuente enormes
donde encontrar un fallo es casi imposible.
El lenguaje ensamblador es un derivado del lenguaje máquina y está formado por
abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este
lenguaje se crearon los programas traductores para poder pasar los programas
escritos en lenguaje ensamblador a lenguaje máquina. Como ventaja con respecto al
código máquina es que los códigos fuentes eran más cortos y los programas creados
ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo
7

prácticamente las mismas que las del lenguaje ensamblador, añadiendo la dificultad
de tener que aprender un nuevo lenguaje difícil de probar y mantener.
LENGUAJES DE ALTO NIVEL
Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje
máquina.
Están dirigidos a solucionar problemas mediante el uso de EDD's.
Nota: EDD's son las abreviaturas de Estructuras Dinámicas de Datos, algo muy
utilizado en todos los lenguajes de programación. Son estructuras que pueden
cambiar de tamaño durante la ejecución del programa. Nos permiten crear
estructuras de datos que se adapten a las necesidades reales de un programa.
Se tratan de lenguajes independientes de la arquitectura del ordenador. Por lo que,
en principio, un programa escrito en un lenguaje de alto nivel, lo puedes migrar de
una máquina a otra sin ningún tipo de problema.
Estos lenguajes permiten al programador olvidarse por completo del funcionamiento
interno de la maquina/s para la que están diseñando el programa. Tan solo necesitan
un traductor que entiendan el código fuente como las características de la máquina.
Suelen usar tipos de datos para la programación y hay lenguajes de propósito
general (cualquier tipo de aplicación) y de propósito específico (como FORTRAN
para trabajos científicos).
LENGUAJES DE MEDIO NIVEL
Se trata de un término no aceptado por todos, pero que seguramente habrás oído.
Estos lenguajes se encuentran en un punto medio entre los dos anteriores. Dentro de
estos lenguajes podría situarse C ya que puede acceder a los registros del sistema,
trabajar con direcciones de memoria, todas ellas características de lenguajes de bajo
nivel y a la vez realizar operaciones de alto nivel.

·
·
·
·

GENERACIONES
La evolución de los lenguajes de programación se puede dividir en 5 etapas o
generaciones.
Primera generación: lenguaje máquina.
Segunda generación: se crearon los primeros lenguajes ensambladores.
Tercera generación: se crean los primeros lenguajes de alto nivel. Ej. C, Pascal,
Cobol…
Cuarta generación. Son los lenguajes capaces de generar código por si solos, son
los llamados RAD, con lo cuales se pueden realizar aplicaciones sin ser un experto
en el lenguaje. Aquí también se encuentran los lenguajes orientados a objetos,
8

·

haciendo posible la reutilización d partes del código para otros programas. Ej. Visual,
Natural Adabes…
Quinta generación: aquí se encuentran los lenguajes orientados a la inteligencia
artificial. Estos lenguajes todavía están poco desarrollados. Ej. LISP

CRONOLOGIA

FECHA

LENGUAJE

ACONTECIMIENTO

1953

FORTRAN

Job Backus propone el desarrollo de un nuevo lenguaje

1954

FORTRAN

Un equipo de IBM comienza a trabajar en el FORTRAN

1957

FORTRAN

IBM desarrolla la primera versión

1959

LISP

El profesor John McCarthy y sus alumnos desarrolla el LISP

1960

ALGOL

Se reúnen representantes europeos y de EEUU para la creación de
un nuevo lenguaje

1960

COBOL

Fue creado COBOL

1962

APL

Se publica el libro de Kenneth Iverson “A Programming Language

Mediado de
los 60

APL

El APL es implantado por IBM en una versión conocida como
APL/360

1965

BASIC

Aparece BASIC

1966

FORTRAN

Aparece el FORTRA IV

1968

ALGOL

Se implemento una nueva versión multi-proposito

Finales de los
60

APL

Está disponible para el mercado en general
9

1970

PASCAL

Niklaus Wirth diseña PASCAL

1972

PROLOG

Se desarrolla en la Universidad de Aix-Marsailles en Francia.

1972

C

Dennis Ritchie crea el lenguaje C.

1977

FORTRAN

Aparece el FORTRAN 77

Finales de los
70

MODULA-2

Niklaus Wirth dirige el desarrollo de MODULA-2

Principio de
los 80

C++

Se desarrolla el lenguaje C++

1985

CLIPPER

Se crea CLIPPER

1986

CLIPPER

Aparece CLIPPER AUTUMN'86

1987

CLIPPER

CLIPPER SUMMER'87

1990

FORTRAN

Aparece el FORTRAN 90

Principios 90

JAVA

James Gosling y su equipo comienzan a desarrollar JAVA

1993

Visual C++

Se desarrolla el lenguaje Visual C++

1994

DELPHI

Aparece la primera versión

1995

JAVA

Se lanza al mercado JAVA

1999

DELPHI

Aparece Delphi 5.0 para windows 98 NT/2000

CONCLUSION
En conclusión podemos decir que los paradigmas en la programación se pueden
definir como la forma de pensar de cada individuo ya que seria muy difícil encontrar a
una persona con el mismo paradigma que nosotros ya que esa persona podría tener
otra forma de ver la resolución del problema ya que es un modelo o patrón en
cualquier disciplina científica.
10

Un paradigma de programación representa un enfoque particular o filosofía para la
construcción del software. También hay situaciones donde un paradigma resulta más
apropiado que otro modelo básico de diseño y desarrollo de programas, que permite
producir programas con unas directrices específicas. Para entender cómo funciona el
paradigma de la programación orientada a objetos es necesario ver un programa
como una colección de objetos que interactúan entre sí enviándose mensajes y
cambiando su estado durante la ejecución.

FUENTES CONSULTADAS
http://html.rincondelvago.com/evolucion-historica-de-los-lenguajes-de-programacion.html
http://www.slideshare.net/yamili7/paradigmas-de-programacion
http://es.scribd.com/doc/9174723/Paradigmas-de-Programacion
http://es.wikipedia.org/wiki/Paradigma

Más contenido relacionado

La actualidad más candente

Paradigmas programacion
Paradigmas programacionParadigmas programacion
Paradigmas programacionLuis Peralta
 
Programación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación EstructuradaProgramación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación EstructuradaMichael de la Cruz
 
PARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOPARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOFredy Olaya
 
Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador   Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador ADOLFOISAIASGARCIASI
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónjusto morales
 
Fundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosFundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosJosé Antonio Sandoval Acosta
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasJosé Antonio Sandoval Acosta
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programaciónOver Rattlehead
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftChuyito Alvarado
 
2.2 relación de cmm con psp y tsp
2.2 relación de cmm con psp  y tsp2.2 relación de cmm con psp  y tsp
2.2 relación de cmm con psp y tspeeelllkkk
 
Metodologías para desarrollo de software
Metodologías para desarrollo de softwareMetodologías para desarrollo de software
Metodologías para desarrollo de softwareAbner Garcia
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programaciónMay Ibarra
 
PRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓNPRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓNadark
 
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteTopicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteJosé Antonio Sandoval Acosta
 
Programación lógica y funcional
Programación lógica y funcionalProgramación lógica y funcional
Programación lógica y funcionalAlejandra MA
 
Comandos basicos linux ubuntu
Comandos basicos linux ubuntuComandos basicos linux ubuntu
Comandos basicos linux ubuntuJose Diaz Silva
 
Aseguramiento de la Calidad del Software II
Aseguramiento de la Calidad del Software IIAseguramiento de la Calidad del Software II
Aseguramiento de la Calidad del Software IITensor
 

La actualidad más candente (20)

Paradigmas programacion
Paradigmas programacionParadigmas programacion
Paradigmas programacion
 
Programación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación EstructuradaProgramación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación Estructurada
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
PARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOPARADIGMA IMPERATIVO
PARADIGMA IMPERATIVO
 
Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador   Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
 
Fundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosFundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicos
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
 
MySQL
MySQLMySQL
MySQL
 
2.2 relación de cmm con psp y tsp
2.2 relación de cmm con psp  y tsp2.2 relación de cmm con psp  y tsp
2.2 relación de cmm con psp y tsp
 
Metodologías para desarrollo de software
Metodologías para desarrollo de softwareMetodologías para desarrollo de software
Metodologías para desarrollo de software
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
PRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓNPRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓN
 
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteTopicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
 
Programación lógica y funcional
Programación lógica y funcionalProgramación lógica y funcional
Programación lógica y funcional
 
Comandos basicos linux ubuntu
Comandos basicos linux ubuntuComandos basicos linux ubuntu
Comandos basicos linux ubuntu
 
Aseguramiento de la Calidad del Software II
Aseguramiento de la Calidad del Software IIAseguramiento de la Calidad del Software II
Aseguramiento de la Calidad del Software II
 

Destacado

Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...jose francisco arenas jimenez
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmasSergio Naspiran
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructuradalindacajaperuiz
 
Lenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de ProgramaciónLenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de ProgramaciónLuis Fernando Aguas Bucheli
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacionEdagaJunior
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacionTensor
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacionCarenPC
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacioncarlos_graterol
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacionAriel Medina
 
Lenguajes de Programación
Lenguajes de Programación Lenguajes de Programación
Lenguajes de Programación lobi7o
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructuradavnslgars
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacionJesús Navarro
 
Tabla comparativa de poo y paradigma de programación estructurada
Tabla comparativa de poo y paradigma de programación estructuradaTabla comparativa de poo y paradigma de programación estructurada
Tabla comparativa de poo y paradigma de programación estructuradaAngeles Rivera
 
Historia de los Lenguajes de Programación
Historia de los Lenguajes de ProgramaciónHistoria de los Lenguajes de Programación
Historia de los Lenguajes de ProgramaciónLILIANA06
 

Destacado (20)

Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Lenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de ProgramaciónLenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de Programación
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
tipos de educacion a distancia
tipos de educacion a distanciatipos de educacion a distancia
tipos de educacion a distancia
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Lenguajes de Programación
Lenguajes de Programación Lenguajes de Programación
Lenguajes de Programación
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructurada
 
Tabla comparativa de poo y paradigma de programación estructurada
Tabla comparativa de poo y paradigma de programación estructuradaTabla comparativa de poo y paradigma de programación estructurada
Tabla comparativa de poo y paradigma de programación estructurada
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Historia de los Lenguajes de Programación
Historia de los Lenguajes de ProgramaciónHistoria de los Lenguajes de Programación
Historia de los Lenguajes de Programación
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 

Similar a Paradigmas de programación

Tipos de lenguaje de programacion
Tipos de lenguaje de programacionTipos de lenguaje de programacion
Tipos de lenguaje de programacionLy Andre
 
Programación
ProgramaciónProgramación
Programacióndahir84
 
Introduccion al lenguaje de programacion (rafa)
Introduccion al lenguaje de programacion (rafa)Introduccion al lenguaje de programacion (rafa)
Introduccion al lenguaje de programacion (rafa)rjcm107
 
Lenguaje de programacion de alto nivel
Lenguaje de programacion de alto nivelLenguaje de programacion de alto nivel
Lenguaje de programacion de alto nivelelvin1202
 
Practica1 lenguajes de programacion. clasificacion.
Practica1 lenguajes de programacion. clasificacion.Practica1 lenguajes de programacion. clasificacion.
Practica1 lenguajes de programacion. clasificacion.Fontyed
 
Introducción a lenguajes de programación
Introducción a lenguajes de programaciónIntroducción a lenguajes de programación
Introducción a lenguajes de programaciónrmirandaibanez
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senadejuansi2
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senazeepulveediita20
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senazeepulveediita20
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senaNat Alia
 
Introduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacionIntroduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacionlupitagarcia07
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacionjuanjokobrax
 
Lenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolonLenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolonalejandritasalva
 
Introducción a la programación
Introducción a la programaciónIntroducción a la programación
Introducción a la programaciónCati Oliver
 

Similar a Paradigmas de programación (20)

Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
Tipos de lenguaje de programacion
Tipos de lenguaje de programacionTipos de lenguaje de programacion
Tipos de lenguaje de programacion
 
Clase 1. lógica de la programación
Clase 1. lógica de la programaciónClase 1. lógica de la programación
Clase 1. lógica de la programación
 
Programación
ProgramaciónProgramación
Programación
 
Introduccion al lenguaje de programacion (rafa)
Introduccion al lenguaje de programacion (rafa)Introduccion al lenguaje de programacion (rafa)
Introduccion al lenguaje de programacion (rafa)
 
Taller n°1(1)
Taller n°1(1)Taller n°1(1)
Taller n°1(1)
 
Lenguaje de programacion de alto nivel
Lenguaje de programacion de alto nivelLenguaje de programacion de alto nivel
Lenguaje de programacion de alto nivel
 
Practica1 lenguajes de programacion. clasificacion.
Practica1 lenguajes de programacion. clasificacion.Practica1 lenguajes de programacion. clasificacion.
Practica1 lenguajes de programacion. clasificacion.
 
Introducción a lenguajes de programación
Introducción a lenguajes de programaciónIntroducción a lenguajes de programación
Introducción a lenguajes de programación
 
PresentacióN1
PresentacióN1PresentacióN1
PresentacióN1
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Introduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacionIntroduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacion
 
Lenguajesprog
LenguajesprogLenguajesprog
Lenguajesprog
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Lenguajes basicos para robots
Lenguajes basicos para robotsLenguajes basicos para robots
Lenguajes basicos para robots
 
Lenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolonLenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolon
 
Introducción a la programación
Introducción a la programaciónIntroducción a la programación
Introducción a la programación
 

Más de Fercho Rodriguez Torres (20)

Informacion
InformacionInformacion
Informacion
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Cuestionario unidad 6
Cuestionario unidad 6Cuestionario unidad 6
Cuestionario unidad 6
 
Cuadro sinoptico unidad 6
Cuadro sinoptico unidad 6Cuadro sinoptico unidad 6
Cuadro sinoptico unidad 6
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Fernando3 practica1
Fernando3 practica1Fernando3 practica1
Fernando3 practica1
 
Fernando3 practica2
Fernando3 practica2Fernando3 practica2
Fernando3 practica2
 
4.1, 4.2
4.1, 4.24.1, 4.2
4.1, 4.2
 
Ejemplos diagrama de flujo
Ejemplos diagrama de flujoEjemplos diagrama de flujo
Ejemplos diagrama de flujo
 
Ejercicios uml.
Ejercicios uml.Ejercicios uml.
Ejercicios uml.
 
Fernando3 practica1
Fernando3 practica1Fernando3 practica1
Fernando3 practica1
 
Fernando3 practica2
Fernando3 practica2Fernando3 practica2
Fernando3 practica2
 
Practica blue j casita
Practica blue j casitaPractica blue j casita
Practica blue j casita
 
Diagrama de flujo.fer
Diagrama de flujo.ferDiagrama de flujo.fer
Diagrama de flujo.fer
 
Ejemplo de los 5
Ejemplo de los 5Ejemplo de los 5
Ejemplo de los 5
 
Ejemplo de los 5
Ejemplo de los 5Ejemplo de los 5
Ejemplo de los 5
 
Reporte por equipo_6_ds_1
Reporte por equipo_6_ds_1Reporte por equipo_6_ds_1
Reporte por equipo_6_ds_1
 
Ejemplo de los 5
Ejemplo de los 5Ejemplo de los 5
Ejemplo de los 5
 
Ejemplo de los 5
Ejemplo de los 5Ejemplo de los 5
Ejemplo de los 5
 

Paradigmas de programación

  • 1. 1 DIRECCIÓN GENERAL DE EDUCACIÓN SUPERIOR TECNOLÓGICA INSTITUTO TECNOLÓGICO DE SALINA CRUZ MATERIA FUNDAMENTOS DE PROGRAMACIÓN TEMA PARADIGMAS DE LA PROGRAMACION PROFESORA SUSANA MÓNICA ROMÁN NÁJERA ALUMNO FERNANDO RODRIGUEZ TORRES CARRERA INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN Y DE LAS COMUNICACIONES SEMESTRE I GRUPO E2
  • 2. 2 INDICE INTRODUCCION…………………………………………………….3 PARADIGMA DE PROGRAMACION……………………………...4 CLASIFICACIÓN DE PARADIGMAS……………………………...4 LENGUAJE DE PROGRAMACION………………………………..5 TIPOS DE LENGUAJES DE PROGRAMACION………………....6 LENGUAJE DE BAJO NIVEL………………………………………6 LENGUAJE DE ALTO NIVEL ……………………………………...6 LENGUAJE DE MEDIO NIVEL…………………………………….7 GENERACIONES……………………………………………………7 CRONOLOGIA……………………………………………………….8, 9 CONCLUSIÓN………………………………………………………..9 FUENTES CONSULTADAS……………………………..………....10
  • 3. 3 INTRODUCCIÓN Los paradigma de programación son la forma que determinan los métodos de un programador en la elaboración de un programa o subprograma. Diferentes Paradigmas resultan en diferentes estilos de programación y en diferentes formas de pensar la solución de problemas. Los lenguajes de programación son basados en uno o más paradigmas Por ejemplo: Smalltalk y Java son lenguajes basados en el paradigma orientado a objetos. El Lenguaje de programación Scheme, en cambio, soporta sólo programación funcional. En cambio Python, soporta múltiples paradigmas. La programación Orientada a objetos (POO) es una forma especial de programar, más cercana a como expresaríamos las cosas en la vida real que otros tipos de programación.
  • 4. 4 PARADIGMA DE PROGRACION Un paradigma de programación determina la visión y métodos de un programador en la elaboración de un programa o subprograma. Diferentes paradigmas resultan en diferentes estilos de programación y en diferentes formas de pensar la solución de problemas (con la solución de múltiples “problemas” se construye una aplicación). Los lenguajes de programación son basados en uno o más paradigmas Por ejemplo: Smalltalk y Java son lenguajes basados en el paradigma orientado a objetos. El lenguaje de programación Scheme, en cambio, soporta sólo programación funcional. En cambio Python, soporta múltiples paradigmas. La programación Orientada a objetos (POO) es una forma especial de programar, más cercana a como expresaríamos las cosas en la vida real que otros tipos de programación. CLASIFICACIÓN POR PARADIGMAS DE PROGRAMACIÓN Paradigma Imperativo: describe la programación como una secuencia instrucciones o comandos que cambian el estado de un programa. El código máquina en general está basado en el paradigma imperativo. Su contrario es el paradigma declarativo. En este paradigma se incluye el paradigma procedimental (procedural) entre otros. Paradigma Declarativo: No se basa en el cómo se hace algo (cómo se logra un objetivo paso a paso), sino que describe (declara) cómo es algo. En otras palabras, se enfoca en describir las propiedades de la solución buscada, dejando indeterminado el algoritmo (conjunto de instrucciones) usado para encontrar esa solución. Es más complicado de implementar que el paradigma imperativo, tiene desventajas en la eficiencia, pero ventajas en la solución de determinados problemas. Paradigma Estructurado: la programación se divide en bloques (procedimientos y funciones) que pueden o no comunicarse entre sí. Además la programación se controla con secuencia, selección e iteración. Permite reutilizar código programado y otorga una mejor compresión de la programación. Es contrario al paradigma inestructurado, de poco uso, que no tiene ninguna estructura, es simplemente un “bloque”, como por ejemplo, los archivos batch (.bat). Paradigma Orientado a Objetos: está basado en la idea de encapsular estado y operaciones en objetos. En general, la programación se resuelve comunicando dichos objetos a través de mensajes (programación orientada a mensajes). Se puede incluir -aunque no formalmente- dentro de este paradigma, el paradigma basado en
  • 5. 5 objetos, que además posee herencia y subtipos entre objetos. Ej.: Simula, Smalltalk, C++, Java, Visual Basic .NET, etc. Paradigma Funcional: este paradigma concibe a la computación como la evaluación de funciones matemáticas y evita declarar y cambiar datos. En otras palabras, hace hincapié en la aplicación de las funciones y composición entre ellas, más que en los cambios de estados y la ejecución secuencial de comandos (como lo hace el paradigma procedimental). Permite resolver ciertos problemas de forma elegante y los lenguajes puramente funcionales evitan los efectos secundarios comunes en otro tipo de programaciones. Paradigma lógico: se basa en la definición de reglas lógicas para luego, a través de un motor de inferencias lógicas, responder preguntas planteadas al sistema y así resolver los problemas. Ej.: prolog. Otros paradigmas y subparadigmas son: paradigma orientado al sujeto, paradigma reflectante, programación basada en reglas, paradigma basado en restricciones, programación basada en prototipos, etc. LENGUAJE DE PROGRAMACIÓN · ¿Qué es el lenguaje de programación? Un lenguaje de programación es un lenguaje diseñado para describir el conjunto de acciones consecutivas que un equipo debe ejecutar. Por lo tanto, un lenguaje de programación es un modo práctico para que los seres humanos puedan dar instrucciones a un equipo. Por otro lado, el término "lenguaje natural" define un medio de comunicación compartido por un grupo de personas (por ejemplo: inglés o francés). Los lenguajes que los equipos usan para comunicarse entre ellos no tienen nada que ver con los lenguajes de programación; se los conoce como protocolos de comunicación. Se trata de dos conceptos totalmente diferentes. Un lenguaje de programación es muy estricto: A cada instrucción le corresponde una acción de procesador. El lenguaje utilizado por el procesador se denomina lenguaje máquina. El lenguaje de programación tiene varias ventajas: Es mucho más fácil de comprender que un lenguaje máquina:
  • 6. 6 · Permite mayor portabilidad, es decir que puede adaptarse fácilmente para ejecutarse en diferentes tipos de equipos. TIPOS DE LENGUAJE DE PROGRAMACIÓN El ordenador sólo entiende un lenguaje conocido como código binario o código máquina, consistente en ceros y unos. Es decir, sólo utiliza 0 y 1 para codificar cualquier acción. Los lenguajes más próximos a la arquitectura hardware se denominan lenguajes de bajo nivel y los que se encuentran más cercanos a los programadores y usuarios se denominan lenguajes de alto nivel. · · LENGUAJES DE BAJO NIVEL Son lenguajes totalmente dependientes de la máquina, es decir que el programa que se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras máquinas. Al estar prácticamente diseñados a medida del hardware, aprovechan al máximo las características del mismo. Dentro de este grupo se encuentran: El lenguaje maquina: este lenguaje ordena a la máquina las operaciones fundamentales para su funcionamiento. Consiste en la combinación de 0's y 1's para formar las ordenes entendibles por el hardware de la máquina. Este lenguaje es mucho más rápido que los lenguajes de alto nivel. La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente enormes donde encontrar un fallo es casi imposible. El lenguaje ensamblador es un derivado del lenguaje máquina y está formado por abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina. Como ventaja con respecto al código máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo
  • 7. 7 prácticamente las mismas que las del lenguaje ensamblador, añadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener. LENGUAJES DE ALTO NIVEL Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina. Están dirigidos a solucionar problemas mediante el uso de EDD's. Nota: EDD's son las abreviaturas de Estructuras Dinámicas de Datos, algo muy utilizado en todos los lenguajes de programación. Son estructuras que pueden cambiar de tamaño durante la ejecución del programa. Nos permiten crear estructuras de datos que se adapten a las necesidades reales de un programa. Se tratan de lenguajes independientes de la arquitectura del ordenador. Por lo que, en principio, un programa escrito en un lenguaje de alto nivel, lo puedes migrar de una máquina a otra sin ningún tipo de problema. Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la maquina/s para la que están diseñando el programa. Tan solo necesitan un traductor que entiendan el código fuente como las características de la máquina. Suelen usar tipos de datos para la programación y hay lenguajes de propósito general (cualquier tipo de aplicación) y de propósito específico (como FORTRAN para trabajos científicos). LENGUAJES DE MEDIO NIVEL Se trata de un término no aceptado por todos, pero que seguramente habrás oído. Estos lenguajes se encuentran en un punto medio entre los dos anteriores. Dentro de estos lenguajes podría situarse C ya que puede acceder a los registros del sistema, trabajar con direcciones de memoria, todas ellas características de lenguajes de bajo nivel y a la vez realizar operaciones de alto nivel. · · · · GENERACIONES La evolución de los lenguajes de programación se puede dividir en 5 etapas o generaciones. Primera generación: lenguaje máquina. Segunda generación: se crearon los primeros lenguajes ensambladores. Tercera generación: se crean los primeros lenguajes de alto nivel. Ej. C, Pascal, Cobol… Cuarta generación. Son los lenguajes capaces de generar código por si solos, son los llamados RAD, con lo cuales se pueden realizar aplicaciones sin ser un experto en el lenguaje. Aquí también se encuentran los lenguajes orientados a objetos,
  • 8. 8 · haciendo posible la reutilización d partes del código para otros programas. Ej. Visual, Natural Adabes… Quinta generación: aquí se encuentran los lenguajes orientados a la inteligencia artificial. Estos lenguajes todavía están poco desarrollados. Ej. LISP CRONOLOGIA FECHA LENGUAJE ACONTECIMIENTO 1953 FORTRAN Job Backus propone el desarrollo de un nuevo lenguaje 1954 FORTRAN Un equipo de IBM comienza a trabajar en el FORTRAN 1957 FORTRAN IBM desarrolla la primera versión 1959 LISP El profesor John McCarthy y sus alumnos desarrolla el LISP 1960 ALGOL Se reúnen representantes europeos y de EEUU para la creación de un nuevo lenguaje 1960 COBOL Fue creado COBOL 1962 APL Se publica el libro de Kenneth Iverson “A Programming Language Mediado de los 60 APL El APL es implantado por IBM en una versión conocida como APL/360 1965 BASIC Aparece BASIC 1966 FORTRAN Aparece el FORTRA IV 1968 ALGOL Se implemento una nueva versión multi-proposito Finales de los 60 APL Está disponible para el mercado en general
  • 9. 9 1970 PASCAL Niklaus Wirth diseña PASCAL 1972 PROLOG Se desarrolla en la Universidad de Aix-Marsailles en Francia. 1972 C Dennis Ritchie crea el lenguaje C. 1977 FORTRAN Aparece el FORTRAN 77 Finales de los 70 MODULA-2 Niklaus Wirth dirige el desarrollo de MODULA-2 Principio de los 80 C++ Se desarrolla el lenguaje C++ 1985 CLIPPER Se crea CLIPPER 1986 CLIPPER Aparece CLIPPER AUTUMN'86 1987 CLIPPER CLIPPER SUMMER'87 1990 FORTRAN Aparece el FORTRAN 90 Principios 90 JAVA James Gosling y su equipo comienzan a desarrollar JAVA 1993 Visual C++ Se desarrolla el lenguaje Visual C++ 1994 DELPHI Aparece la primera versión 1995 JAVA Se lanza al mercado JAVA 1999 DELPHI Aparece Delphi 5.0 para windows 98 NT/2000 CONCLUSION En conclusión podemos decir que los paradigmas en la programación se pueden definir como la forma de pensar de cada individuo ya que seria muy difícil encontrar a una persona con el mismo paradigma que nosotros ya que esa persona podría tener otra forma de ver la resolución del problema ya que es un modelo o patrón en cualquier disciplina científica.
  • 10. 10 Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. También hay situaciones donde un paradigma resulta más apropiado que otro modelo básico de diseño y desarrollo de programas, que permite producir programas con unas directrices específicas. Para entender cómo funciona el paradigma de la programación orientada a objetos es necesario ver un programa como una colección de objetos que interactúan entre sí enviándose mensajes y cambiando su estado durante la ejecución. FUENTES CONSULTADAS http://html.rincondelvago.com/evolucion-historica-de-los-lenguajes-de-programacion.html http://www.slideshare.net/yamili7/paradigmas-de-programacion http://es.scribd.com/doc/9174723/Paradigmas-de-Programacion http://es.wikipedia.org/wiki/Paradigma