Mostrando entradas con la etiqueta Ebooks. Mostrar todas las entradas
Mostrando entradas con la etiqueta Ebooks. Mostrar todas las entradas

lunes, noviembre 28, 2011

Algunos libros sobre Java y JVM

Durante estas últimas semanas he tenido la ocasión de terminar varios de los libros que tenía pendientes así como de realizar alguna nueva adquisición que, de momento, está encolada en mi lista de lectura.

Me gustaría aprovechar esta entrada para compartir con vosotros algunos de los libros anteriores que, bajo mi punto de vista, podrían resultar interesantes para tod@s aquell@s que os dediquéis, de algún modo, a trabajar con la plataforma Java (lenguaje y/o máquina virtual).

El primero de ellos es Java Performance from The Java Series. Escrito por Charlie Hunt, JVM performance lead engineer en Oracle, y  Binu John, senior performance engineer en Ning. Ha sido mi última adquisición y únicamente he podido leer los dos primeros capítulos pero creo que estamos ante uno de las lecturas obligatorias para tod@s aquell@s que se dedican y/o les gusta el mundo del rendimiento de aplicaciones sobre la JVM.

JVM Tuning, profiling, mediciones, herramientas, escritura de benchmarks, internals de la JVM, algoritmos de recolección de basura y tuneo de los mismos, gestión de la memoria,  . . .  son sólo algunas de las temáticas tratadas en este magnífico manuscrito.


Otro magnífica referencia  relativa al mundo Java: The well-grounded Java developer. Se trata de un early access por lo que sólo he podido leer los capítulos disponibles hasta el momento. Pensado para desarrolladores con unos sólidos conocimientos de Java el libro abarca un amplio espectro de temáticas como pueden ser:
  • Algunas de las novedades de Java 7
  • Nuevo mecanismo de IO y concurrencia
  • Classfiles y bytecode
  • Inyección de dependencias
  • Lenguajes alternativos en la JVM: Clojure, Groovy y Scala
  • Integración continua
  • . . .
En lineas generales creo que se trata de una lectura recomendada (a la espera de que se publique la segunda mitad del libro). Los capítulos pueden ser leidos de manera independiente, saltándose aquellos en los que ya se conoce de manera profunda la temática tratada en el mismo.

Un libro que había leido hace tiempo y que he vuelto a leer hace  unas semanas ha sido Java Concurrency in Practice. Poco puedo decir de este libro que no se haya dicho ya. Otra de las lecturas obligatorias para todos aquellos desarrolladores que trabajen con el lenguaje Java.

Ofrece una visión práctica de cómo se deben escribir programas escalables y seguros aprovechando la capacidad de las nuevas arquitecturas hardware.









Functional Programming for Java Developers. Escrito por Dean Wampler. Es un libro en el que se introducen los conceptos básicos de la programación funcional (que está "renaciendo" gracias a lenguajes como Scala o Clojure, además de sus beneficios a la hora de escribir programas concurrentes entre otras muchas cosas).

Es un libro muy cortito aunque personalmente no me ha entusiasmado demasiado. Si no tenéis ninguna experiencia en programación funcional puede ser un buen punto de partida. No se cubren mónadas, laziness ni combinators.

sábado, mayo 21, 2011

Libros: últimas y futuras lecturas (II)

Esta es la primera entrada que escribo desde mi reciente adquisición: un IMac 27''. Lo siento, tenía que decirlo :). A ver si me acostumbro a este, para mi, nuevo sistema operativo y le comienzo a sacar partido.

En la entrada anterior hablaba sobre algunas de las últimas y/o futuras lecturas realizadas durante esta última temporada. Puesto que no quería convertir dicha entrada en un ladrillo, se me quedaron algunos libros en el tintero que analizaremos a continuación.


Este libro llego a mis manos gracias a un profesor visitante de la UPM que estuvo impartiendo un seminario sobre wait free computing. Siento no recordar ahora su nombre (vaya cabeza que tengo).

Los profesores Maurice Herlihy, uno de los precursores de la memoria transaccional,  y Nir Shavit nos ofrecen una visión novedosa de los nuevos paradigmas de programación para arquitecturas multinúcleo.

Los primeros capítulos son más teóricos, dejando la parte más divertida para la segunda mitad del libro. No he tenido ocasión de leérmelo de principio a fin pero si que me he leído capítulos independientes y he de reconocer que me han parecido mucho mejor de lo que esperaba. Espero sacar un poco de tiempo libre para poder leerlo al completo porque todo apunta que se puede convertir en uno de mis libros favoritos.

Desde que programo en Scala he aprendido muchas cosas nuevas, ya no sólo del lenguaje, sino de la programación funcional en general.

Siempre he querido dar mis primeros pasos en Haskell pero nunca he tenido tiempo y, sinceramente, me parecía un poco complicado. Tras el inicio de mi andadura en Scala creo que lo veo con otros ojos así que, en la medida de lo posible, voy a intentar dar mis primeros pasos en este lenguaje. 

Todas las referencias que tengo de este libro son muy buenas pero ni siquiera lo tengo así que, cuando me decida a dar el paso, creo que será mi próxima adquisición.

Mi fascinación por la máquina virtual java crece por momentos (creo que ya quedó patente en la entrada anterior).

Clojure es un lenguaje dinámico (dialecto de Lisp) que se ejecuta sobre la JVM (compila directamente a bytecode). Destaca, y esto es lo que más me gusta, por su eficiente infraestructura para la programación multihilo.

Básicamente es un lenguaje puramente funcional que destaca por su amplio abanico de estructuras de datos inmutables y persistentes. En aquellos casos en los que el cambio es algo necesario, Clojure incluye en el propio lenguaje un sistema de memoria transaccional.


De nuevo se me quedan en el tintero muchos otros libros pero, de nuevo, no quiero que la entrada sea demasiado larga. En futuras entradas apostaré por comentar de uno en uno los libros ya leídos, intentando profundizar un poquito más de manera que si alguien estaba dudando si leérselo o no, puede tener una opinión más al respecto.

Hasta pronto! 

sábado, mayo 14, 2011

Libros: últimas y futuras lecturas (I)

Durante estos últimos meses mi tiempo libre se ha convertido en un bien escaso (prácticamente nulo) por lo que muchas de las cosas que me gusta hacer las he tenido que ir aplazando hasta encontrar un mejor momento. Una de ellas es actualizar el blog con una frecuencia un poco mayor a la habitual, y aprovechando que estoy en Esslingen (Alemania), que todo el mundo está durmiendo y que llevo rondando por ahí desde las seis y veinte de la maniana he decidido pasarme un rato por aquí :).

En esta ocasión me gustaría compartir con vosotros algunos de los últimos libros que me he leído, estoy leyendo, o tengo intención de leer.

Me he leído la primera edición y ahora estoy terminando la segunda. Creo que se trata de una referencia excelente tanto para aquellas personas que desean comenzar su andadura en Scala así como para desarrolladores más experimentados con conocimientos del lenguaje.

Si nunca habéis programado en Scala os recomiendo que le echéis un vistazo, os aseguro que no os defraudará. En este blog podréis encontrar una pequenia guía de introducción (en espaniol) así como numerosas entradas relacionadas con diferentes aspectos del lenguaje (espero que en un futuro este tipo de entradas puedan ir incrementando, tanto en calidad como en cantidad)

Una de mis últimas adquisiciones. Está en Beta pero ya me lo he leído. Necesitará una lectura completa de nuevo, aunque en esta ocasión tendrá que ser delante de una pantalla de manera que pueda "ensuciarme" :) las manos.

En este libro se tratan algunas de las técnicas/plataformas más novedosas de programación concurrente sobre la máquina virtual java. Nuevos mecanismos de concurrencia en las últimas versiones de Java, análisis de las bondades de Clojure para la programación concurrente, memoria transaccional, modelos de actores, Akka (hablaremos de Akka en futuras entradas), Scala, GPars.

Una lectura recomendable para aquellos que quieran sacarle partido a los procesadores multinúcleo o que quieran actualizar sus conocimientos sobre programación concurrente.

Qué son DSL? Para que se utilizan? Cómo escribo un DSL? En este libro , Debasish Ghosh desgrana hasta el último detalle de un temática tan popular en la actualidad como los lenguajes de dominio específicos. Una visión pragmática sobre la creación y utilización de lenguajes de dominio específicos ante la que ninguno se quedará indiferente. 

A lo largo del libro se desarrollan numerosos ejemplos (complejos en muchas ocasiones) de diversa índole. Scala, Groovy, Clojure, Ruby y Java son los lenguajes utilizados en el desarrollo de los ejemplos por lo que, este libro, además de la temática principal, puede servir como una primera toma de contacto con alguno de los lenguajes de la máquina virtual Java que están adquiriendo una notable popularidad en estos días.

En este caso de trata de una recomendación de Matín Pérez a la que hacía tiempo que tenía ganas de meterle mano. No tengo una opinión forjada porque sólo llevo leídos dos capítulos pero la verdad que hasta el momento me está gustando mucho, tanto por la temática como por la manera que está escrito.

Recientemente he tenido la suerte de hacer algunas "cosillas" con la JVM pero por lo que he podido ver hasta el momento, este libro adquiere un nivel de detalle notable.

Prometo un post independiente cuando lo termine por completo pero me quedo con la idea de que este libro puede ayudar a escribir mejor código.

No quiero convertir esta entrada en un ladrillo (si no lo he hecho ya :) ) así que vamos a detenernos aquí. Continuaremos en la siguiente entrada con alguno que se ma quedado en el tintero.

Hasta pronto!!

PD: Espero que no haya demasiadas faltas de ortogafía; me está costando escribir desde este teclado alemán.

jueves, noviembre 04, 2010

Retomando la lectura

Estas últimas semanas he retomado, por fin, un hábito que desgraciadamente tenía demasiado oxidado: la lectura :). Aprovechando los trayectos en transporte público al trabajo y a la facultad he logrado leer algunos libros con los que me he divertido mucho:
Hace poco le regalé el Kindle a la gordita así que puede que se lo robe en alguna que otra ocasión :) ¿Alguna sugerencia de algún libro interesante?

Adicionalmente tengo una pila de "otro tipo de libros/articulos" :) que sigue creciendo por momentos y no tengo ni idea de cuando podré ir dando salida a alguno de ellos. Me gustaría sacar algo de tiempo libre pero la verdad que últimamente no lo estoy haciendo demasiado bien. Puede que realmente tenga mi agenda demasiado ocupada o que no me estoy organizando todo lo bien que debería. No lo tengo claro.

Hasta pronto!

Migue

miércoles, diciembre 23, 2009

Año viejo. Año nuevo

Posiblemente este sea el último post del año puesto que mañana me quedo de vacaciones y en casa de mis padres no dispondré de conexión a Internet. Si alguien me necesita que recurra al viejo truco del teléfono móvil.


Antes de continuar con el post me gustaría deciros que ya he recibido mi regalo de Papa Noel que me ha hecho la gordita:  Language Implementation Patterns: Create Your Own Domain-Specific and General Programming Languages


No se ha liberado todavía (posiblemente en Enero) pero de esta manera iré recibiendo todas las actualizaciones del libro a medida que se vayan realizando. Tengo que terminar un par de lecturas que tengo a medias aunque no se si podré esperar para comenzar a leerlo :).


En primer lugar quería desearos desde aquí una Feliz Navidad y año nuevo, que disfruteis mucho de estos días de vacaciones (aquellos que podais disfrutar de ellos) en compañía de vuestra gente.


No suelo hacer los típicos propósitos de año nuevo, aunque si voy a dejar por escrito las cosas que me gustaría hacer el próximo año. Si logro cumplirlas, bienvenido sea, aunque si no las realizo tampoco pasará nada :).



  1. Pasar mucho más tiempo con la gordita (esta es la más importante)
  2. Viajar a Japón
  3. Regresar a Alemania (para ésto ya tenemos billetes :) )
  4. Intentar quedar lo máximo posible con los amigos que ahora no están tan cerca (esto también es muy importante)
  5. Comenzar las clases del Máster (esto no depende de mi directamente, sino de la Politécnica de Madrid)
  6. Continuar con la construcción de R-Eclipse: soporte para intérpretes remotos y construcción de un depurador.
  7. Comenzar el desarrollo de Visual-R, una herramienta gráfica para el desarrollo de aplicaciones R. La idea es que se complemente con R-Eclipse de manera sencilla. Estará basada en EclipseRCP, GMF,EMF, GEF,Spring,Maven, etc. Lo voy a liberar así que si alguien se anima y quiere participar no tiene más que decírmelo.
  8. Terminar de darle caña a Erlang que cada día que pasa me gusta más. (también debería continuar con Scala que hace tiempo que lo tengo parado)
  9. Leer todos los libros que tengo pendientes. No los enumero porque se me haría un post eterno :)
  10. Ver todos los videos que me he bajado de InfoQ, para ello el Itouch será un inestimable compañero de viaje.
Repaso la lista y me parece que son demasiadas cosas (más algunas que no he puesto). Esperemos que dentro de un año me pueda sentar frente al ordenador y pueda revisar cuáles he llevado a cabo y cuáles se han quedado en el tintero.

Ya me despido que es demasiado tarde y mañana, bueno hoy :), tengo que madrugar. Desearos de nuevo unas felices fiestas y todo lo mejor para el próximo año.

Un abrazo!

Migue

jueves, octubre 01, 2009

Great ebook

An amazing reading about software developement.


Ebook link

Interviewers with 15 of the most interesting programmers:
  • Frances Allen: Pioneer in optimizing compilers, first woman to win the Turing Award (2006) and first female IBM fellow
  • Joe Armstrong: Inventor of Erlang
  • Joshua Bloch: Author of the Java collections framework, now at Google
  • Bernie Cosell: One of the main software guys behind the original ARPANET IMPs and a master debugger
  • Douglas Crockford: JSON founder, JavaScript architect at Yahoo!
  • L. Peter Deutsch: Author of Ghostscript, implementer of Smalltalk-80 at Xerox PARC and Lisp 1.5 on PDP-1
  • Brendan Eich: Inventor of JavaScript, CTO of the Mozilla Corporation
  • Brad Fitzpatrick: Writer of LiveJournal, OpenID, memcached, and Perlbal
  • Dan Ingalls: Smalltalk implementor and designer
  • Simon Peyton Jones: Coinventor of Haskell and lead designer of Glasgow Haskell Compiler
  • Donald Knuth: Author of The Art of Computer Programming and creator of TeX
  • Peter Norvig: Director of Research at Google and author of the standard text on AI
  • Guy Steele: Coinventor of Scheme and part of the Common Lisp Gang of Five, currently working on Fortress
  • Ken Thompson: Inventor of UNIX
  • Jamie Zawinski: Author of XEmacs and early Netscape/Mozilla hacker


I think it's a recommended reading!

viernes, agosto 07, 2009

Frameworks

Some weeks ago an interesting book arrives to my personal library :)


Althought last weeks my enjoy time is not enought to read the whole book i have been reading the starting chapters. Anyone has read it completely?

Bye!