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 141 — #179<br />
✐<br />
4: Abstracción de Datos<br />
<strong>C++</strong> es una herrami<strong>en</strong>ta de mejora de la productividad. ¿Por qué<br />
si no haría el esfuerzo (y es un esfuerzo, a pesar de lo fácil que intetemos<br />
hacer la transición)<br />
de cambiar de algún l<strong>en</strong>guaje que ya conoce y con el cual ya es productivo a<br />
un nuevo l<strong>en</strong>guaje con el que será m<strong>en</strong>os productivo durante un tiempo, hasta que<br />
se haga con él Se debe a que está conv<strong>en</strong>cido de que conseguirá grandes v<strong>en</strong>tajas<br />
usando esta nueva herrami<strong>en</strong>ta.<br />
En términos de programación, productividad significa que m<strong>en</strong>os personas, <strong>en</strong><br />
m<strong>en</strong>os tiempo, puedan realizar programas más complejos y significativos. Desde<br />
luego, hay otras cuestiones que nos deb<strong>en</strong> importar a la hora de escoger un l<strong>en</strong>guaje<br />
de programación. Aspectos a t<strong>en</strong>er <strong>en</strong> cu<strong>en</strong>ta son la efici<strong>en</strong>cia (¿la naturaleza del l<strong>en</strong>guaje<br />
hace que nuestros programas sean l<strong>en</strong>tos o demasiado grandes), la seguridad<br />
(¿nos ayuda el l<strong>en</strong>guaje a asegurarnos de que nuestros programas hagan siempre lo<br />
que queremos ¿maneja el l<strong>en</strong>guaje los errores apropiadam<strong>en</strong>te) y el mant<strong>en</strong>imi<strong>en</strong>to<br />
(¿el l<strong>en</strong>guaje ayuda a crear código fácil de <strong>en</strong>t<strong>en</strong>der, modificar y ext<strong>en</strong>der). Estos<br />
son, con certeza, factores importantes que se examinarán <strong>en</strong> este libro.<br />
Pero la productividad real significa que un programa que para ser escrito, antes<br />
requería de tres personas trabajando una semana, ahora le lleve sólo un día o dos<br />
a una sola persona. Esto afecta a varios niveles de la esfera económica. A usted le<br />
agrada ver que es capaz de construir algo <strong>en</strong> m<strong>en</strong>os tiempo, sus cli<strong>en</strong>tes (o jefe)<br />
están cont<strong>en</strong>tos porque los productos les llegan más rápido y utilizando m<strong>en</strong>os mano<br />
de obra y finalm<strong>en</strong>te los compradores se alegran porque pued<strong>en</strong> obt<strong>en</strong>er productos<br />
más baratos. La única manera de obt<strong>en</strong>er increm<strong>en</strong>tos masivos <strong>en</strong> productividad es<br />
apoyándose <strong>en</strong> el código de otras personas; o sea, usando librerías.<br />
Una librería es simplem<strong>en</strong>te un montón de código que algui<strong>en</strong> ha escrito y empaquetado<br />
todo junto. Muchas veces, el paquete mínimo es tan sólo un archivo con<br />
una ext<strong>en</strong>sión especial como lib y uno o más archivos de cabecera que le dic<strong>en</strong> al<br />
compilador qué conti<strong>en</strong>e la librería. El <strong>en</strong>lazador sabrá cómo buscar el archivo de la<br />
librería y extraer el código compilado correcto. Sin embargo, ésta es sólo una forma<br />
de <strong>en</strong>tregar una librería. En plataformas que abarcan muchas arquitecturas, como<br />
GNU o Unix, el único modo s<strong>en</strong>sato de <strong>en</strong>tregar una libraría es con código fu<strong>en</strong>te<br />
para que así pueda ser reconfigurado y reconstruido <strong>en</strong> el nuevo objetivo.<br />
De esta forma, las librerías probablem<strong>en</strong>te sean la forma más importante de progresar<br />
<strong>en</strong> términos de productividad y uno de los principales objetivos del diseño de<br />
<strong>C++</strong> es hacer más fácil el uso de librerías. Esto implica <strong>en</strong>tonces, que hay algo difícil<br />
al usar librerías <strong>en</strong> C. Ent<strong>en</strong>der este factor le dará una primera idea sobre el diseño<br />
de <strong>C++</strong>, y por lo tanto, de cómo usarlo.<br />
141<br />
✐<br />
✐<br />
✐<br />
✐