Commits

David Villa Alises committed 5a4110f

arreglando bugs del issue tracker de bitbucket

Comments (0)

Files changed (5)

 	identifican características clave en el sistema que pueden
 	revelar algunas de las clases fundamentales que se usarán. En
 	esencia son respuestas descriptivas a preguntas como:
-
-	Están descritas esencialmente respuestas a preguntas como
 	<footnote>
 	  <para>
 	   Gracias a <personname><firstname>James</firstname> <surname>H
       bogged down in system implementation details prematurely:
       -->
       <para>
-	Los diagramas de caso de uso son intencionadamente simples para
-	impedir que se atascarse con los detalles de implementación del
-	sistema demasiado pronto:
+	Los diagramas de caso de uso son intencionadamente simples para impedir que se
+	atasque con los detalles de implementación del sistema demasiado pronto:
       </para>
 
 
 	are covered in Volume 2). Objects, too, have their patterns that
 	emerge through understanding, use, and reuse.  -->
 	<para>
-	  La vida del diseño de un objeto no se limita a la escritura
-	  del programa. En cambio, el diseño de un objeto ocurre en una
-	  secuencia de etapas. Es útil tener esta perspectiva porque no
-	  debería esperar conseguir la perfección enseguida; en su
-	  lugar, se dará cuenta de que la comprensión de lo que hace un
-	  objeto y debería parecerse a lo que ocurre a largo plazo. Esta
-	  vista también se aplica al diseño de varios tipos de
-	  programas; el patrón para un tipo particular de programas surge
-	  a fuerza de pelearse una y otra vez con ese problema (los
-	  <emphasis>Patrones de Diseño</emphasis> se desarrollan en el
-	  Volumen 2). Los objetos, también, tienen sus patrones que
-	  surgen del entendimiento, uso y reutilización.
+	  La vida del diseño de un objeto no se limita a la escritura del programa. En
+	  cambio, el diseño de un objeto ocurre en una secuencia de etapas. Es útil tener
+	  esta perspectiva porque no debería esperar alcanzar la perfección enseguida; en
+	  lugar de eso, se dará cuenta que entender lo que hace un objeto y a qué se
+	  debería que ocurre con el tiempo. Esta vista también se aplica al diseño de
+	  varios tipos de programas; el patrón para un tipo particular de programas surge
+	  a fuerza de pelearse una y otra vez con ese problema (los <emphasis>Patrones de
+	  Diseño</emphasis> se desarrollan en el Volumen 2). Los objetos, también, tienen
+	  sus patrones que surgen del entendimiento, uso y reutilización.
 	</para>
 
 	<orderedlist>
       -->
 
       <para>
-	Con la evolución, el programador crea algo que al menos se
-	aproxima a lo que piensa que está construyendo, y luego [FIXME:
-	kick the tires], lo compara con sus requisitos y ve dónde no
-	llega. Entonces puede regresar y arreglarlo rediseñando y
-	re-implementando las porciones del programa que no funcionen
-	bien
+	Con la evolución, el programador crea algo que al menos se aproxima a lo que
+	piensa que está construyendo, y luego busca defectos, lo compara con sus
+	requisitos y ve lo que falta. Entonces puede volver y arreglarlo rediseñando y
+	re-implementando las porciones del programa que no funcionen bien
 	<footnote>
 
 	  <!--
 	benefit of finding this out early using rapid development.
 	-->
 	<para>
-	  Una pregunta común es, <quote>¿La POO no hace automáticamente
-	  mis programas mucho más grandes y lentos?</quote> La respuesta
-	  es: <quote>depende</quote>. Los lenguajes de POO más
-	  tradicionales se diseñaron con experimentación y prototipado
-	  rápido en mente más que operación FIXME:lean-and-mean. De esta
-	  manera, prácticamente garantiza un incremento significativo en
-	  tamaño y una disminución en velocidad. C++ sin ambargo, está
-	  diseñado teniendo presente la producción de
-	  programación. Cuando su objetivo es un prototipado rápido,
-	  puede lanzar componentes juntos tan rápido como sea posible
-	  ignorando las cuestiones de eficiencia. Si está usando una
-	  librerías de otros, normalmente ya están
-	  optimizadas por sus vendedores; en cualquier caso no es un
-	  problema mientras está en un modo de desarrollo rápido. Cuando
-	  tenga el sistema que quiere, si es bastante pequeño y rápido,
-	  entonces ya está hecho. Si no, lo puede afinar con una
-	  herramienta de perfilado, mire primero las mejoras que puede
-	  conseguir aplicando las características que incorpora C++. Si
-	  esto no le ayuda, mire las modificaciones que se pueden hacer
-	  en la implementación subyacente de modo que no sea necesario
-	  necesario cambiar ningún código que utilice una clase
-	  particular. Únicamente si ninguna otra cosa soluciona el
-	  problema necesitará cambiar el diseño. El hecho de que el
-	  rendimiento sea tan crítico en esta fase del diseño es un
-	  indicador de que debe ser parte del criterio del diseño
-	  principal. FIXME:Usar un desarrollo rápido tiene la ventaja de darse
-	  cuenta rápidamente.
+	  Una pregunta común es, <quote>¿La POO no hace automáticamente mis programas
+	  mucho más grandes y lentos?</quote> La respuesta es: <quote>depende</quote>. Los
+	  lenguajes de POO más tradicionales se diseñaron con experimentación y
+	  prototipado rápido más que pensando en la eficiencia. De esta manera,
+	  prácticamente garantiza un incremento significativo en tamaño y una disminución
+	  en velocidad. C++ sin ambargo, está diseñado teniendo presente la producción de
+	  programación. Cuando su objetivo es un prototipado rápido, puede lanzar
+	  componentes juntos tan rápido como sea posible ignorando las cuestiones de
+	  eficiencia. Si está usando una librerías de otros, normalmente ya están
+	  optimizadas por sus vendedores; en cualquier caso no es un problema mientras
+	  está en un modo de desarrollo rápido. Cuando tenga el sistema que quiere, si es
+	  bastante pequeño y rápido, entonces ya está hecho. Si no, lo puede afinar con
+	  una herramienta de perfilado, mire primero las mejoras que puede conseguir
+	  aplicando las características que incorpora C++. Si esto no le ayuda, mire las
+	  modificaciones que se pueden hacer en la implementación subyacente de modo que
+	  no sea necesario cambiar ningún código que utilice una clase
+	  particular. Únicamente si ninguna otra cosa soluciona el problema necesitará
+	  cambiar el diseño. El hecho de que el rendimiento sea tan crítico en esta fase
+	  del diseño es un indicador de que debe ser parte del criterio del diseño
+	  principal. FIXME:Usar un desarrollo rápido tiene la ventaja de darse cuenta
+	  rápidamente.
 	</para>
 
 
 	  para <function>func1()</function> . Como no hay cuerpo de
 	  función, el compilador debe tratarla como una declaración de
 	  función en lugar de como definición. La palabra reservada
-	  <kw>extern</kw> es bastante supérflua y opcional para la
+	  <kw>extern</kw> es bastante superflua y opcional para la
 	  declaración de funciones. Probablemente sea desafortunado que
 	  los diseñadores de C no obligaran al uso de <kw>extern</kw>
 	  para la declaración de funciones; hubiera sido más consistente
       -->
 
       <para>
-        For alguna razón, la mayoría de los programadores tienden a
+        Por alguna razón, la mayoría de los programadores tienden a
         evitar el <kw>do-while</kw> y se limitan a trabajar con
         <kw>while</kw>.
       </para>
 	forces a long double; otherwise the number will be a double.
 	-->
 	<para>
-	  Alguno valores válidos para una constante en punto flotante
+	  Algunos valores válidos para una constante en punto flotante
 	  son: 1e4, 1.0001, 47.0, 0.0 y 1.159e-77.  Se pueden añadir
 	  sufijos para forzar el tipo de número de punto flotante:
 	  <literal>f</literal> o <literal>F</literal> fuerza que sea
           En este ejemplo, <code>struct X</code> contiene un array de
           <type>int</type>, pero cuando se crea uno en la pila como en
           <code>X x</code>, los valores de cada uno de los
-          <type>int</type>s tienen basura (esto de muestra utilizando la
+          <type>int</type>s tienen basura (esto se demuestra utilizando la
           función <function>print()</function> para mostrar los
           contenidos de <kw>struct</kw>). Para inicializarlas, la
           dirección del <type>X</type> se toma y se moldea a un puntero
 
       <para>
         Un tipo de datos enumerado es útil cuando se quiere poder seguir
-        la pista pista de alguna característica:
+        la pista de alguna característica:
       </para>
 
 
         -->
 
         <para>
-          los vectores pueden ser de cualquier tipo, incluyendo vectores
+          Los vectores pueden ser de cualquier tipo, incluyendo vectores
           de punteros. De hecho, cuando se quieren pasar argumentos de
           tipo línea de comandos dentro del programa, C y C++ tienen una
           lista de argumentos especial para <function>main()</function>,
 	-->
 
 	<para>
-	  Usando el preprocesador para definir (con <kw>#define</kw>)
-	  una o más banderas de depuración (preferiblemente en un
-	  fichero de cabecera), puede probar una bandera usando una
-	  sentencia <kw>#ifdef</kw> e incluir condicionalmente código de
-	  depuración. Cuando crea que la depuración ha terminado,
-	  simplemente utilice <kw>#undef</kw> con la esa bandera y el
-	  código quedará eliminado automáticamente (y reducirá el tamaño
-	  y sobrecarga del fichero ejecutable).
+	  Usando el preprocesador para definir (con <kw>#define</kw>) una o más banderas
+	  de depuración (preferiblemente en un fichero de cabecera), puede probar una
+	  bandera usando una sentencia <kw>#ifdef</kw> e incluir condicionalmente código
+	  de depuración. Cuando crea que la depuración ha terminado, simplemente utilice
+	  <kw>#undef</kw> la bandera y el código quedará eliminado automáticamente (y
+	  reducirá el tamaño y sobrecarga del fichero ejecutable).
 	</para>
 
 	<!--
 	-->
 
 	<para>
-	  Este programa permitiéndole activar y desactivar la bandera de
-	  depuración hasta que escriba <userinput>quit</userinput> para
-	  indicarle que quiere salir. Fíjese que es necesario escribir
-	  palabras completas, no solo letras (puede abreviarlo a letras
-	  si lo desea). Opcionalmente, también se puede usar un
-	  argumento en línea de comandos para comenzar la depuración -
-	  este argumento puede aparecer en cualquier parte de la línea
-	  de comando, ya que el código de activación en
-	  <function>main()</function> busca en todos los argumentos. La
+	  Este programa sigue permitiéndole activar y desactivar la bandera de depuración
+	  hasta que escriba <userinput>quit</userinput> para indicarle que quiere
+	  salir. Fíjese que es necesario escribir palabras completas, no solo letras
+	  (puede abreviarlo a letras si lo desea). Opcionalmente, también se puede usar un
+	  argumento en línea de comandos para comenzar la depuración - este argumento
+	  puede aparecer en cualquier parte de la línea de comando, ya que el código de
+	  activación en <function>main()</function> busca en todos los argumentos. La
 	  comprobación es bastante simple como se ve en la expresión:
 	</para>
 
 	...</quote>), va a la derecha y encuentra la lista de argumentos
 	vacía (<quote>... función que no tiene argumentos ...</quote>)
 	va a la izquierda y encuentra el <type>void</type>
-	(<quote><varname>funcPtr</varname> es un punero a una función
+	(<quote><varname>funcPtr</varname> es un puntero a una función
 	que no tiene argumentos y retorna <type>void</type></quote>).
       </para>
 
 	file).
 	-->
 	<para>
-	  Escriba un programa que use utilice un bucle <kw>while</kw>
+	  Escriba un programa que utilice un bucle <kw>while</kw>
 	  para leer palabras de la entrada estándar
 	  (<varname>cin</varname>) y las guarde en un
 	  <type>string</type>. Este es un bucle <kw>while</kw>
 	  <quote>infinito</quote>, que debe romper (y salir del
 	  programa) usando la sentencia <kw>break</kw>. Por cada palabra
-	  que lea, evaluela primero usando una secuencia de sentencias
+	  que lea, evalúela primero usando una secuencia de sentencias
 	  <kw>if</kw> para <quote>mapear</quote> un valor entero de la
 	  palabra, y después use una sentencia <kw>switch</kw> que
 	  utilice ese valor entero como selector (esta secuencia de
 	<para>
 	  Experimente con <filename>Union.cpp</filename> eliminando
 	  varios elementos de la <kw>union</kw> para ver el efecto que
-	  causa en el tamaño de la <kw>union</kw> resultante.. Intente
+	  causa en el tamaño de la <kw>union</kw> resultante. Intente
 	  asignar un elemento (por tanto un tipo) de la <kw>union</kw> y
 	  muéstrelo por medio de un elemento diferente (por tanto, un
 	  tipo diferente) para ver que ocurre.
     </orderedlist>
   </sect1>
 </chapter>
+
+
+<!--
+.. Local Variables:
+..  coding: utf-8
+..  mode: flyspell
+..  ispell-local-dictionary: "castellano8"
+..  fill-column: 90
+.. End:
+-->
   people's code. That is, to use libraries.
   -->
   <para>
-    Pero la productividad real significa que un programa que para ser
-    escrito, antes requería de tres personas trabajando una semana,
-    ahora le lleve sólo un día o dos a una sola persona. Esto afecta a
-    varios niveles de la esfera económica. A usted le agrada ver que es
-    capaz de construir algo en menos tiempo, sus clientes (o jefe) son
-    felices porque los productos les llegan más rápido y utilizando
-    menos mano de obra y finalmente los compradores se alegran porque
-    pueden obtener productos más baratos. La única manera de obtener
-    incrementos masivos en productividad es apoyándose en el código de
-    otras personas; o sea, usando librerías.
+    Pero la productividad real significa que un programa que para ser escrito, antes
+    requería de tres personas trabajando una semana, ahora le lleve sólo un día o dos a
+    una sola persona. Esto afecta a varios niveles de la esfera económica. A usted le
+    agrada ver que es capaz de construir algo en menos tiempo, sus clientes (o jefe) están
+    contentos porque los productos les llegan más rápido y utilizando menos mano
+    de obra y finalmente los compradores se alegran porque pueden obtener productos más
+    baratos. La única manera de obtener incrementos masivos en productividad es apoyándose
+    en el código de otras personas; o sea, usando librerías.
   </para>
 
   <!--
     compiled obj or lib or dll, etc.) looks like this: -->
     <para>
       El archivo de código fuente para la implementación (del que no se
-      suele disponer si fuese una librería comercial - normalmente sólo
-      dispondrá que un <filename>.obj</filename>,
+      suele disponer si fuese una librería comercial &mdash;normalmente sólo
+      dispondrá de un <filename>.obj</filename>,
       <filename>.lib</filename> o <filename>.dll</filename>, etc) tiene
       este aspecto:
     </para>
       bits. Descubrí más tarde que nunca había sido un buen programador
       en C, camuflando así mi ignorancia sobre estructuras,
       <function>malloc()</function> y <function>free()</function>,
-      <function>setjmp()</function> y <function>longimp()</function>, y
+      <function>setjmp()</function> y <function>longjmp()</function>, y
       otros conceptos <emphasis>sofisticados</emphasis>, y muriéndome de
       vergüenza cuando estos términos entraban en una conversación, en
       lugar de investigar su utilidad.