domingo, 29 de enero de 2012

Bootstrapping languages

 Ya me estoy sintiendo incomodo por que vengo citando bootstrapping hace varios posts o en un comentario y en general no es un termino conocido. Así que voy a agregarlo al blog como reseña para que se terminen de entender las huevadas que diga. Así que voy a tirar dos versiones, una explicativa onda charla de bar nerd  y otra para tu vieja. Les debo la formal, no encontré ninguna digna de mención, y toda la paja hacerla yo.

Acá entre nos

En terminos generales en lo que es computación asociamos bootstrap o boot o bootstrapping con el inicio del sistema operativo. Hablamos tranquilamente de 'esta booteando' a veces sin saber bien por que.

La metasfora esta relacionada con las botas, por eso boot. Parece que las botas largas (yo nunca use botas, así que no se si se seguira usando) tenían 'bootstraps' un cacho de tela o simil que servia para hacer mas fuerza y poder calzar la bota. O sea, un punto en el que hacer fuerza para poder empezar a usar las botas! Un punto de arranque :).

Tiempo despues la idea se extendio a procesos autocontenidos, despues de todo el bootstrap de la bota tiene algo muy particular: es parte de la bota.

   Bla bla. Al final, en la jerga de compiladores se tomó como la idea de punto de arranque hablando de empezar un lenguaje a partir de otro lenguaje.

   En principio el siginificado era crear un lenguaje de alto nivel a partir de otro de alto nivel. El unico lenguaje considerado de bajo nivel real es el lenguaje de maquina (PLC, assembler, etc).

   Luego paso a incluir que el compilador este escrito en el mismo lenguaje self-hosting compiler, lo cual es una generalización. Yo en general lo cito cuando hablo de un lenguaje nuevo con poca personalidad o trayectoria y basado en otro lenguaje de alto nivel, o bien cuando uso un lenguaje demasiado técnico (cosa que trato de no hacer).



Para tu vieja

A tu vieja decile que se trata de hacer mejores pinzas usando pinzas.

No hay comentarios:

Publicar un comentario