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

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

arco.esi.uclm.es
from arco.esi.uclm.es More from this publisher
13.01.2015 Views

✐ ✐ ✐ “Volumen1” — 2012/1/12 — 13:52 — page XXXIV — #34 ✐ Prefacio mentar un lenguaje como C++ es una tarea hercúlea, y puede esperar que las características aparecerán poco a poco en lugar de todas a la vez. Pero si prueba uno de los ejemplos del libro y obtiene un montón de errores del compilador, no es necesariamente un error en el código o en el compilador; simplemente puede no estar implementado aún en su compilador particular. El CD-ROM del libro El contenido principal del CD-ROM empaquetado al final de este libro es un «seminario en CD-ROM» titulado Pensar en C: Fundamentos para Java y C++ obra de Chuck Allison (publicado por MindView, Inc., y también disponible en www.BruceEckel.com). Contiene muchas horas de grabaciones y transparencias, que pueden mostrarse en la mayoría de las computadoras que dispongan de lector de CD-ROM y sistema de sonido. El objetivo de Pensar en C es llevarle cuidadosamente a través de los fundamentos del lenguaje C. Se centra en el conocimiento que necesita para poder pasarse a C++ o Java en lugar de intentar hacerle un experto en todos los recovecos de C (una de las razones de utilizar un lenguaje de alto nivel como C++ o Java es, precisamente, que se pueden evitar muchos de esos recovecos). También contiene ejercicios y soluciones guiadas. Téngalo en cuenta porque el Capítulo 3 de este libro va más allá del CD de Pensar en C, el CD no es una alternativa a este capítulo, sino que debería utilizarse como preparación para este libro. Por favor, tenga en cuenta que el CD-ROM está basado en navegador, por lo que debería tener un navegador Web instalado en su máquina antes de utilizarlo. CD-ROMs, seminarios, y consultoría Hay seminarios en CD-ROM planeados para cubrir el Volumen 1 y el Volumen 2 de este libro. Comprenden muchas horas de grabaciones mías que acompañan las transparencias que cubren el material seleccionado de cada capítulo del libro. Se pueden ver en la mayoría de las computadoras que disponen de lector de CDROM y sistema de sonido. Estos CDs pueden comprarse en www.BruceEckel.com, donde encontrará más información y lecturas de ejemplo. Mi compañía, MindView, Inc., proporciona seminarios públicos de preparación práctica basados en el material de este libro y también en temas avanzados. El material seleccionado de cada capítulo representa una lección, que se continúa con un periodo de ejercicios monitorizados para que cada estudiante reciba atención personal. También proporcionamos preparación «in situ», consultoría, tutorización, diseño y asistentes de código. Puede encontrar la información y los formularios para los próximos seminarios, así como otra información de contacto, en www.BruceEckel.com. A veces me encuentro disponible para consultas de diseño, evaluación de procesos y asistencia. Cuando comencé a escribir sobre computadoras, mi motivación principal fue incrementar mis actividades de consultoría, porque encontraba que la consultoría era competitiva, educacional, y una de mis experiencias profesionales más valiosas. Así que haré todo lo que pueda para incluirle a usted en mi agenda, o para ofrecerle uno de mis socios (que son gente que conozco bien y con la que he tratado, y a menudo co-desarrollan e imparten seminarios conmigo). XXXIV ✐ ✐ ✐ ✐

✐ ✐ ✐ “Volumen1” — 2012/1/12 — 13:52 — page XXXV — #35 ✐ Errores Errores No importa cuántos trucos emplee un escritor para detectar los errores, algunos siempre se escapan y saltan del papel al lector atento. Si encuentra algo que crea que es un error, por favor, utilice el formulario de correcciones que encontrará en www.BruceEckel.com. Se agradece su ayuda. Sobre la portada La primera edición de este libro tenía mi cara en la portada, pero para la segunda edición yo quería desde el principio una portada que se pareciera más una obra de arte, como la portada de Pensar en Java. Por alguna razón, C++ parece sugerirme Art Decó con sus curvas simples y pinceladas cromadas. Tenía en mente algo como esos carteles de barcos y aviones con cuerpos largos. Mi amigo Daniel Will-Harris, (www.Will-Harris.com) a quien conocí en las clases del coro del instituto, iba a llegar a ser un diseñador y escritor de talla mundial. Él ha hecho prácticamente todos mis diseños, incluída la portada para la primera edición de este libro. Durante el proceso de diseño de la portada, Daniel, insatisfecho con el progreso que realizábamos, siempre preguntaba: «¿Qué relación hay entre las personas y las computadoras». Estábamos atascados. Como capricho, sin nada en mente, me pidió que pusiera mi cara en el escáner. Daniel tenía uno de sus programas gráficos (Corel Xara, su favorito) que «autotrazó» mi cara escaneada. Él lo describe de la siguente manera: «El autotrazado es la forma en la que la computadora transforma un dibujo en los tipos de líneas y curvas que realmente le gustan». Entonces jugó con ello hasta que obtuvo algo que parecía un mapa topográfico de mi cara, una imagen que podría ser la manera en que la computadora ve a la gente. Cogí esta imagen y la fotocopié en papel de acuarela (algunas copiadoras pueden manejar papeles gruesos), y entonces comenzó a realizar montones de experimentos añadiendo acuarela a la imagen. Seleccionamos las que nos gustaban más, entonces Daniel las volvió a escanear y las organizó en la portada, añadiendo el texto y otros elementos de diseño. El proceso total requirió varios meses, mayormente a causa del tiempo que me tomó hacer las acuarelas. Pero me he divertido especialmente porque conseguí participar en el arte de la portada, y porque me dio un incentivo para hacer más acuarelas (lo que dicen sobre la práctica realmente es cierto). Diseño del libro y producción El diseño del interior del libro fue creado por Daniel Will-Harris, que solía jugar con letras (FIXME:rub-on) en el instituto mientras esperaba la invención de las computadoras y la publicación de escritorio. De todos modos, yo mismo produje las páginas para impresión (camera-ready), por lo que los errores tipográficos son míos. Se utilizó Microsoft® Word para Windows Versiones 8 y 9 para escribir el libro y crear la versión para impresión, incluyendo la generación de la tabla de contenidos y el índice (creé un servidor automatizado COM en Python, invocado desde las macros VBA de Word, para ayudarme en el marcado de los índices). Python (vea www.python.com) se utilizó para crear algunas de las herramientas para comprobar el código, y lo habría utilizado como herramienta de extracción de código si lo hubiese descubierto antes. Creé los diagramas utilizando Visio®. Gracias a Visio Corporation por crear una XXXV ✐ ✐ ✐ ✐

✐<br />

✐<br />

✐<br />

“Volum<strong>en</strong>1” — 2012/1/12 — 13:52 — page XXXV — #35<br />

✐<br />

Errores<br />

Errores<br />

No importa cuántos trucos emplee un escritor para detectar los errores, algunos<br />

siempre se escapan y saltan del papel al lector at<strong>en</strong>to. Si <strong>en</strong>cu<strong>en</strong>tra algo que crea<br />

que es un error, por favor, utilice el formulario de correcciones que <strong>en</strong>contrará <strong>en</strong><br />

www.BruceEckel.com. Se agradece su ayuda.<br />

Sobre la portada<br />

La primera edición de este libro t<strong>en</strong>ía mi cara <strong>en</strong> la portada, pero para la segunda<br />

edición yo quería desde el principio una portada que se pareciera más una obra de<br />

arte, como la portada de <strong>P<strong>en</strong>sar</strong> <strong>en</strong> Java. Por alguna razón, <strong>C++</strong> parece sugerirme Art<br />

Decó con sus curvas simples y pinceladas cromadas. T<strong>en</strong>ía <strong>en</strong> m<strong>en</strong>te algo como esos<br />

carteles de barcos y aviones con cuerpos largos.<br />

Mi amigo Daniel Will-Harris, (www.Will-Harris.com) a qui<strong>en</strong> conocí <strong>en</strong> las clases<br />

del coro del instituto, iba a llegar a ser un diseñador y escritor de talla mundial.<br />

Él ha hecho prácticam<strong>en</strong>te todos mis diseños, incluída la portada para la primera<br />

edición de este libro. Durante el proceso de diseño de la portada, Daniel, insatisfecho<br />

con el progreso que realizábamos, siempre preguntaba: «¿Qué relación hay <strong>en</strong>tre las<br />

personas y las computadoras». Estábamos atascados.<br />

Como capricho, sin nada <strong>en</strong> m<strong>en</strong>te, me pidió que pusiera mi cara <strong>en</strong> el escáner.<br />

Daniel t<strong>en</strong>ía uno de sus programas gráficos (Corel Xara, su favorito) que «autotrazó»<br />

mi cara escaneada. Él lo describe de la sigu<strong>en</strong>te manera: «El autotrazado es la<br />

forma <strong>en</strong> la que la computadora transforma un dibujo <strong>en</strong> los tipos de líneas y curvas<br />

que realm<strong>en</strong>te le gustan». Entonces jugó con ello hasta que obtuvo algo que parecía<br />

un mapa topográfico de mi cara, una imag<strong>en</strong> que podría ser la manera <strong>en</strong> que la<br />

computadora ve a la g<strong>en</strong>te.<br />

Cogí esta imag<strong>en</strong> y la fotocopié <strong>en</strong> papel de acuarela (algunas copiadoras pued<strong>en</strong><br />

manejar papeles gruesos), y <strong>en</strong>tonces com<strong>en</strong>zó a realizar montones de experim<strong>en</strong>tos<br />

añadi<strong>en</strong>do acuarela a la imag<strong>en</strong>. Seleccionamos las que nos gustaban más, <strong>en</strong>tonces<br />

Daniel las volvió a escanear y las organizó <strong>en</strong> la portada, añadi<strong>en</strong>do el texto y otros<br />

elem<strong>en</strong>tos de diseño. El proceso total requirió varios meses, mayorm<strong>en</strong>te a causa del<br />

tiempo que me tomó hacer las acuarelas. Pero me he divertido especialm<strong>en</strong>te porque<br />

conseguí participar <strong>en</strong> el arte de la portada, y porque me dio un inc<strong>en</strong>tivo para hacer<br />

más acuarelas (lo que dic<strong>en</strong> sobre la práctica realm<strong>en</strong>te es cierto).<br />

Diseño del libro y producción<br />

El diseño del interior del libro fue creado por Daniel Will-Harris, que solía jugar<br />

con letras (FIXME:rub-on) <strong>en</strong> el instituto mi<strong>en</strong>tras esperaba la inv<strong>en</strong>ción de las<br />

computadoras y la publicación de escritorio. De todos modos, yo mismo produje las<br />

páginas para impresión (camera-ready), por lo que los errores tipográficos son míos.<br />

Se utilizó Microsoft® Word para Windows Versiones 8 y 9 para escribir el libro y<br />

crear la versión para impresión, incluy<strong>en</strong>do la g<strong>en</strong>eración de la tabla de cont<strong>en</strong>idos<br />

y el índice (creé un servidor automatizado COM <strong>en</strong> Python, invocado desde las<br />

macros VBA de Word, para ayudarme <strong>en</strong> el marcado de los índices). Python (vea<br />

www.python.com) se utilizó para crear algunas de las herrami<strong>en</strong>tas para comprobar<br />

el código, y lo habría utilizado como herrami<strong>en</strong>ta de extracción de código si lo<br />

hubiese descubierto antes.<br />

Creé los diagramas utilizando Visio®. Gracias a Visio Corporation por crear una<br />

XXXV<br />

✐<br />

✐<br />

✐<br />

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

Saved successfully!

Ooh no, something went wrong!