miércoles, 29 de enero de 2014

Reporte de progrmación

Instituto Tecnológico de Tijuana
“Por una juventud integrada al desarrollo de México”


Ing. Biomédica

Fundamentos de Programación

“Historia de lenguaje c++, comparación con lenguaje de programación java”

Integrantes:
  • Jesus Eduardo Astorga Hernandez
  • Denisse Guadalupe Suarez Casillas
  • Brenda Camacho Saavedra
  • Mario Chavez

Fecha:
27 de enero del 2014



Historia de c++


C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan 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.
El nombre C++ fue propuesto por Rick Mascitti en el año 1983, cuando el lenguaje fue utilizado por primera vez fuera de un laboratorio científico. Antes se había usado el nombre "C con clases". En C++, la expresión "C++" significa "incremento de C" y se refiere a que C++ es una extensión de C.
Stroustrup se dio cuenta que los lenguajes de programación normales, que no eran OOP, no podían manejar las tareas de simulación de los eventos del mundo real tan bien como un lenguaje orientado a objetos. Stroustrup trabajó con los laboratorios Bell de la AT&T para desarrollar y mejorar el C++durante varios años. El American Nacional Standards Institute, grupo que norma la mayoría de los lenguajes de computación, ha estandarizado el C++, aunque también el estándar de la AT&T es considerado como el que se debe emular. Borland International es el productor del Turbo C++ y del Borland C++.
Todos los productos del lenguaje C++ de Borland, comenzando con la versión 3.0 con compatibles con el estándar 3.0 de AT&T. Ser compatible con la versión 3.0 de AT&T es la prueba que determina si un compilador es lo suficientemente moderno como para ser usado como un compilador serio de C++. Si no usa alguno de los compiladores de C++ de Borland, tal vez esté satisfecho con el suyo si se apega al estándar 3.0 de AT&T. Comenzando con la versión 8.0, el compilador de C++ de Microsoft se apega al de AT&T, con la salvedad de que al compilador de Microsoft todavía le falta la característica de plantilla. Se considera que las plantillas son vitales para la productividad de un programador formal de C++.
Aunque las plantillas son importantes, si se llega a usar un compilador que no las acepte, pero que soporta todos los demás aspectos del estándar 3.0 de AT&T, puede quedar satisfecho con ese compilador. A través de los años, AT&T ha aprobado muchas características del C++ que no son OOP pero que hacen al C++ mejor que el C. Tantas mejoras han sido añadidas al C++ que el comité ANSI ha tomado varios elementos del C++ para el lenguaje C.
Java es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems a principio de los años 90´s.
En Diciembre de 1950 Patrick Naughton, ingeniero de Sun Microsystems, reclutó a varios colegas entre ellos James Gosling y Mike Sheridan para trabajar sobre un nuevo proyecto conocido como "El proyecto verde".
Con la ayuda de otros ingenieros, empezaron a trabajar en una pequeña oficina en Sand Hill Road en Menlo Park, California. Y así interrumpió todas las comunicaciones regulares con Sun y trabajó sin descanso durante 18 meses.
Intentaban desarrollar una nueva tecnología para programar la siguiente generación de dispositivos inteligentes, en los que Se veía un campo nuevo a explorar. Crear un lenguaje de programación fácil de aprender y de usar.
En un principio se consideraba C++ como lenguaje a utilizar, pero tanto Gosling como Bill Joy lo encontraron inadecuado. Gosling intentó primero extender y modificar C++ resultando el lenguaje C++ ++ - (++ - porque se añadían y eliminaban características a C++), pero lo abandonó para crear un nuevo lenguaje desde cero al que llamó Oak. Más tarde, se cambiaría el nombre a Java, por cuestiones de propiedad intelectual, al existir ya un lenguaje con el nombre de Oak
Hoy en día, puede encontrar la tecnología Java en redes y dispositivos que comprenden desde Internet y superordenadores científicos hasta portátiles y teléfonos móviles; desde simuladores de mercado en Wall Street hasta juegos de uso doméstico y tarjetas de crédito


COMPARACIÓN DE JAVA A C++


Antes de comparar a java de c++ vamos a ver un poco de la historia de java:


El lenguaje Java así como la máquina virtual, comenzaron como un proyecto interno de Sun Microsystems en 1990. Los ingenieros de Sun no estaban satisfechos con el rendimiento del lenguaje C++, por lo que James Gosling, Mike Sheridan y Patrick Naughton, junto con otros más, comenzaron a desarrollar un nuevo lenguaje, que en principio pensaron dedicar a la programación de todo tipo de aparatos, tales como microondas, neveras, teléfonos móviles, etc.. Ellos pensaban que éstos generarían muchas e importantes aplicaciones para la tecnología del futuro.


El lenguaje tendría que obviar problemas que presenta C++, en campos tales como la programación distribuida, las aplicaciones multihilo, el manejo de la memoria y ser más sencillo de manejar que C++. Finalmente se deseaba que los programas fueran portables a todo tipo de aparatos.


Inicialmente el lenguaje se llamó Oak (en español 'roble'), en honor de un roble que había frente a la oficina.
En 1992, se presentó como demostración una PDA con interface gráfica y un asistente inteligente representado mediante un muñeco llamado Duke.
Oak fue presentado a concurso, como solución tecnológica, en varios proyectos para la industria del cine y la televisión, pero no fue elegido. En 1994 John Gage, James Gosling, Bill Joy, Patrick Naughton, Wayne Rosing, y Eric Schmidt se se reunieron para reorientar Oak. Decidieron orientarlo hacia la tecnología de la Web, pues se pensaba que tras la aparición del navegador Mosaic, ésta evolucionaría hacia la misma clase de interactividad, que la televisión por cable, para la cual habían estado preparando Oak.
Fue asimismo en 1994 cuando se cambió el nombre de Oak a Java. Poco después, aún en 1994, la plataforma Java 1.0, estaba disponible para descarga en la Web.
En 1995 Netscape anunció que incluiría soporte para Java en sus navegadores, dando con esto un buen apoyo a Java.


  • SIMILITUDES ENTRE EL LENGUAJE JAVA Y C++
En principio Java fue diseñado tomando C y C++ como base para la creación de un nuevo lenguaje con la modificación de todos aquellos aspectos que no eran útiles o dificultosos para la programación de componentes electrónicos de bajo costo. Para ello el nuevo lenguaje debía incluir interfaces cómodas, debía ser fiable y fácil de desarrollar y los programas debían ser portables de un sistema a otro sin ningún tipo de problema
Java es muy parecido a C++ en el juego básico de tipos de datos con algunas pequeñas modificaciones:


  1. Tipos de datos simples
  2. Datos numéricos
  3. Caracteres
  4. Datos booleanos
  • DIFERENCIAS ENTRE EL LENGUAJE JAVA Y C++
Existen algunas deficiencias en C++, por el hecho de que permite programación estructurada. Esto ha sido eliminado en Java, que es un lenguaje puramente orientado a objetos.
Las principales diferencias entre Java y C++ son:


Java
C++
Es tanto un lenguaje de programación como una plataforma de software.
Es sólo un lenguaje de programación.
Es un lenguaje puramente orientado a objetos.
Da soporte tanto a la programación estructurada como a la programación orientada a objetos.
Todas las declaraciones de variables y métodos deben estar dentro de la definición de la clase.
Las declaraciones de variables y funciones pueden estar presentes fuera de las definiciones de las clases. No es necesario para un programa en C++ tener una clase.
El lenguaje es independiente de la plataforma. El código Java, una vez escrito, puede ser ejecutado en cualquier plataforma.
El código C++, una vez escrito para una plataforma, necesita se compilado de nuevo, y el código objeto reenlazado para ser ejecutado en otra plataforma diferente.



Maneja la memoria automáticamente.


Los programadores tienen que hacerse cargo de liberar la memoria no utilizada.
No se soporta características como sobrecarga de operadores y conversiones automáticas en ambos sentidos.
Da soporte a características como sobrecarga de operadores y conversiones automáticas en ambos sentidos.
Una clase no puede heredar directamente de más de una clase. Se da soporte a la herencia múltiple usando interfaces.
Una clase puede heredar directamente de más de una clase.
Tiene rutinas de librerías extensibles.
Sus rutinas de librerías no son extensibles.
La programación de redes es más fácil. Los objetos pueden ser accedidos a través de la red usando URLs.
La programación para redes es compleja, a menos que se usen APIs de terceros. C++, es un lenguaje, que no brinda soporte incorporado para programación de redes.
Los programadores no pueden usar apuntadores. Los apuntadores se usan internamente.
Los programadores pueden usar apuntadores.
Implementa arreglos verdaderos.
Se implementan los arreglos con aritmética de apuntadores.




CONCLUSIÓN:
Los dos lenguajes son muy importantes hoy en día ambos obviamente nos sirven para programar distintos programas. Java ayuda para poder programar únicamente objetos. No es mejor Java que C++ pero si es ayuda un poco más en algunos ámbitos. Al mismo tiempo C++ es útil para ciertas necesidades de algunas personas. La importancia de ambas es muy útil y es bueno contar con ellas.



No hay comentarios.:

Publicar un comentario