Hare é uma nova linguagem de programação que tenta substituir o C

Linguagem de programação Hare surge com a proposta de ser mais simples, mas tão versátil quanto o C. Será que consegue?

Emerson Alecrim

Seja você um desenvolvedor iniciante ou experiente, a ideia de experimentar uma linguagem de programação nova pode te agradar. É o caso da Hare. A novidade foi anunciada oficialmente nesta semana e chega com uma proposta audaciosa: ser uma alternativa à linguagem C, que está no mercado há 50 anos.

Digitando em notebook (imagem ilustrativa: Christin Hume/Unsplash)
Digitando em notebook (imagem ilustrativa: Christin Hume/Unsplash)

Não é exagero falar em audácia. A linguagem C surgiu em 1972 pelas mãos, principalmente, de Dennis Ritchie, que também é conhecido por suas grandes contribuições ao Unix. Em seus primeiros anos, a linguagem não fez muito sucesso. Mas tudo mudou a partir de 1978, quando Ritchie e Brian Kernighan publicaram o livro The C Programming Language.

De lá para cá, o C serviu de base para incontáveis projetos, com destaque para uma reimplementação do próprio Unix. Isso foi possível porque a linguagem é flexível (pode ser direcionada a vários tipos de software), tem sintaxe estruturada e não exige muitos recursos de hardware. E essas são apenas algumas de suas vantagens.

O Hare surge com a proposta de incorporar, se não todas, a maioria das qualidades do C, mas indo além em alguns aspectos. No anúncio oficial, Drew DeVault, líder do projeto, o descreve da seguinte forma:

Hare é uma linguagem de programação de sistemas desenhada para ser simples, estável e robusta. O Hare usa um sistema de tipo estático, gerenciamento manual de memória e tempo de execução mínimo. É apropriado para desenvolver sistemas operacionais, ferramentas de sistema, compiladores, software de rede e outras tarefas de baixo nível e alto desempenho.

No mesmo texto, DeVault afirma que quase todos os programas desenvolvidos em C podem ser escritos em Hare. Por que alguém faria essa mudança? Nas palavras do desenvolvedor, porque programar em “Hare é mais simples do que em C”.

Ao falar de simplicidade, DeVault não se refere, necessariamente, à sintaxe (em tempo, o conjunto de regras de composição das instruções de uma linguagem), mas da incorporação de alguns facilitadores, por assim dizer.

Eis um exemplo: ao The Register, o desenvolvedor contou que se inspirou na linguagem Go, do Google, para incluir baterias (conjuntos de recursos) na biblioteca padrão do Hare. Desse modo, pode-se diminuir ou até eliminar a importação de dependências.

Código na linguagem Hare (imagem: reprodução)
Código na linguagem Hare (imagem: reprodução)

Será que o Hare vinga?

Projetos com a proposta de substituir a linguagem C de uma forma ou outra não são novidade. Um exemplo notável é a linguagem Rust, que surgiu em 2010 pelas mãos da Mozilla. Desde que foi lançado, o Rust vem sendo adotado em numerosos projetos, mas isso não quer dizer que outras linguagens estejam perdendo espaço em razão disso.

Eu tive a oportunidade de escrever alguns poucos códigos em C na faculdade (passei mais tempo estudando C++). Eram coisas que iam um pouco além do “Hello, World”.

Apesar disso, na época, pude perceber que o C demoraria para ser coisa do passado. Isso porque a linguagem carrega uma grande bagagem. Nela, estão ampla documentação e suporte a múltiplas arquiteturas, por exemplo.

Bagagem é algo que o Hare ainda não tem. Então, é difícil fazer alguma previsão sobre o seu futuro. Mas pelo menos o projeto parece ser sério. De acordo com Drew DeVault, ele e cerca de 30 colaboradores estão trabalhando na linguagem há quase dois anos e meio.

Um pequeno trecho de código em Hare:

export fn main() void = {
const hash = sha256::sha256();
const file = os::open("main.ha")!;
defer io::close(file)!;
io::copy(&hash, file)!;
let sum: [sha256::SIZE]u8 = [0...];
hash::sum(&hash, sum);
hex::encode(os::stdout, sum)!;
fmt::println()!;
};

Alguns detalhes que você precisa saber

Se você gostou da ideia ou simplesmente quer conferir se o Hare é tudo isso mesmo, antes, tenha alguns detalhes em mente. O primeiro é que a linguagem só está disponível para Linux e FreeBSD. Não há planos para compatibilidade com Windows ou macOS (mas nada impede que terceiros façam uma implementação para esses sistemas).

A segunda é que esta é a primeira versão do Hare, portanto, alguns recursos podem não funcionar como o esperado. Não por acaso, os desenvolvedores do projeto estão procurando voluntários para lidar como aspectos como criptografia e bibliotecas estendidas.

Mais detalhes estão disponíveis no site oficial do Hare.

Relacionados

Escrito por

Emerson Alecrim

Emerson Alecrim

Repórter

Emerson Alecrim cobre tecnologia desde 2001 e entrou para o Tecnoblog em 2013, se especializando na cobertura de temas como hardware, sistemas operacionais e negócios. Formado em ciência da computação, seguiu carreira em comunicação, sempre mantendo a tecnologia como base. Em 2022, foi reconhecido no Prêmio ESET de Segurança em Informação. Em 2023, foi reconhecido no Prêmio Especialistas, em eletroeletrônicos. Participa do Tecnocast, já passou pelo TechTudo e mantém o site Infowester.