Dime qué lees y te diré quien eres — Parte 1: Historia de la Computación

Mauricio Palma Lizana
MejorIndustriaTI
Published in
6 min readJul 26, 2018
Una pequeña muestra de nuestra biblioteca en Orand, los libros de frente son los que comentamos en este post.

La computación avanza tan vertiginosamente que todos tenemos claro que no terminaremos nunca de estudiar y de aprender, ya sea recurriendo a libros, la Internet, videos de YouTube, cursos en línea y papers científicos.

Personalmente me gusta mucho leer, y también coleccionar libros. Encuentro entretenido recorrer librerías locales y, sobre todo, vitrinear en Amazon, leer los reviews y hojear contenidos. Así que en este post me daré un pequeño gusto hablando de nuestros libros.

En Orand hemos conformado una buena biblioteca, que procuramos alimentar continuamente con nuevas adquisiciones. Al escribir este post, revisé nuestra colección de títulos y tuve la oportunidad de recordar los desafíos, tipos de proyecto y tecnologías a las cuales nos hemos enfrentado en estos trece años (¡uf!) de vida. Pero para empezar, me gustaría contarles sobre algunos libros de historia y teoría de la computación que escapan un poco a lo que “está de moda”. ¿Por qué? Primero porque me gustan mucho y son entretenidos de leer. También porque conocer la historia y los fundamentos de la computación nos prepara mejor para entender lo que se nos viene, ya sea AI, quantum computing o una nueva tecnología que ni siquiera hemos soñado.

Libros de Historia de la Computación

The Universal Computer — The Road from Leibniz to Turing

Por Martin Davis

Martin Davis es un prestigioso matemático y computer scientist. En este libro nos cuenta el camino que siguió la humanidad para llegar a la creación del computador como lo conocemos hoy (“the universal machine” de Turing). Nos explica el trabajo de Leibniz, Boole, Frege, Cantor, Hilbert, Gödel, Turing, Von Neumann, Eckert. En cada caso presenta también el respectivo contexto tanto histórico como personal. El capítulo de Turing es excelente: te cuenta su historia personal (que me motivó a comprarme la biografía, la cual comento más adelante) y describe de manera simple y sólida cómo funciona una "a-machine" (no podía ser de otra forma, considerando que el autor escribió también el clásico "Computability and Unsolvability").

A Logical Approach to Discrete Math

Por David Gries y Fred B. Schneider

Este es un libro de lógica aplicada a matemáticas discretas (propositional and predicate calculus, set theory, induction, functions and relations, etc.) que busca enseñar métodos para la demostración rigurosa de teoremas, con énfasis en la rigurosidad sintáctica, y muy influenciado por el trabajo de Edsger W. Dijkstra. Lo incluyo en esta lista porque contiene 30 notas históricas o biográficas de matemáticos y computer scientists, que de hecho fue lo que me motivó a comprar después “The Universal Computer”. Estas notas están llenas de datos poco conocidos, por ejemplo el hábito de C. A. R. Hoare (el mismo de la lógica de Hoare) de escribir y re-escribir muchas veces sus artículos y papers antes de publicarlos. Para Hoare, el comunicar ideas era tan importante como tener ideas. O la respuesta de David Hilbert cuando, después de que los científicos judíos fueran obligados a salir de la Universidad de Göttingen, un ministro nazi le pregunta como van las matemáticas. "¿Matemáticas en Göttingen?, en realidad ya no hay más".

Mentiría si dijera que es un libro “práctico” desde el punto de vista de un desarrollador de software, aunque los autores se las arreglan para mostrar la interseccción de lógica y computación, por ejemplo en base de datos relacionales o teoría de grafos.

Beautiful Architecture

Editado por Diomidis Spinellis y Georgios Gousios

Este libro es del 2009 y describe arquitecturas de software, que en buena parte se han ganado el apodo de históricas tanto por su elegancia como porque a estas alturas muchas han sido superadas o han evolucionado. Sin embargo, los principios de diseño que se revisan siguen vigentes. Incluye capítulos dedicados al S.O. Guardian (de las máquinas Tandem), Xen, JPC, Jikes, E-macs, KDE y Facebook (¡!).

A Mathematician’s Apology

Por G. H. Hardy

Prefacio por C. P. Snow

Este libro no tiene nada que ver con computación pero es tan bueno que lo comentaré de todas formas. Son en realidad dos libros en uno. El prefacio de C. P. Snow es una excelente caracterización y biografía incompleta de G. H. Hardy, un famoso e importante matemático inglés, que además de su propio trabajo brilló en su colaboración con Littlewood y con Ramanujan, el genio indio que Hardy descubrió. La segunda parte es el ensayo mismo escrito por Hardy, donde él justifica las matemáticas (específicamente las matemáticas “puras” o no aplicadas) y los matemáticos. En realidad se justifica a sí mismo. Es un ensayo teñido de mucha melancolía, con un autor que es testigo de su propia decadencia y que se resigna a no haber alcanzado las alturas de los grandes matemáticos de la historia, cuando se compara con Newton, Euler, Gauss o Riemann. Más que un libro técnico, literatura pura.

Alan Turing — The Enigma

Por Andrew Hodges

Turing es sin dudas un personaje de novela, y probablemente ésta sea su biografía más detallada. El libro relata su infancia, vida romántica, su carrera académica, su trabajo en el “problema de decisión” (Entscheidungsproblem en alemán, ¿cómo se pronunciará eso?) planteado por David Hilbert en 1928, y que para responderlo ideó su “máquina de Turing”. También detalla su participación en la guerra descifrando Enigma, su condena por conductas homosexuales y su suicidio posterior. Es un libro largo y escrito en profundidad, pero uno puede leer las partes que más le interesan y saltarse las otras.

¿Cómo seguimos?

Espero que este artículo les guste, que puedan compartir sus propias opiniones y, a la vez, recomendar otros títulos. Si recibimos suficientes visitas y buen feedback podemos continuar con la saga (si no, con seguridad mis colegas de MITI me aconsejarán amablemente escribir de otra cosa).

Si hay interés, tenemos libros de muchos temas que podemos considerar en futuros posts, por ejemplo:

  • Sistemas transaccionales (lo que nos dio de comer los primeros años de nuestra existencia, desarrollando sistemas de misión crítica para la banca).
  • Un montón de tecnologías específicas y herramientas útiles (lenguajes de programación, frameworks, information retrieval, AOP, DSLs, bitcoin, DevOps, cloud computing, y muchos otros).
  • Métodos de desarrollo de software (sobre todo metodologías ágiles).
  • Criptografía y seguridad de datos (muy asociado a nuestro trabajo en SafeSigner).
  • Inteligencia artificial, machine learning y computer vision (nuestra principal área de investigación científica y el core de nuestro trabajo en Impresee).
  • Emprendimiento (porque inicialmente éramos una empresa de desarrollo a medida y tuvimos que aprender a convertirnos en un “venture builder”).
  • Matemáticas, en particular lógica, probabilidades y estadísticas. Además, heredamos varios títulos de geometría computacional (porque mi memoria de título versa sobre eso), y también libros de computación gráfica (porque dicté el curso).

¿Futuras compras? ¡Pues sí! Necesitamos aprender todo lo que podamos de Marketing, en general y aplicado a SaaS. ¿Qué literatura nos sugieren?

--

--

Mauricio Palma Lizana
MejorIndustriaTI

Computer Engineer, working at @OrandResearch, growing medium.com/Impresee, @SafeSignerSpa and @Safehis. Member of medium.com/mejorindustriati and ASCE.cl.