Linguagem Hospedada
Uma linguagem hospedada (hosted language) é uma linguagem de programação que é projetada para ser executada sobre uma plataforma ou tempo de execução (runtime) já existente, em vez de compilar diretamente para código de máquina nativo do sistema operacional.
A filosofia por trás dessa abordagem é evitar a “reinvenção da roda”. Ao se hospedar em uma plataforma madura, a linguagem delega responsabilidades complexas de baixo nível para o “anfitrião” (host), permitindo que os criadores da linguagem foquem no design da sintaxe e na semântica.
Benefícios principais:
- Acesso ao Ecossistema: A linguagem hospedada pode utilizar bibliotecas e ferramentas já existentes na plataforma anfitriã.
- Abstração de Infraestrutura: O anfitrião gerencia aspectos críticos como o Garbage Collection (gerenciamento de memória), gerenciamento de threads e otimizações de compilação (Compilação Just-In-Time).
- Interoperabilidade: Permite que o código escrito na linguagem hospedada chame funções da linguagem nativa da plataforma e vice-versa.
No caso do Clojure, a plataforma anfitriã principal é a Java Virtual Machine, embora existam versões hospedadas em ambientes JavaScript (ClojureScript) e .NET (ClojureCLR).