sábado, 3 de marzo de 2012

Tablas periódicas y compiladores

Vamos a por la segunda entrada, que viene a ser la primera "de verdad". Mi idea es ir poniendo curiosidades, noticias, enlaces interesantes, miniartículos o lo que sea relacionado con ciencia, matemáticas, tecnología y programación. Para otras cosas ya tenemos otros medios.

No se vosotros, pero yo suelo tener mi navegador (Chrome) con unas treinta pestañas abiertas a la vez. Muchas de ellas con cosas que encontré hace tiempo y quiero recordar o contarle a alguien. Al final esas páginas se van quedando sin que vuelva a acordarme de ellas hasta que algún desastre hace que el navegador pierda la capacidad de hacer restore de las páginas.

Así que lo primero que voy a hacer es un recorrido por alguna de esas páginas y ponerlas aquí. Así cumplo el doble objetivo de tenerlas guardadas en algún sitio y darles la debida difusión.

Tablas periódicas alternativas.

Creo recordar que fue por la época en la que estudiaba química (el año anterior a empezar física) cuando me dio por pensar en cómo mejorar la tabla periódica de los elementos (por aquel entonces tenía la idea de que casi todo en la ciencia estaba equivocado o merecía un repaso). Con los rudimentos que tenía sobre la teoría de orbitales moleculares y la disposición de capas electrónicas, probé varias formas de organizar mejor la tabla. El hecho de que mi conocimiento sobre la tabla de verdad fuese solo superficial no me detuvo en mi intento.

No recuerdo bien a qué resultados llegué, aunque sé que me centré en intentar que los lantánidos y actínidos ocupasen un lugar normal en la tabla, en lugar de andar colgando como si de las islas Canarias se tratase. Si no recuerdo mal, mi idea era bastante similar a la left step periodic table, que al parecer llevaba unos 60 años inventada cuando yo pretendía remover los cimientos de la química.

Claro que por aquel entonces no teníamos Internet, algo que casi agradezco porque me habría ahorrado muchas horas de diversión friki. El otro día, me volví a acordar del tema y en unos segundos descubrí que tenía hasta entrada en Wikipedia. Para todos aquellos con alma de químico rebelde ahí va:

http://en.wikipedia.org/wiki/Alternative_periodic_tables





Un compilador para compilarlos a todos

Otra de las cosas en las que pienso de vez en cuando es en hacerme mi propio lenguaje (hay cosas que nunca cambian). Sé que no es probable que llegue a hacer uno algún día, pero eso no me impide divertirme pensando en ello. De hecho, ahora que lo pienso sí que me he hecho, al menos, un intérprete de RedCode del que tal vez hable algún día para los que no me conocieran en mi época megafriki.

Bueno, a lo que voy. Una vez que uno conoce las herramientas para construir compiladores (Yacc, Lex y variantes) y tiene una ligera idea de cómo organizar tipos y otros detalles, el mayor problema es como generar el código. Ensamblador es una idea, pero que requeriría unos cuantos años de estudio (si uno quiere generar un código medio decente).

Otra posibilidad es hacer un intérprete entre nuestro lenguaje y otro ya existente (pongamos C). El problema es que queda feo y que C no está pensado para que luego el debugger reconozca las particularidades de nuestro lenguaje.

Finalmente tenemos C--, que no es más que una especie de solución intermedia. Un C pensado precisamente para eso, como target para compiladores.

http://www.cminusminus.org/qc--.html


Aún me quedan unas cuantas páginas abiertas en Chrome que comentar, pero voy a dejarlo para otro día.

No hay comentarios:

Publicar un comentario