C++ es un lenguaje imperativo orientado a objetos derivado del C. En realidad un
superconjunto de C, que nació para añadirle cualidades y características de las que
carecía. El resultado es que como su ancestro, sigue muy ligado al hardware subyacente,
manteniendo una considerable potencia para programación a bajo nivel, pero se la han
añadido elementos que le permiten también un estilo de programación con alto nivel de
abstracción. Estrictamente hablando, C no es un subconjunto de C++; de hecho es posible
escribir código C que es ilegal en C++. Pero a efectos prácticos, dado el esfuerzo de
compatibilidad desplegado en su diseño, puede considerarse que C++ es una extensión del
C clásico. La definición "oficial" del lenguaje nos dice que C++ es un lenguaje de propósito
general basado en el C, al que se han añadido nuevos tipos de datos, clases, plantillas,
mecanismo de excepciones, sistema de espacios de nombres, funciones inline, sobrecarga
de operadores, referencias, operadores para manejo de memoria persistente, y algunas
utilidades adicionales de librería (en realidad la librería Estándar C es un subconjunto de la
librería C++)
El lenguaje C++ se comenzó a desarrollar en 1980. Su autor fue Bjarne Stroustrup.
Qué se puede hacer con C++
¿Qué clase de programas y aplicaciones se pueden crear usando C y C++? La respuesta
es muy sencilla: TODOS. Tanto C como C++ son lenguajes de programación de propósito
general. Todo puede programarse con ellos, desde sistemas operativos y compiladores
hasta aplicaciones de bases de datos y procesadores de texto, pasando por juegos,
aplicaciones a medida, etc.
Un ejemplo de código
Este es el clásico programa hola mundo, la idea está centrada en el nacimiento de un
nuevo programa de manos de su creador.
#include <iostream>
using namespace std;
int main()
{
cout << "Hola mundo" << endl;
return 0;
}
¿Qué se ha hecho en C o en C++?
Sistemas Operativos y otros programas
Así como Unix el antecesor de este sistema operativo, GNU/Linux -a menudo denominado
tan sólo como Linux, que es el nombre del núcleo del SO- hace uso de un buen número de
lenguajes de programación en sus distintos componentes. ¿Cuáles son esos lenguajes?
Cada tipo de recurso parece tener ciertas preferencias, y es que hay lenguajes más
adecuados para unas cosas. Obviamente el lenguaje de programación C sigue siendo la
base, pero hay mucho más implicados.
Kernel y drivers de dispositivos: Tanto los drivers como el kernel funcionan en un nivel
realmente bajo de operaciones en el ordenador. Para escribir el kernel del sistema
operativo y acceder a las propiedades del hardware tales como los ciclos de la memoria,
buses de entrada/salida, etc., se necesita un lenguaje que pueda comunicarse con el
hardware con potencia. El kernel Linux hace uso del lenguaje C (aunque en realidad no se
trate de un lenguaje de bajo nivel) con una pequeña parte en lenguaje ensamblador.
Librerías y utilidades: Las librerías y utilidades básicas del sistema tales como mkdir,
chmod, chown, head, tail, chroot, uptime, users también están escritas en lenguaje C.
Gestores de paquetes y programas de configuración: Los gestores de paquetes tales como
yum, apt, dpkg, etcétera, también están escritos en C, que como veis es la estrella absoluta
de los componentes "base" de un sistema GNU/Linux.
Entornos de Escritorio y gestores de ventanas: La mayoría de gente usa un entorno de
escritorio, y es que a día de hoy poco queda sólo en interfaz de línea de comandos. Los
gestores de ventanas tales como metacity, kwin están desarrollados en C y requieren gcc
para ser compilados. El entorno de escritorio, iconos, ventanas, barras de herramientas,
etc, están basados en librerías específicas (Qt para KDE, GTK+ para GNOME) y hacen uso
del lenguaje mayoritario, C.
Aplicaciones gráficas de usuario: Este es el punto donde entran en juego una gran cantidad
de lenguajes de programación, dado que básicamente es la capa más alta. Tenemos una
gran variedad: C, Python, Java, Perl y otros. Hay librerías GTK+, Tcl/Tk, Qt que son un
frontend gráfico a tareas que corren por detrás en línea de comando.
El Sistema operativo Windows está hecho básicamente en C, C tiene la ventaja de que
puede escalarse con ensamblador, lo cual es buena opción para optimizar ciertos módulos.
Las versiones anteriores de Windows estaban hechas en Basic (Basic NO visual Basic) que
es un lenguaje de bajo nivel de hace unos cuantos años ya. Es un lenguaje que se usa
mucho en la electrónica aun.
Actualmente Windows 7 Mac os x Leopard y Linux usan mas de una Tecnología ya se
ensambladores y demás cosas, y Mac siempre basado en Unix con compilación en C++
para los últimos Sistemas Operativos.
Información obtenida de http://www.ecured.cu/C%2B%2B
C++ en el programa Code::Blocks
Tutorial Introductorio al C++ con el programa Code::Blocks
No hay comentarios.:
Publicar un comentario