0% encontró este documento útil (0 votos)
239 vistas11 páginas

Evolución de Lenguajes de Programación OOP

Este documento resume la evolución de los lenguajes de programación orientados a objetos desde Simula 67 hasta C#. Los lenguajes discutidos incluyen Smalltalk, C++, Eiffel, Delphi, Java y C#, destacando características clave de cada uno como su interfaz, tipos de datos, herencia y más.

Cargado por

Yoel sanchez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
239 vistas11 páginas

Evolución de Lenguajes de Programación OOP

Este documento resume la evolución de los lenguajes de programación orientados a objetos desde Simula 67 hasta C#. Los lenguajes discutidos incluyen Smalltalk, C++, Eiffel, Delphi, Java y C#, destacando características clave de cada uno como su interfaz, tipos de datos, herencia y más.

Cargado por

Yoel sanchez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD ABIERTA PARA ADULTOS

(UAPA)
Escuela de ingeniería y tecnología

Asignatura:
Programación 2

Tema:
Entorno de Programación

Facilitador:
 Diógenes Amaury Martínez Silverio,M.A

Participante:
Yoel Alcibíades Sánchez Tejada                         Mat. 16-6598

Santiago de los Caballeros


República Dominicana
1. Investigar acerca de la evolución de los lenguajes de programación orientados
a objetos.

La programación orientada a Objetos básicamente define una serie de


conceptos y técnicas de programación para representar acciones o cosas de la
vida real basada en objetos, a diferencia de otras formas de programación
como por ejemplo la estructurada, con la POO se trabaja  de manera distinta
vinculando diferentes conceptos tales como clases, objetos, métodos,
propiedades, estados, herencia, encapsulación entre otros, generando cada
vez interrelaciones en nuestro desarrollo en pro del funcionamiento del sistema
principal, definiendo el programa como un conjunto de estos objetos
relacionados entre sí.
Los pilares de la programación orientada a objetos son: Herencia,
encapsulación, polimorfismo y la abstracción.
Evolución de los lenguajes de programación orientados a objetos

Simula 67
El primer lenguaje orientado a objetos es el Simula 67, fue desarrollado por los
noruegos : Krinsten Nygaard y Ole-Johan Dahl y fue presentado en el año 1967

Krinsten Nygaard y Ole-Johan Dahl 

Simula 67 fue primer lenguaje que presentó las nociones de clase y herencia
jerárquica. No se admite la herencia múltiple. El ocultamiento de información se
lleva a cabo “protegiendo” una característica, lo cual, a su vez, evita que sea
heredada en lo sucesivo. Admite la sobrecarga de métodos. La comprobación
de tipos se puede realizar, bien estáticamente en el momento de la
compilación, para mayor eficiencia, o bien en el momento de la ejecución si se
define una característica como “virtual”.

Smalltalk

Interfaz  grafica del  Smalltalk


A principio de los años 70 ' en el centro de investigacion "Palo Alto Xerox "
crearon Smalltalk fue el primer lenguaje Orientado a Objetos puro de los
lenguajes Orientados a Objetos, es decir, únicamente utiliza clases y objetos 

Los objetos Smalltalk presentan características comunes:

 Tienen una memoria propia.


 Poseen capacidad para comunicarse con otros objetos.
 Poseen la capacidad de heredar características de objetos ancestros.
 Tienen capacidad de procesamiento
Los objetos se comunican entre sí mediante el envío de mensajes. Asimismo,
un objeto puede proveer muchas operaciones (actualmente esto está
determinado por cada implementación). 

D. Parnas uno de los creadores propuso la disciplina de ocultar la información.

Encapsulaba cada una de las variables globales de la aplicación en un solo


módulo junto con sus operaciones asociadas, sólo mediante las cuales se
podía tener acceso a esas variables.
El resto de los módulos (objetos) podían acceder a las variables sólo de forma
indirecta mediante las operaciones diseñadas para este propósito Interfaz.
C++

C++ es un lenguaje de programación creado por Bjarne Stroustrup en 1983.


Stroustrup tomó como base el lenguaje de programación más popular en
aquella época el cual era C(diseñado en 1971  por Dennis Ritchie Ken
Thompson basados B y BCPL) al que le añadio cualidades y características de
las que carecía.
C++ es un lenguaje de programación orientado a objetos que toma la base del
lenguaje C y le agrega la capacidad de abstraer tipos como en Smalltalk.
La intención de su creación fue el extender al exitoso lenguaje de programación
C con mecanismos que permitieran la manipulación de objetos. En ese sentido,
desde el punto de vista de los lenguajes orientados a objetos, el C++ es un
lenguaje híbrido 
Posteriormente se añadieron facilidades de programación genérica, que se
sumó a los otros dos paradigmas que ya estaban admitidos (programación
estructurada y la programación orientada a objetos). Por esto se suele decir
que el C++ es un lenguaje de programación multiparadigma 
C++ introduce nuevas palabras clave y operadores para manejo de clases

C++ tiene los siguientes tipos fundamentales:

 Caracteres: char (también es un entero), wchar_t


 Enteros: short, int, long, long long
 Números en coma flotante: float, double, long double
 Booleanos: bool
 Vacío: void
Características 

 Tiene un conjunto completo de instrucciones de control.


 Permite la agrupación de instrucciones.
 Incluye el concepto de puntero (variable que contiene la dirección de
otra variable).
 Los argumentos de las funciones se transfieren por su valor.
  E/S no forma parte del lenguaje, sino que se proporciona a través de
una biblioteca de funciones.
 Permite la separación de un programa en módulos que admiten
compilación independiente.

Eiffel
Eiffel es un lenguaje de programación orientado a objetos diseñado por
Bertrand Meyer en 1985. Este lenguaje dispone de diseño por contrato que
facilita la detección de errores y la depuración de códigos.
Las clases son la unidad básica, su gestión de memoria es automática y es
implementada por el recolector de basura.
Posee un panel central de la herencia, incluyendo herencia múltiple.
Es un lenguaje orientado hacia el diseño de grandes aplicaciones y su
compatibilidad asegura su portabilidad hacia otros sistemas operativos
Posee dos desventajas, la primera es el manejo de memoria, que no es de los
mejores y la segunda es que sus librerías de clases son reducidas.
Hay 3 compiladores para Eiffel que son
 Small Eiffel
 ISE Eiffel
 Visual Eiffel
Este lenguaje soporta Herencia múltiple, polimorfismo, encapsulación y tipos
genéricos

Otras características de este lenguaje son:


 No es sensible a mayúsculas y minúsculas
 Programación genérica con y sin restricciones
 Rutinas de ejecución única
 Gestión de un sistema de tipo uniforme
Delphi

En este caso Delphi no es un lenguaje de programación únicamente orientado


a objetos, sino que es un entorno de desarrollo de software diseñado para la
programación visual. Pero existe una versión especializada en objetos que
es Objet Pascal y fue desarrollado por Apple computer en 1986 y se utilizaron
para la Macintosh. En 1994 se dejo de utilizar este lenguaje cuando en Apple
empezaron a utilizar chips de motorola de 68k, de arquitectura IBM que fue re-
escrito en C++.
El desarrollo de Borland Delphi se inició en 1993, y Delphi 1.0 fue lanzado
oficialmente en los Estados Unidos el 14 de febrero de 1995. Delphi presentó
una nueva sintaxis usando la palabra clave "class" en lugar de "object", el
constructor" Create" y un destructor virtual "Destroy " (no teniéndose así que
llamar a "New" ni a" Dispose"), las propiedades, los punteros de método, y
algunas otras cosas; y al mismo tiempo mantenía compatibilidad con la anterior
sintaxis (permitiendo migración). 
Java

Es un lenguaje de programación orientado a objetos que fue creado en 1995


(es una extensión de C++) se popularizo en 1996 por su lanzamiento comercial
de su primera versión, la JDK 1.0 
en Java todos los tipos, a excepción de los tipos fundamentales de variables
(int, char, long...) son clase

El código generado por el compilador Java es independiente de la arquitectura:


podría ejecutarse en un entorno UNIX, Mac o Windows

Posee todos los conceptos en los que se basa la programación orientada a


objetos, como la herencia polimorfismo , encapsulamiento , entre otras cosas.
 Su filosofía es aprovechar el software existente. Facilitar la adaptación del
mismo a otros usos diferentes a los originales sin necesidad de modificar el
código ya existente.
Java proporciona una colección de clases para su uso en aplicaciones de red,
que permiten abrir sockets y establecer y aceptar conexiones con servidores o
clientes remotos, facilitando así la creación de aplicaciones distribuidas .
Proporciona numerosas comprobaciones en compilación y en tiempo de
ejecución y especifica los tamaños de sus tipos de datos básicos y el
comportamiento de sus operadores aritméticos
La sintaxis de Java se deriva en gran medida de C++. Pero a diferencia de
éste, que combina la sintaxis para programación genérica, estructurada y
orientada a objetos, Java fue construido desde el principio para ser
completamente orientado a objetos. Todo en Java es un objeto (salvo algunas
excepciones), y todo en Java reside en alguna clase
C#
Es un lenguaje de programación orientado a objetos desarrollado y
estandarizado por Microsoft como parte de su plataforma .Net
Este lenguaje fue creado al principio de los 2000 por Microsoft. Con el C# se
pretendió incorporar las ventajas o mejoras que tiene el lenguaje JAVA. Así se
consiguió que tuviese las ventajas del C, del C++, pero además la
productividad que posee el lenguaje JAVA y se le denomino C#
C# utiliza plantillas de proyecto, diseñadores, páginas de propiedades,
asistentes de código, un modelo de objetos y otras características del entorno
de desarrollo.
C# es simple, eficaz, con seguridad de tipos y orientado a objetos.  Las
numerosas innovaciones de C# permiten desarrollar aplicaciones rápidamente
y mantener la expresividad y elegancia 

de los lenguajes de estilo de C.  


Una variable de objeto de cierta clase no almacena los valores del objeto sino
su referencia (al igual que Java).
El operador de asignación no copia los valores de un objeto, sino la referencia
al mismo (al igual que Java).
Un constructor tiene el mismo nombre que su clase y es sintácticamente similar
a un método.
La palabra clave this es una referencia al mismo objeto en el cual se usa.
Tiene la Capacidad para desarrollar componentes de software que se puedan
usar en ambientes distribuidos.
Su código fuente es portable.
El cambio de los programadores familiarizados a C, c++ y Java a este lenguaje
es relativamente fácil ya que posee características similares a los anteriores
2. Elaborar informe de lectura, mapa conceptual o cuadro comparativo acerca de:
Entorno de programación (IDE), Componentes principales, administrador de fuentes
de datos, ventana de diseño.

Entorno de programación (IDE)

Prueba de programa utilizado para crear el mapa.


3. Debe incluir tu opinión acerca del tema investigado.

Opinión Personal
En mi opinión los IDE han revolucionada los lenguajes d programación ya que
son los más utilizados actualmente en los mercados, hay diferentes razones
una de ellas es la facilidad de interfaz y otra seria la buena visualización.
Además muchos IDE modernos también cuentan con un navegador de clases,
un buscador de objetos y un diagrama de jerarquía de clases, para su uso con
el desarrollo de software orientado a objetos.
En tal sentido en buen avance para lo que es la programación orientada a
objetos, tanto para los programadores viejos como los nuevos.

También podría gustarte