viernes, enero 06, 2006

El interprete.

Despues de varios meses de inconformidad con los modelos de tecnologia actual especialmente en el area de programacion y sistemas operativos, decidi implementar mi propia solucion que cumpla todas mis expectativas y deseos, aunque no es nada facil la tarea comence por desarrollar un jit (just in time compiler), el objetivo era hacerlo en lenguaje C sin necesidad de librerias adicionales, aunque encontre uno que podria estar cerca de las necesidades GNU Lightning, me descepciono la forma en que esta programado, macros de C.

Al comenzar con la tarea de desarrollar un jit igual vi que era muy complicado, el principal problema es que no tenia muy claro el lenguaje de donde tendria que comenzar el translado a codigo fuente, pense en un primer momento que assembler era el indicado... pero aun asi necesita mucho trabajo para las conversiones.

Finalmente cambie la estrategia e intente desarrollar un interprete el cual pudiera despues ir pasando poco a poco a codigo nativo, esta idea era mucho mas acertada y se logro algunos resultados, pero el mas interesante es la similitud del lenguaje a la arquitectura de un procesador, con registros, memoria, puertos, instrucciones, en todo caso me parecio un ejercicio muy muy interesante.

Despues de analizar parte del codigo y ver el funcionamiento me dije que esto deberia ser uno de los primeros cursos de informatica teorica que se deben dictar en los colegios, parecera traido de los cabellos pero saber el funcionamiento de las cosas y avanzar en el conocimiento de una forma constructivista es muy interesante, se la dificultad de enseñar en un colegio, y la gran necesidad de pedagogia para abordar un tema como arquitectura del computador en alumnos de no mas de 12 años, pero en algunos de mis inspirados momentos de enseñanza con estos alumnos fui capaz de enseñar codigo binario y hacer ejercicios de compresion de archivos con altoritmo de RTL, sin que ellos lograran siquiera percibir la magnitud de su actividad.

Es posible que diseñar un pensum con ese nivel de profundizacion para una educacion en informatica dentro de los colegios puede ser muy complicado, pero comenzar con algunos cursos o semilleros de este tipo puede ser un ejercicio y experimento muy importante.

No hay comentarios.: