SlideShare uma empresa Scribd logo
1 de 19
Instituto Tecnológico de Tijuana

Fundamentos de programación

{

Integrantes:
-PERLA MARIA SILVA DURÓN
-DIEMA NOHEMI CUESTA RAMOS
-ANA LUISA RIVAS
-ITAMAR ALVARADO
-CARLOS RAUL RIOS NIEBLA
Historia del C++
La historia del lenguaje C parte de un lenguaje anterior
conocido como lenguaje B, creado por Ken Thompson. A
su vez B fue inspirado en el lenguaje BCPL de Martin
Richard, quien lo diseño tres años antes. En 1972 Dennis
Ritchie (de laboratorios Bell de AT&T) diseña el lenguaje
C a partir del B de Thompson, el cual aportaba un diseño
de tipos y estructuras de datos con una claridad y
eficacia superior.
“Es un lenguaje que permite realizar una programación
estructurada economizando las expresiones, con
abundancia de operadores y tipos de datos (aunque los
básicos sean pocos), codificando en alto y bajo nivel
simultáneamente, reemplazando ventajosamente la
programación en ensamblador y permitiendo una
utilización natural de las funciones primitivas del sistema.
Además, no está orientado a ningún área en especial y
sobre todo consigue un código objeto altamente optimizado
que repercute en que los programas son muy rápidos.”
Durante muchos años este lenguaje no estuvo
estandarizado, hasta que en 1983 se forma un
comité que crea el estándar ANASI (Instituto
Nacional Americano de Estándares), este
proceso dura seis años, hasta que es reconocido
por ISO (Organización Internacional de
Estándares) y comienza a comercializarse.
/* "Hola mundo" escrito en C */
#include <stdio.h>
void main()
{
printf( "Hola mundo" );
}

A su vez, en 1980 surge C++ Bjarne Stroustrup
(también de Laboratorios Bell de AT&T). 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".
El siguiente hecho fundamental en la evolución de C++ es
sin duda la incorporación de la librería STL años más
tarde, obra de Alexander Stepanov y Adrew Koening.
Esta librería de clases con contenedores y algoritmos
genéricos proporciona a C++ una potencia única entre los
lenguajes de alto nivel.
Debido al éxito del lenguaje, en 1990 se reúnen las
organizaciones ANSI e ISO para definir un estándar que
formalice el lenguaje. El proceso culmina en 1998 con la
aprobación del ANSI C++.
/* "Hola mundo" escrito en C++ */
#include <iostream>
void main()
{
std::cout << "Hola mundo";
}
La última variante que ha surgido de C es el moderno C#. En
el año 2000, Microsoft presenta su plataforma .NET junto con
un nuevo lenguaje, C# (diseñado por Anders Hejlsberg), que
servirá de lenguaje principal de la plataforma. C# es un
híbrido de C++ y Java que fusiona, principalmente, la
capacidad de combinar operadores propia del primero (no
incorpora la herencia múltiple) con la plena orientación a
objetos del segundo. La orientación a objetos es tal que el
propio programa está encapsulado en una clase. Actualmente
C# se encuentra entre los 10 lenguajes más utilizados. A pesar
de su corta historia, ha recibido la aprobación del estándar de
dos organizaciones: en el 2001 se aprueba el ECMA y en el
2003 el ISO.
/* "Hola mundo" escrito en C# */
class HolaMundo
{
static void Main()
{
System.Console.Write( "Hola mundo" );
}
}
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. Por ejemplo, los
prototipos de función no se iniciaron en el C, aunque
han sido parte del lenguaje C desde hace varios años.
Los prototipos de función se iniciaron el C++, y, debido
a que contribuyen a hacer mejores programas, ANSI
incluyó la característica en el lenguaje C.
Características del lenguaje C++
Las principales características del Lenguaje C son:
1.-Tiene un conjunto completo de instrucciones de
control.
2.-Permite la agrupación de instrucciones.
3.-Incluye el concepto de puntero (variable que contiene
la dirección de otra variable).
Algunas de las características más importantes que
definen el lenguaje y que han permitido que sea tan
popular, como lenguaje de programación son:

Tamaño pequeño.
Uso extensivo de llamadas a funciones.
Comandos breves (poco tecleo).
Lenguaje estructurado.
Programación de bajo nivel (nivel bit)
Implementación de apuntadores - uso extensivo de
apuntadores para la memoria, arreglos, estructuras y
funciones
Las diversas razones por la cual se ha convertido
en un lenguaje de uso profesional son:
El uso de constructores de alto nivel.
El poder manejar actividades de bajo-nivel.
El generar programas eficientes.
La posibilidad de poder ser compilado en una variedad de
computadoras, con pocos cambios (portabilidad).
Un punto en contra es que tiene una detección pobre de
errores, lo cual en ocasiones es problemático para los
principiantes.
Historia de JAVA
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 Sun 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 llamo Oak (roble en inglés, según la versión
mas aceptada, por el roble que veía através de la ventana
de su despacho).
El resultado fue un lenguaje que tenía
similitudes con C, C++ y Objetive C y que
no estaba ligado a un tipo de CPU
concreta.
Mas tarde, se cambiaría el nombre de Oak
a Java, por cuestiones de propiedad
intelectural, al existir ya un lenguaje con el
nombre de Oak. Se supone que le pusieron
ese nombre mientras tomaban café (Java es
nombre de un tipo de café, originario de
Asia), aunque otros afirman que el nombre
deriva de las siglas de James Gosling, Arthur
Van Hoff, y Andy Bechtolsheim.
En Agosto de 1991 Oak ya corría sus
primeros programas.
Para 1992, el equipo ya había desarrollado un sistema en un
prototipo llamado Star7 (*7), dispositivo parecido a una PDA,
cuyo nombre venía de la combinación de teclas del teléfono de la
oficina del Proyecto Green que permitía a los usuarios responder al
teléfono desde cualquier lugar.
Por su parte, el presidente de la compañía Sun, Scott McNealy, se
dio cuenta de forma oportuna y estableció el Proyecto Verde como
una subsidiaria de Sun.
Después de mostrar a Scott McNealy y Bill Joy los prototipos de
bajo nivel del sistema, continuán con el desarrollo, incluyendo
sistema operativo, Green OS; el lenguaje Oak, las librerías, alguna
aplicación básica y el hardware, hasta que el 3 de septiembre de
1992 se termina el desarrollo y con ello elProyecto Verde.
Hoy en día, puede encontrar la tecnología Java en
redes y dispositivos que comprenden desde Internet
y superordenadores cientifícos 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: Java está en todas partes.
JAVA
• Su sintaxis deriva en gran
medida de C y C++.
• Tiene menos facilidades de bajo
nivel.
• Sus aplicaciones se compilan
por lo general a bytecode (clase
java).
• Se puede ejecutar en cualquier
máquina virtual java.
• Es de propósito general.
• Es orientado por objetos.
• Es base en clases.
• Esta diseñado para tener pocas
dependencias de
implementación.
• Su intención es WORA (write
once, run anywhere)
• Se usa particularmente para
aplicaciones de cliente-servidor.

C++
• Permite la manipulación de
objetos `orientado a objetos .
• Es un lenguaje híbrid
(programación estructurada y
orientación a objetos).
• Multiparadigma.
• Redefine los operadores, y
puede crear nuevos que se
compartan como tipos
fundamentales.
Desde sus inicios la computadora se ha manejado por un
lenguaje binario, este lenguaje al ser tan complejo no es fácil en
su manejo, por tal motivo los programadores se ven en la
necesidad de crear un lenguaje de programación más sencillo, ya
que al incrementar la complejidad de las necesidades en los
sistemas informáticos buscaron alternativas para simplificar los
lenguajes de programación, es así como se crean C++ y Java. Los
lenguajes de programación se dividen en nivel alto y bajo es
decir entre mas se asemeja al lenguaje de la computadora será
nivel bajo, mientras que si se asemeja más al lenguaje humano su
nivel será alto ya que es relativamente sencillo programar.
Depende de los objetivos del programa, el programador decide
cual sera el mas conveniente.

Conclusión


Bibliografía:

http://jorgesaavedra.wordpress.com/2006/12/09/breve-historia-dec-c-c/
http://lalmada.mayo.uson.mx/cpp/La_historia_del_C++.htm
http://www.cad.com.mx/historia_del_lenguaje_java.htm
http://eradelabiomedica.blogspot.mx/
http://elmundodelabiomedica.blogspot.mx/

Mais conteúdo relacionado

Mais procurados

Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador SintácticoPablo Guerra
 
Tipos de Modelos de Datos : Ventajas y Desventajas
Tipos de Modelos de Datos : Ventajas y DesventajasTipos de Modelos de Datos : Ventajas y Desventajas
Tipos de Modelos de Datos : Ventajas y DesventajasJuanMiguelCustodioMo
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetosstill01
 
2 manipulacion de datos..
2 manipulacion de datos..2 manipulacion de datos..
2 manipulacion de datos..alithu1
 
Cuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de softwareCuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de softwarepaoaboytes
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoMarvin Zumbado
 
Modelo en cascada
Modelo en cascadaModelo en cascada
Modelo en cascadahome
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisisinnovalabcun
 
Exposicion base de datos DB2-IBM
Exposicion base de datos DB2-IBMExposicion base de datos DB2-IBM
Exposicion base de datos DB2-IBMJacob Gómez
 

Mais procurados (20)

Pruebas unitarias
Pruebas unitariasPruebas unitarias
Pruebas unitarias
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador Sintáctico
 
Ciclo Vida del Software
Ciclo Vida del SoftwareCiclo Vida del Software
Ciclo Vida del Software
 
Tipos de Modelos de Datos : Ventajas y Desventajas
Tipos de Modelos de Datos : Ventajas y DesventajasTipos de Modelos de Datos : Ventajas y Desventajas
Tipos de Modelos de Datos : Ventajas y Desventajas
 
Metodologiasad 1
Metodologiasad 1Metodologiasad 1
Metodologiasad 1
 
Gestion de Memoria
Gestion de MemoriaGestion de Memoria
Gestion de Memoria
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetos
 
Unidad1 Lenguajes y automatas
Unidad1 Lenguajes y automatasUnidad1 Lenguajes y automatas
Unidad1 Lenguajes y automatas
 
2 manipulacion de datos..
2 manipulacion de datos..2 manipulacion de datos..
2 manipulacion de datos..
 
Pilares de la POO
Pilares de la POOPilares de la POO
Pilares de la POO
 
Cuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de softwareCuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de software
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
 
Modelo en cascada
Modelo en cascadaModelo en cascada
Modelo en cascada
 
Ingeniería de software modelo incremental
Ingeniería de software  modelo incrementalIngeniería de software  modelo incremental
Ingeniería de software modelo incremental
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisis
 
Lan manager
Lan managerLan manager
Lan manager
 
6 Curso de POO en Java - clases y objetos
6  Curso de POO en Java - clases y objetos6  Curso de POO en Java - clases y objetos
6 Curso de POO en Java - clases y objetos
 
Exposicion base de datos DB2-IBM
Exposicion base de datos DB2-IBMExposicion base de datos DB2-IBM
Exposicion base de datos DB2-IBM
 
LibreríAs De Java
LibreríAs De JavaLibreríAs De Java
LibreríAs De Java
 

Destaque

LENGUAJE DE PROGRAMACION C
LENGUAJE DE PROGRAMACION CLENGUAJE DE PROGRAMACION C
LENGUAJE DE PROGRAMACION Cjavu
 
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++DarioManzano
 
Breve historia de c++
Breve historia de c++Breve historia de c++
Breve historia de c++xxJoseM
 
Lenguaje c ibeth lozada
Lenguaje c ibeth lozadaLenguaje c ibeth lozada
Lenguaje c ibeth lozadaAdrianaYepezM
 
mapa conceptual lenguaje C#
mapa conceptual lenguaje C#mapa conceptual lenguaje C#
mapa conceptual lenguaje C#Natanael Argueta
 
Estructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje CEstructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje CMarvin Romero
 
Lenguaje c 1
Lenguaje c   1Lenguaje c   1
Lenguaje c 1Denisse C
 
Constructores en java(grupo 8)
Constructores en java(grupo 8)Constructores en java(grupo 8)
Constructores en java(grupo 8)Manuel Ch.
 
Tablas dinámicas
Tablas dinámicasTablas dinámicas
Tablas dinámicasIsabel
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje cwuaro1
 
Elementos Basicos del Lenguaje C++
Elementos Basicos del Lenguaje C++Elementos Basicos del Lenguaje C++
Elementos Basicos del Lenguaje C++yesid19
 

Destaque (15)

LENGUAJE DE PROGRAMACION C
LENGUAJE DE PROGRAMACION CLENGUAJE DE PROGRAMACION C
LENGUAJE DE PROGRAMACION C
 
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++
 
Breve historia de c++
Breve historia de c++Breve historia de c++
Breve historia de c++
 
Lenguaje c ibeth lozada
Lenguaje c ibeth lozadaLenguaje c ibeth lozada
Lenguaje c ibeth lozada
 
mapa conceptual lenguaje C#
mapa conceptual lenguaje C#mapa conceptual lenguaje C#
mapa conceptual lenguaje C#
 
Estructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje CEstructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje C
 
Lenguaje c 1
Lenguaje c   1Lenguaje c   1
Lenguaje c 1
 
TABLAS DINAMICAS PPT
TABLAS DINAMICAS PPTTABLAS DINAMICAS PPT
TABLAS DINAMICAS PPT
 
Constructores en java(grupo 8)
Constructores en java(grupo 8)Constructores en java(grupo 8)
Constructores en java(grupo 8)
 
El Sonido
El SonidoEl Sonido
El Sonido
 
Clase 1 Lenguaje C++
Clase 1 Lenguaje C++Clase 1 Lenguaje C++
Clase 1 Lenguaje C++
 
Tablas dinámicas
Tablas dinámicasTablas dinámicas
Tablas dinámicas
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Sintaxis del lenguaje c++
Sintaxis del lenguaje c++Sintaxis del lenguaje c++
Sintaxis del lenguaje c++
 
Elementos Basicos del Lenguaje C++
Elementos Basicos del Lenguaje C++Elementos Basicos del Lenguaje C++
Elementos Basicos del Lenguaje C++
 

Semelhante a Historia del C++ y JAVA

C# documento de texto junto con mapa conceptual
C# documento de texto junto con mapa conceptualC# documento de texto junto con mapa conceptual
C# documento de texto junto con mapa conceptualFernando Jose
 
Reportede c#(sharp)(hugo balmore vallejo diaz)
Reportede c#(sharp)(hugo balmore vallejo diaz)Reportede c#(sharp)(hugo balmore vallejo diaz)
Reportede c#(sharp)(hugo balmore vallejo diaz)Hugo Vallejo
 
Programa en lenguaje C, Hildemaro Sequera, MI-42
Programa en lenguaje C, Hildemaro Sequera, MI-42Programa en lenguaje C, Hildemaro Sequera, MI-42
Programa en lenguaje C, Hildemaro Sequera, MI-42Hildemaro Sequera
 
Deber 130912163339-phpapp01
Deber 130912163339-phpapp01Deber 130912163339-phpapp01
Deber 130912163339-phpapp01Rayco Paucar
 
historia del lenguaje c++
historia del lenguaje c++historia del lenguaje c++
historia del lenguaje c++Rayco Paucar
 
Tema 1 Programación I. 05-02-23.pdf
Tema 1 Programación I. 05-02-23.pdfTema 1 Programación I. 05-02-23.pdf
Tema 1 Programación I. 05-02-23.pdfNoe Castillo
 
Historia de c++
Historia de c++Historia de c++
Historia de c++alex laica
 
Características de los 10 lenguajes de programación
 Características de los 10 lenguajes de programación Características de los 10 lenguajes de programación
Características de los 10 lenguajes de programaciónGabriel Solano
 
Lenguajes de programacion mas utilizados
Lenguajes de programacion mas utilizadosLenguajes de programacion mas utilizados
Lenguajes de programacion mas utilizadosCesar-Sanchez
 
historia del lenguaje c++.c
historia del lenguaje c++.chistoria del lenguaje c++.c
historia del lenguaje c++.cRayco Paucar
 

Semelhante a Historia del C++ y JAVA (20)

Pul123
Pul123Pul123
Pul123
 
C#
C#C#
C#
 
C# documento de texto junto con mapa conceptual
C# documento de texto junto con mapa conceptualC# documento de texto junto con mapa conceptual
C# documento de texto junto con mapa conceptual
 
Consulta c++
Consulta c++Consulta c++
Consulta c++
 
Deber
DeberDeber
Deber
 
Todo sobre C#
Todo sobre C#Todo sobre C#
Todo sobre C#
 
Reportede c#(sharp)(hugo balmore vallejo diaz)
Reportede c#(sharp)(hugo balmore vallejo diaz)Reportede c#(sharp)(hugo balmore vallejo diaz)
Reportede c#(sharp)(hugo balmore vallejo diaz)
 
Programa en lenguaje C, Hildemaro Sequera, MI-42
Programa en lenguaje C, Hildemaro Sequera, MI-42Programa en lenguaje C, Hildemaro Sequera, MI-42
Programa en lenguaje C, Hildemaro Sequera, MI-42
 
Deber 130912163339-phpapp01
Deber 130912163339-phpapp01Deber 130912163339-phpapp01
Deber 130912163339-phpapp01
 
C++
C++C++
C++
 
Caracteristicas lenguajes
Caracteristicas lenguajesCaracteristicas lenguajes
Caracteristicas lenguajes
 
historia del lenguaje c++
historia del lenguaje c++historia del lenguaje c++
historia del lenguaje c++
 
Lenguaje C sharp
Lenguaje C sharpLenguaje C sharp
Lenguaje C sharp
 
Paola y lorena
Paola y lorenaPaola y lorena
Paola y lorena
 
Tema 1 Programación I. 05-02-23.pdf
Tema 1 Programación I. 05-02-23.pdfTema 1 Programación I. 05-02-23.pdf
Tema 1 Programación I. 05-02-23.pdf
 
Historia de c++
Historia de c++Historia de c++
Historia de c++
 
Características de los 10 lenguajes de programación
 Características de los 10 lenguajes de programación Características de los 10 lenguajes de programación
Características de los 10 lenguajes de programación
 
Lenguajes de programacion mas utilizados
Lenguajes de programacion mas utilizadosLenguajes de programacion mas utilizados
Lenguajes de programacion mas utilizados
 
historia del lenguaje c++.c
historia del lenguaje c++.chistoria del lenguaje c++.c
historia del lenguaje c++.c
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 

Mais de Nohemi Cuesta

Posmodernidad a la Modernidad
Posmodernidad a la ModernidadPosmodernidad a la Modernidad
Posmodernidad a la ModernidadNohemi Cuesta
 
Aplicando la Filosofía en las emociones.
Aplicando la Filosofía en las emociones.Aplicando la Filosofía en las emociones.
Aplicando la Filosofía en las emociones.Nohemi Cuesta
 
Ramas de la filosofia
Ramas de la filosofiaRamas de la filosofia
Ramas de la filosofiaNohemi Cuesta
 

Mais de Nohemi Cuesta (6)

Nietzsche
NietzscheNietzsche
Nietzsche
 
Posmodernidad a la Modernidad
Posmodernidad a la ModernidadPosmodernidad a la Modernidad
Posmodernidad a la Modernidad
 
Aplicando la Filosofía en las emociones.
Aplicando la Filosofía en las emociones.Aplicando la Filosofía en las emociones.
Aplicando la Filosofía en las emociones.
 
Ramas de la filosofia
Ramas de la filosofiaRamas de la filosofia
Ramas de la filosofia
 
Presocráticos
PresocráticosPresocráticos
Presocráticos
 
Mesopotamia
MesopotamiaMesopotamia
Mesopotamia
 

Historia del C++ y JAVA

  • 1. Instituto Tecnológico de Tijuana Fundamentos de programación { Integrantes: -PERLA MARIA SILVA DURÓN -DIEMA NOHEMI CUESTA RAMOS -ANA LUISA RIVAS -ITAMAR ALVARADO -CARLOS RAUL RIOS NIEBLA
  • 2. Historia del C++ La historia del lenguaje C parte de un lenguaje anterior conocido como lenguaje B, creado por Ken Thompson. A su vez B fue inspirado en el lenguaje BCPL de Martin Richard, quien lo diseño tres años antes. En 1972 Dennis Ritchie (de laboratorios Bell de AT&T) diseña el lenguaje C a partir del B de Thompson, el cual aportaba un diseño de tipos y estructuras de datos con una claridad y eficacia superior.
  • 3. “Es un lenguaje que permite realizar una programación estructurada economizando las expresiones, con abundancia de operadores y tipos de datos (aunque los básicos sean pocos), codificando en alto y bajo nivel simultáneamente, reemplazando ventajosamente la programación en ensamblador y permitiendo una utilización natural de las funciones primitivas del sistema. Además, no está orientado a ningún área en especial y sobre todo consigue un código objeto altamente optimizado que repercute en que los programas son muy rápidos.”
  • 4. Durante muchos años este lenguaje no estuvo estandarizado, hasta que en 1983 se forma un comité que crea el estándar ANASI (Instituto Nacional Americano de Estándares), este proceso dura seis años, hasta que es reconocido por ISO (Organización Internacional de Estándares) y comienza a comercializarse. /* "Hola mundo" escrito en C */ #include <stdio.h> void main() { printf( "Hola mundo" ); } A su vez, en 1980 surge C++ Bjarne Stroustrup (también de Laboratorios Bell de AT&T). 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".
  • 5. El siguiente hecho fundamental en la evolución de C++ es sin duda la incorporación de la librería STL años más tarde, obra de Alexander Stepanov y Adrew Koening. Esta librería de clases con contenedores y algoritmos genéricos proporciona a C++ una potencia única entre los lenguajes de alto nivel. Debido al éxito del lenguaje, en 1990 se reúnen las organizaciones ANSI e ISO para definir un estándar que formalice el lenguaje. El proceso culmina en 1998 con la aprobación del ANSI C++. /* "Hola mundo" escrito en C++ */ #include <iostream> void main() { std::cout << "Hola mundo"; }
  • 6. La última variante que ha surgido de C es el moderno C#. En el año 2000, Microsoft presenta su plataforma .NET junto con un nuevo lenguaje, C# (diseñado por Anders Hejlsberg), que servirá de lenguaje principal de la plataforma. C# es un híbrido de C++ y Java que fusiona, principalmente, la capacidad de combinar operadores propia del primero (no incorpora la herencia múltiple) con la plena orientación a objetos del segundo. La orientación a objetos es tal que el propio programa está encapsulado en una clase. Actualmente C# se encuentra entre los 10 lenguajes más utilizados. A pesar de su corta historia, ha recibido la aprobación del estándar de dos organizaciones: en el 2001 se aprueba el ECMA y en el 2003 el ISO. /* "Hola mundo" escrito en C# */ class HolaMundo { static void Main() { System.Console.Write( "Hola mundo" ); } }
  • 7. 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.
  • 8. 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. Por ejemplo, los prototipos de función no se iniciaron en el C, aunque han sido parte del lenguaje C desde hace varios años. Los prototipos de función se iniciaron el C++, y, debido a que contribuyen a hacer mejores programas, ANSI incluyó la característica en el lenguaje C.
  • 9. Características del lenguaje C++ Las principales características del Lenguaje C son: 1.-Tiene un conjunto completo de instrucciones de control. 2.-Permite la agrupación de instrucciones. 3.-Incluye el concepto de puntero (variable que contiene la dirección de otra variable).
  • 10. Algunas de las características más importantes que definen el lenguaje y que han permitido que sea tan popular, como lenguaje de programación son: Tamaño pequeño. Uso extensivo de llamadas a funciones. Comandos breves (poco tecleo). Lenguaje estructurado. Programación de bajo nivel (nivel bit) Implementación de apuntadores - uso extensivo de apuntadores para la memoria, arreglos, estructuras y funciones
  • 11. Las diversas razones por la cual se ha convertido en un lenguaje de uso profesional son: El uso de constructores de alto nivel. El poder manejar actividades de bajo-nivel. El generar programas eficientes. La posibilidad de poder ser compilado en una variedad de computadoras, con pocos cambios (portabilidad). Un punto en contra es que tiene una detección pobre de errores, lo cual en ocasiones es problemático para los principiantes.
  • 12. Historia de JAVA 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.
  • 13. Intentaban desarrollar una nueva tecnología para programar la siguiente generación de dispositivos inteligentes, en los que Sun 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 llamo Oak (roble en inglés, según la versión mas aceptada, por el roble que veía através de la ventana de su despacho).
  • 14. El resultado fue un lenguaje que tenía similitudes con C, C++ y Objetive C y que no estaba ligado a un tipo de CPU concreta. Mas tarde, se cambiaría el nombre de Oak a Java, por cuestiones de propiedad intelectural, al existir ya un lenguaje con el nombre de Oak. Se supone que le pusieron ese nombre mientras tomaban café (Java es nombre de un tipo de café, originario de Asia), aunque otros afirman que el nombre deriva de las siglas de James Gosling, Arthur Van Hoff, y Andy Bechtolsheim. En Agosto de 1991 Oak ya corría sus primeros programas.
  • 15. Para 1992, el equipo ya había desarrollado un sistema en un prototipo llamado Star7 (*7), dispositivo parecido a una PDA, cuyo nombre venía de la combinación de teclas del teléfono de la oficina del Proyecto Green que permitía a los usuarios responder al teléfono desde cualquier lugar. Por su parte, el presidente de la compañía Sun, Scott McNealy, se dio cuenta de forma oportuna y estableció el Proyecto Verde como una subsidiaria de Sun. Después de mostrar a Scott McNealy y Bill Joy los prototipos de bajo nivel del sistema, continuán con el desarrollo, incluyendo sistema operativo, Green OS; el lenguaje Oak, las librerías, alguna aplicación básica y el hardware, hasta que el 3 de septiembre de 1992 se termina el desarrollo y con ello elProyecto Verde.
  • 16. Hoy en día, puede encontrar la tecnología Java en redes y dispositivos que comprenden desde Internet y superordenadores cientifícos 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: Java está en todas partes.
  • 17. JAVA • Su sintaxis deriva en gran medida de C y C++. • Tiene menos facilidades de bajo nivel. • Sus aplicaciones se compilan por lo general a bytecode (clase java). • Se puede ejecutar en cualquier máquina virtual java. • Es de propósito general. • Es orientado por objetos. • Es base en clases. • Esta diseñado para tener pocas dependencias de implementación. • Su intención es WORA (write once, run anywhere) • Se usa particularmente para aplicaciones de cliente-servidor. C++ • Permite la manipulación de objetos `orientado a objetos . • Es un lenguaje híbrid (programación estructurada y orientación a objetos). • Multiparadigma. • Redefine los operadores, y puede crear nuevos que se compartan como tipos fundamentales.
  • 18. Desde sus inicios la computadora se ha manejado por un lenguaje binario, este lenguaje al ser tan complejo no es fácil en su manejo, por tal motivo los programadores se ven en la necesidad de crear un lenguaje de programación más sencillo, ya que al incrementar la complejidad de las necesidades en los sistemas informáticos buscaron alternativas para simplificar los lenguajes de programación, es así como se crean C++ y Java. Los lenguajes de programación se dividen en nivel alto y bajo es decir entre mas se asemeja al lenguaje de la computadora será nivel bajo, mientras que si se asemeja más al lenguaje humano su nivel será alto ya que es relativamente sencillo programar. Depende de los objetivos del programa, el programador decide cual sera el mas conveniente. Conclusión