usabilidadweb.com.ar

Introducción a C++ y a la resolución de problemas

© Carlos D. González - Update: Oct - 2017
Contacto: usabilidadweb @ usabilidadweb.com.ar

El lenguaje C++ se comenzó a desarrollar en 1980. Su autor fue B. Stroustrup, de la ATT. Al comienzo era una extensión del lenguaje C que fue denominada C with classes. Este nuevo lenguaje comenzó a ser utilizado fuera de la ATT en 1983. El nombre C++ es también de ese año, hace referencia al carácter del operador incremento de C (++). Ante la gran difusión y éxito que iba obteniendo en el mundo de los programadores, la ATT comenzó a estandarizarlo internamente en 1987. En 1989 se formó un comité ANSI (seguido algún tiempo después por un comité ISO) para estandarizarlo a nivel americano e internacional.

C++ en la actualidad

En la actualidad, el C++ es un lenguaje versátil, potente y general. Su éxito entre los programadores profesionales le ha llevado a ocupar el primer puesto como herramienta de desarrollo de aplicaciones. El C++ mantiene las ventajas del C en cuanto a riqueza de operadores y expresiones, flexibilidad y eficiencia. Además, ha eliminado algunas de las dificultades y limitaciones del C original. La evolución de C++ ha continuado con la aparición de Java, un lenguaje creado simplificando algunas cosas de C++ y añadiendo otras, que se utiliza para realizar aplicaciones en Internet.

C++ es a la vez un lenguaje procedural (orientado a algoritmos) y orientado a objetos. Como lenguaje procedural se asemeja al C y es compatible con él, aunque ya se ha dicho que presenta ciertas ventajas . Como lenguaje orientado a objetos se basa en una filosofía completamente diferente, que exige del programador un completo cambio de mentalidad. Las características propias de la Programación Orientada a Objetos (Object Oriented Programming, u OOP) de C++ son modificaciones mayores que sí cambian radicalmente su naturaleza.

C++ no es un lenguaje orientado a objetos puro (en el sentido en que puede serlo Java por ejemplo), además no nació como un ejercicio académico de diseño. Se trata simplemente del sucesor de un lenguaje de programación hecho por programadores (de alto nivel) para programadores, lo que se traduce en un diseño pragmático al que se le han ido añadiendo todos los elementos que la práctica aconsejaba como necesarios, con independencia de su belleza o purismo conceptual.

Los programas escritos en C o C++ tienen otras ventajas sobre el resto. Con la excepción del ensamblador, generan los programas más compactos y rápidos. El código es portable, es decir, un programa ANSI en C o C++ podrá ejecutarse en cualquier máquina y bajo cualquier sistema operativo. Y si es necesario, proporcionan un acceso a bajo nivel de hardware sólo igualado por el ensamblador.

Otra ventaja importante, C tiene más de 30 años de vida, y C++ casi 20 y no parece que su uso se debilite demasiado. No se trata de un lenguaje de moda, y probablemente a ambos les quede aún mucha vida por delante. Sólo hay que pensar que sistemas operativos como Linux, Unix o incluso Windows, MySQL, Apache, etc. se escriben casi por completo en C.

Algunos temas del curso:

Durante el curso el énfasis estará puesto en el conocimiento de las características más importantes del lenguaje a través de un desarrollo amplio y en lo que respecta a la parte aplicada, al desarrollo de software (Edición del programa fuente, Compilación, Ejecución) para la resolución de problemas. Está previsto el desarrollo de decenas de programas. C++ se puede abordar luego de Python, MySQL y PHP 5. Entorno de trabajo: Linux.

  • Fases en el desarrollo de programas
  • Introducción a C++
  • Programación orientada a objetos
  • Estructuras de un programa C++
  • Tipos de datos C++
  • Entradas y Salidas
  • Estructuras de control selectivas
  • Estructuras de control repetitivas
  • Arrays
  • Clases y Objetos
  • Gestión dinámica de la memoria
  • Flujos y Archivos
  • Resolución de problemas
  • Desarrollo de software de escritorio
  • etc..



Página del Autor de Usabilidad web |

Stds W3C, PHP, MySQL, PostgreSQL, SQLite ...
Desarrollo de software basado en web
Desarrollo de software en C++, JAVA y PYTHON
Consultor independiente: Usabilidad, AI, y Estándares web W3C
Cursos en Buenos Aires, Argentina
http://www.usabilidadweb.com.ar/