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.