Breve Historia del lenguaje C++
De forma resumida podemos ver la evolución de los
lenguajes de programación según el siguiente esquema:
- Los primeros programas se crearon mediante conmutadores. El lenguaje utilizado era el
lenguaje máquina. Sólo era aplicable a pequeños programas.
-
El lenguaje
ensamblador apareció para evitar programas usando cadenas de ceros y unos.
- En los años 50 aparece el primer lenguaje de alto nivel denominado FORTRAN. Permite la
construcción de programas largos, no obstante, se corría el peligro de crear
programas difícilmente legibles.
Para evitar este problema, en los años 60 y 70
aparecen los lenguajes estructurados (C, Pascal, Algol).
Están basados en estructuras de control bien
definidas, bloques de código, la ausencia de la instrucción GOTO, y subrutinas
independientes que soportan recursividad y variables locales.
Aunque la programación estructurada nos ha
llevado a excelentes resultados, cuando se ha aplicado a problemas complejos,
los resultados son menos satisfactorios.
Algunos de los problemas que presenta el modelo tradicional de desarrollo de sistemas de información surgen:
·
Cuando la
complejidad del sistema o su ambigüedad no permite un análisis inicial completo.
·
Si el sistema
desarrollado no se adapta a las necesidades de los usuarios, por falta de
entendimiento inicial entre usuarios y diseñadores.
·
Requiere excesivos
recursos dedicados a su mantenimiento.
·
Resulta difícil
llevar a cabo su modificación por cambios del entorno o de los requisitos
iniciales.
·
Cuando necesita
incorporar el tratamiento de nuevos tipos de datos como imágenes, sonido, vídeo
digital, etc.
Para resolver estos problemas surge la Programación Orientada a Objetos.
La POO toma las
mejores ideas incorporadas a la programación estructurada y las combina con
nuevos y potentes conceptos que permiten organizar los programas en una forma
más efectiva.
En los años 70, nace Smalltalk como un lenguaje
orientado a objetos puro. En la década de los 80 aparecen lenguajes híbridos
orientados a procedimientos y a objetos como C++.
C++ nació como una extensión del lenguaje C, para conseguir aunar la eficiencia del lenguaje
C con las ventajas del modelo orientado a objetos.
El primer paso hacia C++ se produjo en 1980,
cuando se presentó un primer lenguaje llamado C with classes, descrito
por Bjarne Stroustrup. En 1983/84 se rediseñó este lenguaje, pasando a llamarse
C++ (el nombre proviene del operador incremento de C, ++, para indicar que es
una evolución). Tras pequeños refinamientos, en 1985 se puso a disposición de
todo el mundo y se documentó en el libro de Bjarne Stroustrup, “The C++
Programming Language”.
Además, C++ es compatible con C, es decir, todo
lo que puede hacerse en C se puede hacer también en C++, por lo tanto,
cualquier código C puede tratarse con un compilador de C++. Por esta razón, un
gran porcentaje de usuarios de C++ lo emplean simplemente como un C más
potente, desaprovechando muchas de sus capacidades.
Una de las principales críticas que recibe C++ de
los expertos en orientación a objetos es que en C++ se puede programar con
orientación a objetos o con metodología tradicional: es un lenguaje híbrido.
La evolución de C++ ha continuado con la
aparición de lenguajes como Java y C#.
Java es un lenguaje orientado a objetos
desarrollado por Sun
Microsystems simplificando algunas cosas de C++ y añadiendo otras, y que se utiliza
tanto para realizar aplicaciones web como aplicaciones de escritorio.
C# es un lenguaje
orientado a objetos desarrollado por Microsoft para la plataforma .Net. Tiene
sus raíces en Java, C y C++; adapta las mejores características de cada
uno de estos lenguajes y agrega características propias. C# permite
desarrollar aplicaciones de escritorio así como aplicaciones web.
._.
ResponderEliminar/(.-.)\
Eliminarprograma que regrese el nombre en evaluador
ResponderEliminar&&
un programa de alto nivel que regrese el nombre completo
.-.
Eliminar._. x2
Eliminarperfecto
ResponderEliminarMuchas gracias me ayudaron mucho,
ResponderEliminargracias
ResponderEliminar._.
ResponderEliminarprograma que imprima el 25% del total del valor de cada uno de los elementos de un vector de 12 posiciones.
ResponderEliminar