El lenguaje C++

C++ es un ejemplo de lenguaje de programación compilado, multiparadigma, principalmente de tipo imperativo y orientado a objetos, incluyendo también programación genérica y funcional, características estas últimas que comentaremos más adelante en el curso.

Un programa escrito en un lenguaje imperativo es un conjunto de instrucciones que indican al computador cómo realizar una tarea.

En un lenguaje imperativo:

  • se conoce en cada paso del programa su estado, determinado por el valor que toman las variables utilizadas.

  • se altera el estado del programa a través de sentencias.

La implementación hardware de la mayoría de computadores está diseñada para ejecutar código máquina escrito en forma imperativa:

  • las variables son posiciones de memoria

  • las sentencias son instrucciones

En este curso nos centraremos principalmente en la parte imperativa del lenguaje C++, que es básicamente la misma que la del lenguaje C.

Historia

C++ es un lenguaje compilado que fue desarrollado en 1980 por Bjarne Stroustroup en los laboratorios At&T como una extensión orientada a objetos del lenguaje C.

Nota

C++ significaría incremento de C, aprovechando que el lenguaje C tiene el operador ++ con ese nombre.

Por ello, código fuente escrito en C puede compilarse como C++. Esto fue una virtud en los primeros años, pero a la larga también ha sido una debilidad pues, para garantizar la compatibilidad, ha mantenido algunos de los graves inconvenientes del lenguaje C.

El lenguaje C fue creado por Dennis Ritchie entre los años 1970-73. D. Ritchie fue cocreador junto a Ken Thompson del sistema operativo UNIX.

Durante el curso usaremos principalmente C++11, que es la cuarta revisión del Lenguaje de Programación C++ aprobada por la Organización Internacional para la Estandarización (ISO) en 2011.

La versión estándar más actual es la C++20. Eso no significa que vayamos a estudiar unas características del lenguaje desfasadas. Las novedades que se han ido incorporando en los últimos años respecto a la versión C++11 están enfocadas a programas/programadores de muy alto nivel.

Ejemplos de programas escritos en C/C++ son los sistemas operativos Windows, Mac OS X y Linux, el navegador/buscador Google Chrome, Adobe Acrobat, la página de Amazon, Autodesk, Facebook, Microsoft Office, la suite de programas Mozilla, FIFA EA Sports, Fortnite, etc.