13.01.2015 Views

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

SHOW MORE
SHOW LESS

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 />

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!