Auto-hospedagem

O termo auto-hospedagem foi cunhado para se referir ao uso de um programa de computador como parte de uma cadeia de ferramentas ou sistema operativo para produzir uma nova versão do mesmo programa, por exemplo, um compilador que pode compilar o seu próprio código fonte.[1] Auto-hospedagem em Software é banal em computadores pessoais e em sistemas maiores. Outros programas que são tipicamente auto-hospedados incluem núcleos, montadores, shells e softwares controladores de revisões.

Se um sistema é tão novo que nenhum software foi escrito para ele, então o software é desenvolvido em outro sistema auto-hospedado e colocado em um dispositivo de armazenamento que o novo sistema pode ler. O desenvolvimento continua desta forma até que o novo sistema possa hospedar o seu próprio desenvolvimento. O desenvolvimento do sistema operativo GNU/Linux, por exemplo, foi hospedado inicialmente em um sistema MINIX. Escrever novas ferramentas de desenvolvimento de software "do metal descoberto" (bare-metal), isto é, sem utilizar nenhum outro sistema hospedeiro é raro.

HistóriaEditar

O primeiro compilador auto-hospedado (excluindo assemblers) foi escrito para Hart e Levin no MIT em 1962. Eles escreveram um compilador Lisp no Lisp, testando-o dentro de um intérprete existente do Lisp. Depois que eles aprimoraram o compilador, a ponto de compilar seu próprio código-fonte, ele foi auto-hospedado.[2]

O compilador que existe na fita do compilador padrão é um programa de linguagem de máquina que foi obtido com a definição S-expression] do compilador trabalhando por conta própria através do intérprete. (AI Memo 39).[2]

Referências

  1. «Self Hosting |» (em inglês). Consultado em 7 de maio de 2017. Cópia arquivada em 15 de maio de 2017  Parâmetro desconhecido |url-status= ignorado (ajuda)
  2. a b Tim Hart and Mike Levin. «AI Memo 39-The new compiler» (PDF). Consultado em 23 de maio de 2008 

Ver tambémEditar