Pensar en C++ (Volumen 1) - Grupo ARCO
Pensar en C++ (Volumen 1) - Grupo ARCO
Pensar en C++ (Volumen 1) - Grupo ARCO
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
✐<br />
✐<br />
✐<br />
“Volum<strong>en</strong>1” — 2012/1/12 — 13:52 — page 34 — #72<br />
✐<br />
Capítulo 1. Introducción a los Objetos<br />
para modificar un diseño exist<strong>en</strong>te y adecuarlo a sus necesidades. Este es el concepto<br />
g<strong>en</strong>eral de los patrones de diseño, tratado <strong>en</strong> el Volum<strong>en</strong> 2.<br />
Use librerías de clases exist<strong>en</strong>tes<br />
La primera motivación económica para cambiar a POO es el fácil uso de código<br />
exist<strong>en</strong>te <strong>en</strong> forma de librerías de clases (<strong>en</strong> particular, las librerías Estándar de<br />
<strong>C++</strong>, explicadas <strong>en</strong> profundidad <strong>en</strong> el Volum<strong>en</strong> 2 de este libro). El ciclo de desarrollo<br />
de aplicación más corto ocurrirá cuando sólo t<strong>en</strong>ga que escribir la función main(),<br />
creando y usando objetos de las librerías de fábrica. No obstante, algunos programadores<br />
nuevos no lo <strong>en</strong>ti<strong>en</strong>d<strong>en</strong>, no son consci<strong>en</strong>tes de la exist<strong>en</strong>cia de librerías de<br />
clases, o, a través de la fascinación con el l<strong>en</strong>guaje, desean escribir clases que ya exist<strong>en</strong>.<br />
Su éxito con POO y <strong>C++</strong> se optimizará si hace un esfuerzo por buscar y reutilizar<br />
código de otras personas desde el principio del proceso de transición.<br />
No reescriba <strong>en</strong> <strong>C++</strong> código que ya existe<br />
Aunque compilar su código C con un compilador de <strong>C++</strong> normalm<strong>en</strong>te produce<br />
(de vez <strong>en</strong> cuando trem<strong>en</strong>dos) b<strong>en</strong>eficios <strong>en</strong>contrando problemas <strong>en</strong> el viejo código,<br />
normalm<strong>en</strong>te coger código funcional exist<strong>en</strong>te y reescribirlo <strong>en</strong> <strong>C++</strong> no es la mejor<br />
manera de aprovechar su tiempo. (Si ti<strong>en</strong>e que convertirlo <strong>en</strong> objetos, puede «<strong>en</strong>volver»<br />
el código C <strong>en</strong> clases <strong>C++</strong>). Hay b<strong>en</strong>eficios increm<strong>en</strong>tales, especialm<strong>en</strong>te si es<br />
importante reutilizar el código. Pero esos cambios no le van a mostrar los espectaculares<br />
increm<strong>en</strong>tos <strong>en</strong> productividad que espera para sus primeros proyectos a m<strong>en</strong>os<br />
que ese proyecto sea nuevo. <strong>C++</strong> y la POO destacan más cuando un proyecto pasa<br />
del concepto a la realidad.<br />
1.12.2. Obstáculos de la gestión<br />
Si es ger<strong>en</strong>te, su trabajo es adquirir recursos para su equipo, para superar las barreras<br />
<strong>en</strong> el camino del éxito de su equipo, y <strong>en</strong> g<strong>en</strong>eral para int<strong>en</strong>tar proporcionar el<br />
<strong>en</strong>torno más productivo y agradable de modo que sea más probable que su equipo<br />
realice esos milagros que se le pid<strong>en</strong> siempre. Cambiar a <strong>C++</strong> cae <strong>en</strong> tres de estas categorías,<br />
y puede ser maravilloso si no le costara nada. Aunque cambiar a <strong>C++</strong> puede<br />
ser más económico - dep<strong>en</strong>di<strong>en</strong>do de sus restricciones 21 - como las alternativas de la<br />
POO para un equipo de programadores de C (y probablem<strong>en</strong>te para programadores<br />
<strong>en</strong> otros l<strong>en</strong>guajes procedurales), no es gratis, y hay obstáculos que debería conocer<br />
antes de int<strong>en</strong>tar comunicar el cambio a <strong>C++</strong> d<strong>en</strong>tro de su compañía y embarcarse<br />
<strong>en</strong> el cambio usted mismo.<br />
Costes iniciales<br />
El coste del cambio a <strong>C++</strong> es más que solam<strong>en</strong>te la adquisición de compiladores<br />
<strong>C++</strong> (el compilador GNU de <strong>C++</strong>, uno de los mejores, es libre y gratuito). Sus costes<br />
a medio y largo plazo se minimizarán si invierte <strong>en</strong> formación (y posiblem<strong>en</strong>te un<br />
m<strong>en</strong>tor para su primer proyecto) y también si id<strong>en</strong>tifica y compra librerías de clases<br />
que resuelvan su problema más que int<strong>en</strong>tar construir las librerías usted mismo.<br />
Hay costes que se deb<strong>en</strong> proponer <strong>en</strong> un proyecto realista. Además, están los costes<br />
ocultos <strong>en</strong> pérdidas de productividad mi<strong>en</strong>tras se apr<strong>en</strong>de el nuevo l<strong>en</strong>guaje y posiblem<strong>en</strong>te<br />
un nuevo <strong>en</strong>torno de programación. Formar y ori<strong>en</strong>tar puede minimizar<br />
ese efecto, pero los miembros del equipo deb<strong>en</strong> superar sus propios problemas pa-<br />
21 Para mejora de la productividad, debería considerar también el l<strong>en</strong>guaje Java.<br />
34<br />
✐<br />
✐<br />
✐<br />
✐