Discussion:
[Ladrillo] Libro de KR, su traducción y forma de codificar...
(demasiado antiguo para responder)
David_N
2004-02-01 21:01:59 UTC
Permalink
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.
eoliTH
2004-02-02 13:19:48 UTC
Permalink
Diría que lo han traducido con un programa de traducción
automática...que cosa más rara.
Post by David_N
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,
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.
Principiemos por empezemos...
Cuando más... (no se como traducirlo aunque no es relevante)
<cita>
[...]
La longitud de almacenamiento es así uno más que que el número
de caracteres entre las comillas...
</cita>
La longitud de almacenamiento es el número de caracteres entre comillas
más uno.
<cita>
[...]
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.
<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
[...] Las constantes octales sólo contienen los dígitos del 0 al 7.
<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.
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.
José Luis Sánchez
2004-02-02 15:52:40 UTC
Permalink
Post by David_N
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?
El mismo, comprado hace años, pero el mismo.
Por alguna razón que desconozco exactamente, y que podría variar
desde la simple conveniencia a que las traducciones les salgan más
baratas, estas editoriales siempre traducen sus libros en Sudamérica, y
muy frecuentemente en Mexico. Y claro, pasa lo que pasa. El léxico es
diferente, las expresiones son diferentes y hay erratas de cosecha
propia, como es de esperar en cualquier libro.
Post by David_N
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...
Puede que no sea muy claro para un novato, pero... es factible
hacerlo así. Además, si después del for solo hay una línea no necesitas
llaves en realidad. Quedará más claro para tu gusto, pero no dejará de
ser solo eso, una preferencia personal.
Post by David_N
¿Tenéis el libro traducido por otra persona?
¿Que opináis?
Opino que el libro es bueno, pero que necesitamos la versión
original en inglés. Me consta que, por alguna razón basada en el error a
buen seguro, FALTAN algunas líneas del libro original por traducir, lo
que es mucho peor. Una que recuerde a bote pronto es que en la
especificación formal del lenguaje existe un párrafo donde detalla el
tamaño de los tipos y entre ellos el tamaño del int. Pues bien, esa
frase está en el libro en inglés y no está en el libro mancilllado
(porque llamar traducción a eso tendría guasa). No sé cuantas más hay de
esas, solo sé que una vez necesité consultar lo que decía el estándar y
en el libro no estaba mientras que en la versión original de un amigo,
sí. Y eso es peor, mucho peor.

Aún así, para mi es un libro de referencia imprescindible y casi el
único libro que merece tenerse a mano siempre. Recuerdo uno bueno de C,
de la serie Schaum que también era bueno, pero de eso hace mucho y mi
memoria puede no ser exacta.... :)

Saludos y paciencia
José Luis
Julián Albo
2004-02-02 16:00:40 UTC
Permalink
Post by David_N
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.
Yo entiendo que es (la secuencia de caracteres y el '\0') (que lo
inicializa), no (la secuencia de caracteres) (y el '\0' que lo
inicializa).
Post by David_N
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
Hombre, yo veo que dice bastante claramente "de dígitos" ¿no?
Post by David_N
Y esto es así durante todo el libro.
Los he visto bastante peores, con cosas como "directorio de entrada" en
vez de "entrada de directorio" que muestran que el traductor no tiene ni
idea del significado de lo que está traduciendo. Actualmente no tanto,
pero hace años las traducciones de libros de informática solían ser
bastante malas.
Post by David_N
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...
Lo de usar llaves siempre es un convenio que se usa en algunas partes,
no algo universal.
Post by David_N
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,
Pues discrepo, repetir código es malo, crea problemas de mantenimiento
cuando alguien cambia algo en una rama y no se acuerda de cambiar
también la otra.

Y por cierto, te has olvidado de a [i] en ambas ramas.
Post by David_N
En fin, que traducción+codificación no creo que haga este libro
muy aconsejado al programador novato total en C.
Probablemnte no, pero es que se titula "El lenguaje de programación C",
no "Introducción al lenguaje de programación C". En cuanto a la
traducción, si el novato es mejicano posiblemnte le choque mucho menos
que a ti.
Post by David_N
P.D: (Cuando por fin se entiende se aclaran muchos conceptos, pero
cuesta).
Pues ya sabes, la fama cuesta y hay que pgar con sudor, y esas cosas ;)

Salu2
Martin J. Sanchez
2004-02-03 09:36:02 UTC
Permalink
Post by David_N
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,
...
Desde luego las traducciones que describes son pesimas.

Ademas de que se usen terminos que aqui no se utilicen, es evidente
que el traductor no tiene ni idea de C y ha interpretado muchas frases
como ha podido. Por lo visto no estan dispuestos a pagar a un
profesional informatico para ello.

Otra editorial que suele tener pesimas traducciones es mcgraw-hill. Y
una que suele ser buena es Prentice-hall.

Yo prefiero comprar los libros en ingles.

Un saludo,
Martin.
znôrt
2004-02-03 10:09:29 UTC
Permalink
On Tue, 03 Feb 2004 10:36:02 +0100, Martin J. Sanchez
Post by Martin J. Sanchez
Post by David_N
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,
...
Desde luego las traducciones que describes son pesimas.
Ciertamente.

En algunos términos también es una cuestión de modas. No sé de donde
vino, pero la mayoría de textos traducidos de hace años traducían
array por arreglo, pointers por apuntadores, etc ... y se convirtió en
constumbre. Va a gustos, yo siempre he dicho matriz o tabla y puntero,
pero "arreglo" se entiende.

De todas formas me gustaría destacar que, traducción pésima aparte, el
libro de K&R, siendo un texto excelente y de referencia, no destaca ni
mucho menos por su talante didáctico y quizá no sea el mejor libro
para aprendices, en especial para quienes no tengan ya algún
conocimiento de programación u otros lenguajes.
Post by Martin J. Sanchez
Yo prefiero comprar los libros en ingles.
Desde luego es la mejor opción. Para los libros escritos en inglés,
claro :D Hay algún que otro autor bueno en castellano, también. Se me
ocurre, así a bote pronto, Ricardo Devis, de quien hace tiempo que no
leo nada, pero hay muchos otros. Este prefiero leerlo en castellano
;-)

Y está claro, en este oficio el inglés, como mínimo a nivel de
lectura, creo que es requisito imprescindible.

saludos
znôrt
Deschamps
2004-02-03 10:49:08 UTC
Permalink
Hola,
[..] Desde luego las traducciones que describes son pesimas.
[..] Otra editorial que suele tener pesimas traducciones es
mcgraw-hill. Y una que suele ser buena es Prentice-hall [..]
Una duda, solamente... Este libro lo publica Pearson Educación, que
es la matriz de Prentice Hall, que al fin y al cabo es quien lo edita
y traduce. Así, a bote pronto, parece un poco contradictorio tu
mensaje :-)

Imagino que las buenas traducciones a las que te refieres
corresponden a Prentice Hall Ibérica y no a la filial LatAm (i.e.
México), de donde procede el libro de K-R en español.

Un saludo!
--
Deschamps en canarias.org
Martin J. Sanchez
2004-02-04 16:37:42 UTC
Permalink
Post by Deschamps
Hola,
[..] Desde luego las traducciones que describes son pesimas.
[..] Otra editorial que suele tener pesimas traducciones es
mcgraw-hill. Y una que suele ser buena es Prentice-hall [..]
Una duda, solamente... Este libro lo publica Pearson Educación, que
es la matriz de Prentice Hall, que al fin y al cabo es quien lo edita
y traduce. Así, a bote pronto, parece un poco contradictorio tu
mensaje :-)
Imagino que las buenas traducciones a las que te refieres
corresponden a Prentice Hall Ibérica y no a la filial LatAm (i.e.
México), de donde procede el libro de K-R en español.
Pues no lo es la verdad. Yo he encontrado de todo.

Como detalle, comentar un manual de referencia de DOS que venia con
uno se mis primeros PC. La traduccion era tan bestia que traducian
todo lo que podian:
ASUMIR CS=CODIGO, DS=CODIGO
SEGMENTO CODIGO
mov ax, 10h
y ax, 03h
...
ENDS
ete.

No se si estas familiarizado con electronica, pero en otra traduccion
de un libro de microprocesadores, el autor (que decoró el texto con un
monton de notas de traduccion), llamaba a los programas "logicales", a
los latches "aldabillas", y al lenguaje assembly "lenguaje de
asamblea", por ejemplo. Aunque estuvieses familiarizado con los
conceptos y tecnologia, se hacia totalmente incomprensible. No te
puedo decir ni editorial ni traductor, por que ese libro fue a la
basura de inmediato.

En cuanto a prentice-hall, los pocos libros en castellano que poseo
suelen ser de esa editorial, pero lo cierto es que desconozco si su
calidad de traduccion es siempre parecida. Yo cada vez que compro un
libro traducido, miro muy mucho si el tipo domina el tema y busco
frases o expresiones complejas.

En otras areas como medicina. Se suele pagar burradas a profesionales
expertos para que traduzcan los libros tecnicos. En informatica esto
no suele ser asi, y hay una picaresca salvaje. Por ejemplo, los libros
de Mcgraw hill-osborne, se traducen habitualmente en mexico. pero
luego ponen revisado por xxxx (no recuerdo el nombre del geta)
catedratico de la universidad complutense o algo asi. Si esto fuese
cierto, no entiendo que ese individuo sea catedratico por que las
traducciones inyectan un monton de errores de concepto, y si no es
cierto, deberia estar en la carcel por timo.

Un saludo,
Martin.
Martin J. Sanchez
2004-02-04 16:39:19 UTC
Permalink
On Wed, 04 Feb 2004 17:37:42 +0100, Martin J. Sanchez
Post by Martin J. Sanchez
Pues no lo es la verdad. Yo he encontrado de todo.
Oops, queria decir:
Pues no lo se, la verdad. Yo he encontrado de todo.

Un saludo,
Martin.

Roberto Quiroga
2004-02-03 11:32:09 UTC
Permalink
Post by Martin J. Sanchez
Otra editorial que suele tener pesimas traducciones es mcgraw-hill. Y
una que suele ser buena es Prentice-hall.
Mi copia de la segunda edición de El Lenguaje de Programación C está
traducida por la misma persona Nestor Gomez Muñoz pero editada por
Prentice-Hall, la compré en 1991. Impresa en México ISBN 968-880-205-0
Post by Martin J. Sanchez
Yo prefiero comprar los libros en ingles.
Yo también, pero eso no crea mercado para traducciones de buena
calidad y se me hace muy difícil expresarme con personas que no
dominan mi interés, hablo en computerense.

Cuando uno esta en desacuerdo con el uso de un término es buena
práctica mandar una nota al editor, fundamentando la discrepancia y
dando explicaciones y referencias, es probable que no sepan nada del
tema pero muchos aman su oficio y suelen prestar atención. Esto es
particularmente cierto con los diarios y revistas.

Incidentalmente, las herramientas que usan para editar y procesar
textos son interesantes, lo libros de O'REILLY suelen traer una nota
al final indicando como se procesó el texto original.

---

Roberto Quiroga
Loading...