Archivo

Posts Tagged ‘informática’

La pasta, y la informática

Es curioso como eventos de nuestra infancia marcan a fuego nuestra personalidad futura. No siempre es así, por supuesto, pero sí hay algunos que con el tiempo parecen más relevantes que otros. En mi apunte Defiende lo que te ha dado tanto, expliqué ese mes de diciembre de 1989 que marcó mi obsesión por Internet (siempre había una excusa para poner Internet en todo lo que hacía, mi tesis doctoral, el ISP del que fui co-fundador en 1995 -todo con GNU/Linux-, los proyectos en los que participé…). Pero eso fue después de los 20 años, sin embargo hay otros de mi infancia que me marcaron aún más.

Leer más…

Categorías:personal Etiquetas: , ,

Algunos libros para informáticos

Hace unas semanas un lector de mi blog me pidió que le recomendara unos pocos libros, aquellos que yo consideraba que eran “imprescindible” o que más me influyeron. Aunque el tema es complicado, esta mañana me puse a pensar cuáles recomendaría hoy mismo –quizás en unos pocos meses la lista sería muy distinta–.

He seleccionado doce libros, agrupados en diez temas, que considero son los que creo que más me afectaron a mi actividad profesional actual, o quizás debería decir a “cómo pienso hoy sobre mi profesión”. Podría haber puestos unos cuantos más (de Carl Sagan, o de Schneier por ejemplo), pero no podía hacer la lista tan larga ni salirme demasiado del tema: “libros importantes para informáticos”.

  1. The C Programming Language (o la madre de los libros de lenguajes de programación) de Brian W. Kernighan y Dennis Ritchie. Considero que todo aquel que pretenda llamarse programador o informático debería dominar el lenguaje C. No sólo es un lenguaje sencillo, padre de muchos otros lenguajes (¿o de dónde vienen todas esas “llaves”?) y base de muchos sistemas operativos, sino que tiene un balance muy adecuado entre “abstracción” y proximidad con la arquitectura. Pero en realidad creo que lo más importante es que este libro quizás sea el mejor libro/manual jamás escrito sobre un lenguaje de programación. Debería estar en la mochila de un programador, al menos hasta que te lo sepas de memoria, en ese momento lo podrás dejar en tu biblioteca y volver a leerlo de vez en cuando.
  2. The Mythical Man Month and Other Essays on Software Engineering de Frederick P. Brooks. ¿Crees que la nueva supe-mega-chachi metodología de software o lenguaje de programación solucionará todos los problemas? ¿te aburren mucho cuando te dan clases de ingeniería del software? Este libro se ha convertido en un clásico de la ingeniería del software, unos de los pocos que aguantan el paso del tiempo y que a pesar de la edad de la mayoría de los artículos (25 años) cada día demuestra su actualidad. Para mí este libro es a la ingeniería del software como el anterior a los lenguajes: las buenas ideas pueden explicarse de forma breve y mejoran con el paso del tiempo, como los buenos bourbons.
  3. Hackers and Painters de Paul Graham. ¿Crees que la informática es aburrida? ¿que sólo se trata de programar sistemas de facturación? ¿que necesitamos colegios y regulaciones?. El libro aporta una visión distinta de los programadores, quizás a muchos les parezca demasiado romántica, utópica o exagerada. A mí me sirvió de inspiración, o quizás para reafirmar y luchar por mis ideas “románticas” de lo que debería ser nuestra profesión. Estoy convencido que los “genios” de nuestro campo comparten el mismo romanticismo y “utopías”. No todos somos genios –por definición estadística–, pero ayudará a comprender mejor a esas personas que solemos admirar, y de paso te dará una inyección necesaria de idealismo y pasión por la informática. Efecto colateral: aprenderás a apreciar mejor a los “clásicos”.
  4. Cryptonomicon de Neal Stephenson. Una novela muy ciberpunk, divertida e imprescindible si te interesa un poco de esa “cultura” –debería :-) –. En su versión original en inglés tiene casi 1000 páginas –pero la devoré en un fin de semana–. Lo tradujo al castellano PJorge y salió en tres tomos. Creo que hace poco tiempo lanzaron una nueva edición de un sólo tomo. Es difícil explicar este libro, sólo puedo decir que me abrió los ojos para entender la criptografía desde otro punto de vista y aumentar aún más mi admiración por Alan Turing y los matemáticos que han fundado la informática moderna (y de paso han ayudado a ganar la guerra contra los nazis).
  5. Programming the Universe: A Quantum Computer Scientist Takes on the Cosmos de Seth Lloyd. Comenté algo de este libro hace poco. Si crees que está todo hecho en informática, o no entiendes muy bien qué es eso de la “informática cuántica”, o te parece que la teoría de la información de Shannon es algo muy oscuro que no te interesa, éste es tu libro.
  6. Free Culture de Lawrence Lessig. Dudaba entre éste y The Code is the Law. A los informáticos nos enseñan muy poco de historia, leyes y su relación con la informática. Ni siquiera sabemos interpretar una licencia de software. A pesar de ellos nos encanta poner “copyright” a nuestros programas y hablar de la “importancia” y los “beneficios” de la “propiedad intelectual”. Estos dos libros te explicarán un poco de esos temas, desde una visión que no es la que lees en El País (ni en la web del Ministerio de Cultura), ni las que suelen explicar los profesores de informática, historia o derecho. Tus viejas ideas sobre la “propiedad intelectual” no volverán a ser las mismas.
  7. The Laws of the Web: Patterns in the Ecology of Information de Bernardo A. Huberman. Linked: How Everything Is Connected to Everything Else and What It Means for Business, Science, and Everyday Life de Albert-László Barabási. ¿Cansado de oir tanto de “redes sociales”, web 2.0, que Facebook es la nueva revolución o de las “largas colas”? ¿Crees que las “redes sociales” la inventó O’Reilly mientras miraba un partido de beisbol? Pues no. Estos dos libros te darán una explicación introductoria y fácil de leer, pero a la vez rigurosa y científica sobre esos temas, su utilidad en diversas áreas y cómo se están usando para aplicaciones “sociales” menos frívolas que el Poke o SuperWall. Además darán bastantes pistas de porqué algunos afirman que la informática está “migrando” de intentar obtener resultados “precisos” con pocos datos a obtener resultados “aproximados” a partir del tratamiento de “datos masivos”.
  8. UNIX Systems for Modern Architectures: Symmetric Multiprocessing and Caching for Kernel Programmers de Curt Schimmel. Es un libro muy técnico, muy hardcore, pero no es sólo útil para programadores de núcleos de sistemas operativos o para Unix. Sirve para cualquier programador que desee conocer mejor los problemas de concurrencia y multiprogramación en cualquier sistema informático, cómo se interactúa con el hardware para aumenter la eficiencia y evitar los errores de concurrencia o los nuevos métodos más eficientes de control de concurencia. Si no entiendes nada de lo que cuenta este libro deberías replantearte seriamente si te consideras un “informático”. O mejor aún, estudia hasta que logres comprender al menos superficialmente lo que cuente el autor, tu calidad como “informático” habrá ganado muchos puntos.
  9. The Structure of Scientific Revolutions de Thomas S. Kuhn. Alguien que sepa de filosofía podría discutir sobre muchas de las hipótesis de Kuhn. Otros dirán que Popper aporta una visión más moderna y cercana a la realidad de la comunidad científica. Podría ser, pero lo importante de este macroensayo es que nos introduce de una forma apasionada a la historia y filosofía de la ciencia, un campo en el que no solemos distinguirnos los informáticos. Como no podía ser de otra manera, existen fuertes paralelismos entre la cortísima historía de la “ciencia informática” y la un poco más larga “ciencia moderna”. Este libro te pondrá en perspectiva y te dará otra visión más escéptica de lo que dicen los gurús de moda.
  10. Software libre para una sociedad libre de Richard Stallman. También en catalán: Programari lliure, societat lliure (Benjamí y yo hemos supervisado la traducción a pedido de Stallman). Podrás no estar de acuerdo con todas sus ideas, pero la lógica implacable de este “visionario” no te dejará indiferente, pondrá en crisis muchas de las ideas y preconceptos que tenías. Como bien dice Lessig en el prólogo: Cada generación tiene su filósofo: un escritor o un artista que plasma la imaginación de una época. A veces estos filósofos son reconocidos como tales, pero a menudo pasan generaciones antes de que se caiga en la cuenta. Sin embargo, con reconocimiento o sin él, cada época queda marcada por la gente que expresa sus ideales, sea en el susurro de un poema o en el fragor de un movimiento político… Nuestra generación tiene un filósofo. No es un artista, tampoco un escritor profesional. Es un programador.
Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 474 seguidores