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