PDF de programación - Thinking in Java, 2nd Edition

Imágen de pdf Thinking in Java, 2nd Edition

Thinking in Java, 2nd Editiongráfica de visualizaciones

Publicado el 14 de Enero del 2017
2.206 visualizaciones desde el 14 de Enero del 2017
5,4 MB
897 paginas
Creado hace 20a (15/08/2003)
Thinking in Java,
2nd Edition, Release 11

To be published by Prentice-Hall mid-June, 2000

Bruce Eckel, President,

MindView, Inc.



Planet PDF brings you the Portable Document
Format (PDF) version of Thinking in Java (2nd
Edition). Planet PDF is the premier PDF-related
site on the web. There is news, software, white
papers, interviews, product reviews, Web links,
code samples, a forum, and regular articles by
many of the most prominent and respected PDF
experts in the world. Visit our sites for more detail:


http://www.planetpdf.com/
http://www.codecuts.com/
http://www.pdfforum.com/
http://www.pdfstore.com/



Thinking

in

Java

Second Edition

Bruce Eckel

President, MindView, Inc.







Traducido del inglés por Esteban Cabezudo ([email protected] -
[email protected]) y Lorena Baldizoni de Thinking in Java, Second
Edition, Bruce Eckel, Prentice Hall.
2003. Versión 1.00

Nota del traductor

Inicialmente comencé a leer este libro motivado por mi utópico afán de
aprender todo acerca de las computadoras, la programación orientada a
objetos y en especial Java. La primera vez que obtuve Thinking in Java en la
Internet me dio mucha alegría saber que existía un libro de esta calidad al
alcance de todos. Comencé sacando algunas notas en español y ya tarde, en
el tercer capítulo me di cuenta que tratando de no saltarme las palabras que
no conocía estaba traduciendo la totalidad del texto. Tengo que destacar
que ni siquiera me acerco a ser un traductor profesional, no estudié
formalmente inglés y la mayor parte de este, es producto de la lectura de
libros y documentación. Por esta razón se puede notar una sintaxis a veces
extraña que trataré de corregir a medida que lo note o me lo hagan notar.
También se puede ver un cambio en la traducción a partir del tercer
capítulo, tal vez para peor ya que comencé el trabajo ahí y lo terminé en el
segundo, espero haber mejorado a medida que avanzaba.
Tengo que agradecer a Bruce Eckel, primero por escribir este libro y
segundo por dejarme publicar la traducción en mi sitio sin siquiera
conocerme. Esta actitud maravillosa me dio mucha alegría y me hizo sentir
muy útil. También quiero agradecer a mi compañera por soportarme estos
siete meses sentado durante horas en la madrugada a la luz del monitor y
por ayudarme incondicionalmente. Ella es la que realmente estudió inglés y
si este trabajo tiene una garantía de calidad, es gracias a su aporte. Lorena
aprendí mucho con tu ayuda y seguramente tu aprendiste mucho de Java.
Pido perdón por la tortura. A mi hermano Facundo por pedirme la
traducción cada vez que me veía, me hacía recordar que hay gente que no
lee inglés y que también está interesado en Java. A Gabriel Claramunt por
ayudarme con algunos conceptos, por darme algunas ideas de líneas a
seguir y por prestarme el notebook para escribir esto.
Quiero que este trabajo pueda ser aprovechado por las personas que no
puedan leer inglés y me gustaría que las personas que si lo hacen y tienen
comentarios o correcciones me lo hagan saber. Soy consciente de que hay
algunas traducciones que tal vez no sean las mas acertadas. Espero que este
trabajo les sea útil.


Esteban Cabezudo

Prefacio

Le he sugerido a mi hermano Todd, que esta haciendo el
salto desde el hardware a la programación, que la siguiente
gran revolución será en ingeniería genética.
Tendremos microbios diseñados para hacer comida, combustible, y plástico;
ellos limpiarán la polución y en general nos permitirán dominar la
manipulación del mundo por una fracción de lo que cuesta ahora. Afirmo
que harán que la revolución de las computadoras se vea pequeña en
comparación.
Entonces afirmo que estaba cometiendo un error común de los escritores de
ciencia ficción: perdiéndome en la tecnología (lo cual es fácil de hacer en la
ciencia ficción). Un escritor experimentado sabe que la historia nunca es
acerca de las cosas; es acerca de las personas. La genética tendrá un gran
impacto en nuestras vidas, pero no estoy seguro de que dejara pequeña la
revolución de las computadoras (que habilita la revolución genética) -o al
menos la revolución de la información. Información es acerca de hablar con
cada uno de los otros: es cierto, los autos, zapatos y la cura genética
especialmente son importantes, pero en el final estos son solo atavíos. Lo
que realmente importa es como reaccionamos a el mundo. Y mucho de esto
es acerca de comunicaciones.
Este libro es un ejemplo que hace al caso. La mayor parte de las personas
que piensan que es muy atrevido o un poco loco colocar la totalidad de las
cosas en la Web. Se preguntan: “Por que alguien querría comprarlo?”. Si
tuviera una naturaleza mas conservadora nunca lo habría terminado, pero
en realidad nunca quise escribir otro libro de computadoras en la manera
antigua. No sabía que sucedería, pero lo he convertido en algo mas
inteligente que cualquier cosa que haya hecho con un libro.
Por algo, las personas comenzaron a enviar sus correcciones. Esto ha sido
un proceso asombroso, porque las personas han observado en cada esquina
y grieta para ver errores técnicos y gramaticales, y han sido capaces de
eliminar errores de todos los tipos que se que de otra forma los hubiera
pasado por alto. Las personas han sido simplemente estupendas con esto,
muy a menudo diciendo “Ahora, no trato de decir que es en una forma
crítica...” y dan un grupo de errores que estoy seguro nunca hubiera
encontrado. Siento como que esto ha sido un tipo de proceso en grupo y
realmente han hecho este libro algo especial.



1

Pero luego que he comenzado a escuchar “OK, bien, es bueno que hayas
puesto una versión electrónica, pero quiero una versión impresa y saltar a
una copia publicada realmente por una editorial”. He tratado mucho de
hacerlo fácil para que cualquiera pueda imprimirlo en un formato que se vea
bien pero eso no ha disminuido la demanda del libro publicado en una
editorial. Muchas personas no quieren leer un libro entero en la pantalla, y
tiran con fuerza hacia el fajo de papeles, no importa si están impresos de
forma bonita, no les interesa eso (Además, pienso que no es tan económico
en términos de tinta para impresoras). Parece que la revolución de las
computadoras no han colocados las editoriales fuera de sus negocios
después de todo. Sin embargo, un estudiante sugirió que puede ser un
modelo para futuras publicaciones: los libros pueden ser publicados en la
Web primero, y solo si hay suficientes garantías de interés el libro se
colocaría en papel. Actualmente la mayoría de los libros tienen problemas
financieros, y tal vez esta nueva aproximación pueda hacer la industria de
las editoriales mas provechosa.
Este libro comienza una experiencia iluminadora para mi en otra forma.
Originalmente he utilizado la estrategia de que Java es “solo otro lenguaje
de programación”, lo que en muchos sentidos es cierto. Pero a medida que el
tiempo ha pasado y lo he estudiado mas en profundidad, comienzo a ver que
las intenciones fundamentales de este lenguaje es diferente de todos los
otros lenguajes que he visto.
Programar es acerca de manejar complejidad: la complejidad del problema
que se intenta resolver, trazado sobre la complejidad de la máquina en la
cual esta resuelto. Dado esta complejidad, muchos de los proyectos de
programación fallan. Y con todo, de todos los lenguajes de programación de
los cuales soy conciente, ninguno de ellos se ha escapado totalmente y
decidido que su objetivo de diseño principal será conquistar la complejidad
del desarrollo y el mantenimiento de programas1. Claro, muchas decisiones
de diseño de lenguajes fueron echas con la complejidad en mente, pero en
algún punto otros temas siempre se consideran esenciales agregarlos dentro
de la mezcla. Inevitablemente, estos otros temas son los que causan a los
programadores eventualmente “intentarlo” con ese lenguaje. Por ejemplo,
C++ cuenta con compatibilidad con sus versiones anteriores de C (para
permitirles a los programadores C una fácil migración), al igual que la
eficiencia. Estos son objetivos muy útiles y cuentan mucho para el éxito de
C++, pero también exponen complejidad extra que impiden que algunos
proyectos sean terminados (ciertamente, se puede culpar a los
programadores y a la dirección, pero si un lenguaje puede ayudarlo a
encontrar sus errores, por que no debería hacerlo?). Otro ejemplo, Visual
Basic (VB) fue prendido a BASIC, que no fue diseñado para ser un lenguaje



1 He retomado esto en la 2da edición: Creo que el lenguaje Python de acerca mas ha hacer
exactamente eso. Vea www.Python.org

2


Pensando en Java

www.BruceEckel.com

extensible, así es que todas las extensiones apiladas sobre VB han producido
sintaxis verdaderamente horribles e imposibles de mantener. Perl es
compatible con Awk, Sed, Grep y otras herramientas UNIX que intenta
reemplazar, y como resultado es a menudo acusado de producir “código de
solo escritura” (esto es, luego de un par de meses no se puede leer). Por el
otro lado, C++, VB, Perl y otros lenguajes como Smalltalk tienen algo en sus
esfuerzos de diseño enfocado en el tema de la complejidad y como resultado
son notablemente útiles para solucionar ciertos tipos de problemas.
Lo que mas me ha impresionado mas que comenzar a entender Java es que
parece un objetivo resuelto a reducir la complejidad para el programador.
Como si dijera “no nos importa nada excepto reducir el tiempo y la
dificultad de producir un código robusto”. En los primeros días, este
objetivo ha resultado en un código que no ejecuta muy rápido (a pesar de
que tienen muchas promesas hechas acerca de como correrá de rápido Java
algún día) pero ciertamente ha producido reducciones asombrosas en el
tiempo de desarrollo; mas o menos e
  • Links de descarga
http://lwp-l.com/pdf917

Comentarios de: Thinking in Java, 2nd Edition (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad