
• Paradigma:multiparadigma: orientado a objetos, imperativo, programación genérica.
• Apareció en:1983
• Diseñado por:Bjarne Stroustrup
• Tipo de dato:fuerte, estático
• Implementaciones:GNU Compiler Collection, Microsoft Visual C++, Borland C++ Builder, Dev-C++, C-Free.
• Dialectos:ISO C++, ANSI C++ 1998, ANSI C++ 2003
• Influido por:C, Simula
• Ha influido a:Ada, C#, Java, PHP, D, Perl
Hoy en día, los ordenadores con capaces de llevar a cabo tareas muy diferentes; desde operaciones matemáticas simples hasta sofisticadas representaciones graficas. Estas tareas no las hace el ordenador por si mismo, si no que son efectuadas siguiendo una serie de instrucciones predefinidas que componen lo que nosotros llamamos un programa.Para que el ordenador interprete correctamente el programa, este debe estar escrito en lenguaje maquina (secuencias de 0 y 1). Obviamente, seria muy complicado para nosotros programar de esta manera, por lo que nacen los llamados lenguajes de alto nivel. Estos son mucho más sencillos y parecidos al nuestro. Entre ellos esta C++.
Breve historia de C++
C++ esta basado en el lenguaje de programación C, el cual esta a su vez basado en dos lenguajes muy primitivos (BCPL y B).Sus fundadores fueron Martin Richards (1976) y Ken Thompson (1970) respectivamente. Dos ańos mas tarde de la creación de B Dennis Ritchie implementó el diseńo de BCPL y B y creó C, que se dio a conocer por ser el lenguaje de programación de desarrollo de UNIX.
A principios de los ańos 80, Bjarne Stroustrup (de los laboratorios Bell) empezó a desarrollar C++, que recibiría formalmente su nombre a finales de 1983. En octubre de 1985, apareció la primera divulgación comercial del lenguaje y la primera edición del libro "The C++ Programming Language", escrito por el propio creador de C++.
Desde ese momento, C y C++ se han usado para la creación de sistemas operativos, por lo que su popularidad ha ido creciendo a lo largo de los ańos, y ahora mismo es uno de los lenguajes de programación mas usados por los programadores.
Ventajas:
• Lenguaje de programación orientado a objetos.
• Lenguaje muy didáctico, gracias a este lenguaje puedes aprender muchos otros lenguajes con gran facilidad, como C#, Java, Visual Basic, Javascript, PHP, entre otros.
• Es muy potente en lo que se refiere a creación de sistemas complejos, un lenguaje muy robusto.
• Permite elaborar aplicaciones sencillas como un "Hello World!" hasta sistemas operativos y mucho más, todo eso dependiendo del manejo del lenguaje.
Actualmente, puede compilar y ejecutar código de C, ya viene con librerías para realizar esta labor.
• Es un lenguaje muy empleado, existen muchos tutoriales en línea, libros, códigos fuentes abiertos... hay material de sobra y basta para aprender lo necesario y mucho más con este lenguaje.
• Existen muchos algoritmos cuyo pseudocódigo se encuentra ya desarrollado en C++, de manera que puedes tomarlo y amoldarlo a tu solución (porque el que veas un fragmento de código no asegura que sea correcto al 100%).
Desventajas:
• Uso de DLLs (librerías dinámicas) muy complejo. Java y .Net han evolucionado estos conceptos manipulando las DLLs mediante los frameworks que proveen. En cambio, en C++ el desarrollador debe encargarse de cargar y liberar de memoria estas librerías, y correr los riesgos por el manejo de esta memoria.
• Elaborar un sistema en C++ es como construir un rascacielos: tiene buen soporte y es robusto, pero si existen errores en los pisos inferiores toda la parte superior se viene abajo terriblemente.
• Manejo de punteros y memoria respecto a ello. Claro, esta también es una gran ventaja porque permite un mejor control de la memoria y una buena administración de recursos de computadora, pero la inexperiencia de los desarrolladores o la pérdida de costumbre con este tipo de variables (sobre todo cuando son dobles o triples punteros, inclusive de mayor orden) los lleva al desastre.
• No es recomendable para desarrollo de páginas Web.
• Existen muchos entornos de programación para C++. No existen estándares para ello. De manera que puedes encontrar C++ para Unix/Linux, C++ para Windows, C++ para MacOS, y asi indistintamente. Además, en cada SO encuentras diferentes IDEs de desarrollo, y también encuentras IDEs para desarrollo de aplicaciones gráficas como Anjuta, Qt para Unix/Linux, Borland C++ Builder y Visual Studio C++ para Windows...
Características de C++
C++ tiene varias características que otros lenguajes de programación no tienen. Las más destacadas son:
Programación orientada a objetos:
La posibilidad de orientar la programación a objetos permite al programador diseńar aplicaciones desde un punto de vista más cercano a la vida real. Además, permite la reutilización del código de una manera más lógica y productiva.
Portabilidad:
Un código escrito en C++ puede ser compilado en casi todo tipo de ordenadores y sistemas operativos sin hacer apenas cambios.
Brevedad:
El código escrito en C++ es muy corto en comparación con otros lenguajes, sobretodo porque en este lenguaje es preferible el uso de caracteres especiales que las "palabras clave".
programación modular:
Un cuerpo de aplicación en C++ puede estar hecho con varios ficheros de código fuente que son compilados por separado y después unidos. Además, esta característica permite unir código en C++ con código producido en otros lenguajes de programación como Ensamblador o el propio C
Velocidad:
El código resultante de una compilación en C++ es muy eficiente, gracias a su capacidad de actuar como lenguaje de alto y bajo nivel y a la reducida medida del lenguaje.
Aplicaciones (conocidas) estan hechas en C++
• Windows (sistema operativo)
• Linux (sistema operativo)
• Mac (sistema operativo)
• Photoshop (programa de diceño grafico)
• Winamp (reproductor de musica)
Nota: la lista no pretende ser completa, solo se presentan algunas de las aplicaciones más conocidas, relevantes y/o utilizadas por gran número de personas.
Conclusión
C es un lenguaje de programación de nivel medio ya que combina los elementos del lenguaje de alto nivel con la funcionalidad del ensamblador.Su característica principal es ser portable,es decir,es posible adaptar los programas escritos para un tipo de computadora en otra.Otra de sus características principales es el ser esctructurado, es decir, el programa se divide en módulos (funciones) independientes entre sí.
El lenguaje C inicialmente fué creado para la programación de:
-Sistemas operativos
-Intérpretes
-Editores
-Ensambladores
-Compiladores
-Administradores de bases de datos.
Actualmente, debido a sus caraterísticas, puede ser utilizado paratodo tipo de programas.
Una de las mejores maneras de aprender es tomando una clase de programación. Vea si usted puede tomar una clase en su escuela, o tomar una clase en la escuela nocturna. Programación en C es una habilidad que puede terminar ahorrándole su trabajo o ayudarle a conseguir un mejor trabajo