David_N
2004-02-01 21:01:59 UTC
Hola a todos,
veréis tengo el libro El Lenguaje de Programación C
segunda edición.
La editorial es Pearson Educación y está traducido por
Nestor Gómez Muñoz
El libro que tenéis vosotros ¿es este?
Este libro me está costando horrores entenderlo por su traducción,
por ejemplo:
a las sentencias las llamas proposiciones
a los arrays o vectores los llama arreglos
a los punteros apuntadores
eso no es grave,
pero algo que si que no me cuadra es
llamar operadores de corrimiento a los operadores de desplazamiento.
Uff, no me imagino a alguien en España llamandolos de esta manera.
Por otro lado la forma de redactar hace muy incompresinble el texto:
Principiemos por empezemos...
Cuando más... (no se como traducirlo aunque no es relevante)
o cosa como:
Pág 115:
<cita>
[...]
La longitud de almacenamiento es así uno más que que el número
de caracteres entre las comillas...
</cita>
joder, tengo que releer y traducir:
La longitud de almacenamiento es el número de caracteres entre comillas
más uno.
Pero hay más cosas en la misma página:
<cita>
[...]
Existe una diferencia importante entre estas dos definiciones:
char amessage[]="ya es el tiempo"; /* arreglo */
char *pmessage ="ya es el tiempo"; /* apuntador */
amessage es un arreglo, suficientemente grande como para contener la
secuencia de caracteres y el '\0' que lo **** inicializa. *********
</cita>
¿Será que lo finaliza?, ufff esto rompería a cualquier programador
novato de C.
Otra más:
pág 213:
<cita>
[...]
Una constante entera que consiste en una secuencia de dígitos se toma
como octal si principia con 0 (dígito cero), de otra manera es decimal.
Las constantes octales no tienen 8 ó 9. [...]
</cita>
Al decir no contienen 8 ó 9 no excluye por ejemplo que contenga ABC o
D,
hombre, por contexto se pilla, pero yo creo que esa manera negativa
de excluir dígitos no es la adecuada... para mí mas correcto es decir:
[...] Las constantes octales sólo contienen los dígitos del 0 al 7.
en la misma página:
<cita>
Las constantes de caracter no contienen el caracter ' o nueva línea;
para representarlos, así como [...]
</cita>
si os fijáis despues de caracter va el apostrofo ('), cuando empiezo
a leer ese apostrofo ahí sin entrecomillar "'" o entre paréntesis (')
despista ya que buscas el de cierre,algo como '\n'. En casi
todos los libros se enmarca al caracter para distinguirlo del
contexto.
Y esto es así durante todo el libro.
Si luego le sumamos la forma de codificar de K&R por ejemplo:
Pág 57
<cita>
for (i=0;i<n;i++)
printf ("%6d%c",a[i],(i%10==9|| i==n-1)?'\n':' ');
</cita>
buff, no utiliza llaves para el for...
la sentencia if de esa forma...
en fin, sí, son los creadores, pero no es que sean muy claros
codificando, o al menos para mí
yo personalmente hubiera hecho...
for (i=0; i<n; i++){
if ( (i%10 == 9) || (i == n-1) ){
printf ("%6d%c",'\n');
}
else {
printf ("%6d%c",' ');
}
}
aunque sea más largo y tenga que repetir dos printf,
pero bueno, con su forma de codificar no me meto, sino
tan sólo que a un programador novato en C le rompería en
mil pedazos una codificación como esa, aunque sea económica
en cuanto a escritura.
En fin, que traducción+codificación no creo que haga este libro
muy aconsejado al programador novato total en C.
¿Tenéis el libro traducido por otra persona?
¿Que opináis?
P.D: (Puede que también sea mi capacidad de compresión la que falla).
P.D: (Cuando por fin se entiende se aclaran muchos conceptos, pero
cuesta).
Saludos y perdón por el ladrillazo.
Recortar para responder.
veréis tengo el libro El Lenguaje de Programación C
segunda edición.
La editorial es Pearson Educación y está traducido por
Nestor Gómez Muñoz
El libro que tenéis vosotros ¿es este?
Este libro me está costando horrores entenderlo por su traducción,
por ejemplo:
a las sentencias las llamas proposiciones
a los arrays o vectores los llama arreglos
a los punteros apuntadores
eso no es grave,
pero algo que si que no me cuadra es
llamar operadores de corrimiento a los operadores de desplazamiento.
Uff, no me imagino a alguien en España llamandolos de esta manera.
Por otro lado la forma de redactar hace muy incompresinble el texto:
Principiemos por empezemos...
Cuando más... (no se como traducirlo aunque no es relevante)
o cosa como:
Pág 115:
<cita>
[...]
La longitud de almacenamiento es así uno más que que el número
de caracteres entre las comillas...
</cita>
joder, tengo que releer y traducir:
La longitud de almacenamiento es el número de caracteres entre comillas
más uno.
Pero hay más cosas en la misma página:
<cita>
[...]
Existe una diferencia importante entre estas dos definiciones:
char amessage[]="ya es el tiempo"; /* arreglo */
char *pmessage ="ya es el tiempo"; /* apuntador */
amessage es un arreglo, suficientemente grande como para contener la
secuencia de caracteres y el '\0' que lo **** inicializa. *********
</cita>
¿Será que lo finaliza?, ufff esto rompería a cualquier programador
novato de C.
Otra más:
pág 213:
<cita>
[...]
Una constante entera que consiste en una secuencia de dígitos se toma
como octal si principia con 0 (dígito cero), de otra manera es decimal.
Las constantes octales no tienen 8 ó 9. [...]
</cita>
Al decir no contienen 8 ó 9 no excluye por ejemplo que contenga ABC o
D,
hombre, por contexto se pilla, pero yo creo que esa manera negativa
de excluir dígitos no es la adecuada... para mí mas correcto es decir:
[...] Las constantes octales sólo contienen los dígitos del 0 al 7.
en la misma página:
<cita>
Las constantes de caracter no contienen el caracter ' o nueva línea;
para representarlos, así como [...]
</cita>
si os fijáis despues de caracter va el apostrofo ('), cuando empiezo
a leer ese apostrofo ahí sin entrecomillar "'" o entre paréntesis (')
despista ya que buscas el de cierre,algo como '\n'. En casi
todos los libros se enmarca al caracter para distinguirlo del
contexto.
Y esto es así durante todo el libro.
Si luego le sumamos la forma de codificar de K&R por ejemplo:
Pág 57
<cita>
for (i=0;i<n;i++)
printf ("%6d%c",a[i],(i%10==9|| i==n-1)?'\n':' ');
</cita>
buff, no utiliza llaves para el for...
la sentencia if de esa forma...
en fin, sí, son los creadores, pero no es que sean muy claros
codificando, o al menos para mí
yo personalmente hubiera hecho...
for (i=0; i<n; i++){
if ( (i%10 == 9) || (i == n-1) ){
printf ("%6d%c",'\n');
}
else {
printf ("%6d%c",' ');
}
}
aunque sea más largo y tenga que repetir dos printf,
pero bueno, con su forma de codificar no me meto, sino
tan sólo que a un programador novato en C le rompería en
mil pedazos una codificación como esa, aunque sea económica
en cuanto a escritura.
En fin, que traducción+codificación no creo que haga este libro
muy aconsejado al programador novato total en C.
¿Tenéis el libro traducido por otra persona?
¿Que opináis?
P.D: (Puede que también sea mi capacidad de compresión la que falla).
P.D: (Cuando por fin se entiende se aclaran muchos conceptos, pero
cuesta).
Saludos y perdón por el ladrillazo.
Recortar para responder.