1.13. Resumen

Este capítulo intenta darle sentido a los extensos usos de la programación orientada a objetos y C++, incluyendo el porqué de que la POO sea diferente, y porqué C++ en particular es diferente, conceptos de metodología de POO, y finalmente los tipos de cuestiones que encontrará cuando cambie su propia compañía a POO y C++.

La POO y C++ pueden no ser para todos. Es importante evaluar sus necesidades y decidir si C++ satisfará de forma óptima sus necesidades, o si podría ser mejor con otros sistemas de programación (incluido el que utiliza actualmente). Si sabe que sus necesidades serán muy especializadas en un futuro inmediato y tiene restricciones específicas que no se pueden satisfacer con C++, entonces debe investigar otras alternativas [32]. Incluso si finalmente elige C++ como su lenguaje, por lo menos entenderá qué opciones había y tendrá una visión clara de porqué tomó esa dirección.

El lector conoce el aspecto de un programa procedural: definiciones de datos y llamadas a funciones. Para encontrar el significado de un programa tiene que trabajar un poco, revisando las llamadas a función y los conceptos de bajo nivel para crear un modelo en su mente. Esta es la razón por la que necesitamos representaciones intermedias cuando diseñamos programas procedurales - por eso mismo, estos programas tienden a ser confusos porque los términos de expresión están orientados más hacia la computadora que a resolver el problema.

Como C++ añade muchos conceptos nuevos al lenguaje C, puede que su asunción natural sea que el main() en un programa de C++ será mucho más complicado que el equivalente del programa en C. En eso, quedará gratamente sorprendido: un programa C++ bien escrito es generalmente mucho más simple y mucho más sencillo de entender que el programa equivalente en C. Lo que verá son las definiciones de los objetos que representan conceptos en el espacio de su problema (en lugar de cuestiones de la representación en el computador) y mensajes enviados a otros objetos para representar las actividades en este espacio. Ese es uno de los placeres de la programación orientada a objetos, con un programa bien diseñado, es fácil entender el código leyéndolo. Normalmente hay mucho menos código, en parte, porque muchos de sus problemas se resolverán utilizando código de librerías existentes.



[32] En particular, recomiendo mirar Java http://java.sun.com y Python http://www.python.org.