Minhas impressões de brilho

Minhas impressões de brilho


Quando eu estava prestes a sair de licença de paternidade, a linguagem de programação Gleam atingiu 1.0. É uma linguagem tão pequena que eu pude aprender ao longo de dois dias. Tentei usá -lo para converter uma ação do GitHub do JavaScript para brilhar, mas encontrei problemas devido ao brilho que desejava ser o topo da pilha de idiomas em vez da parte inferior. Como tal, acabei aprendendo e usando o Rescript. Mas eu ainda gostava de Gleam e queria tentar escrever algo nele, então, durante as férias de inverno, fiz outro projeto com ele do zero.

Em primeiro lugar, sua declaração sobre a comunidade em sua página inicial falou comigo:

Como comunidade, também queremos ser amigáveis. Pessoas de todo o mundo, de todas as origens, gêneros e níveis de experiência são bem -vindos e respeitados igualmente. Veja nosso código de conduta da comunidade para mais.

Vidas negras importam. Os direitos trans são direitos humanos. NO BULLSH DOZIO DOZI*T.

Em segundo lugar, o idioma é muito pequeno e bem projetado, o que eu sempre aprecio (o slogan “It Fits Your Brain”, do Python, sempre foi uma das minhas linhas de etiquetas favoritas para o idioma).

Terceiro, é uma linguagem digitada, funcional e imutável que é impura. Acho que um bom equilíbrio de praticidade ao tentar escrever um código o mais confiável possível, sabendo que, se você passar ao compilador, provavelmente está indo muito bem (o que é bom para projetos em que você não trabalhará com frequência, mas tem tempo para dar um esforço extra para lidar com a digitação e tal).

Quarto, ele compila para Erlang ou JavaScript. Ambos têm seus usos (únicos) que eu aprecio (e no meu caso o último é importante).

Quinto, tem brilho. Enquanto eu gostava de Elm e amava o chá (a arquitetura de Elm), achei a falta de FFI de Elm restritiva. O brilho com brilho corrige esses problemas.

E, finalmente, meu amigo Dusty é fã.

Decidi que queria criar um site para ajudar alguém a escolher uma fonte de codificação. Quando eu estava procurando um tempo atrás, criei capturas de tela de amostras de código que eram anônimas para que eu pudesse escolher uma sem influência indevida (acabei com Monolisa). Achei que seria um projeto divertido criar um site que fez o que eu gostaria de ter ao escolher uma fonte: um suporte de torneio para fontes em que você entrou em texto de exemplo e depois que as fontes o enfrentam até que você tenha um vencedor. Isso parecia um ótimo ajuste para o brilho e o brilho, pois seria todo o lado do cliente e teria alguma interação.

😅

Acontece que CodingFont saiu pouco antes de eu iniciar meu projeto, sem o conhecimento de mim. Eles adotam a mesma abordagem de um suporte de torneio, mas em um site muito mais bonito, com o bônus de ser algo que não preciso manter. Como tal, não vou lançar um site para o meu projeto, mas o código está disponível caso você queira executar seu próprio torneio com sua própria escolha de fontes.

No geral, o idioma foi um prazer trabalhar. Embora a digitação funcional ocasionalmente se sentisse tediosa, eu sabia que havia benefícios se quisesse que as coisas funcionassem a longo prazo com o mínimo possível de preocupações que eu tivesse um bug no meu código. O idioma era bom e pequeno, e então eu não tive problemas para mantê -lo na minha cabeça enquanto codificava (a maior parte da minha leitura de documentação era para a biblioteca padrão). E foi poderoso o suficiente com o brilho para eu precisar de exatamente menos de 200 linhas de brilho para fazer tudo funcionar (além de menos de 90 linhas de HTML e CSS estático).

Eu sou um fã de Python e, portanto, todos os aparelhos encaracolados não eram minha coisa favorita. Sei que é por razões de familiaridade e isso não me fará com que eu não use o idioma no futuro, mas eu não teria me importo de menos sintaxe para denotar estrutura.

A outra coisa é ter que especificar o nome de um tipo duas vezes para o nome ser utilizável, pois o tipo e o construtor para um único registro.

pub type Thingy {
    Thingy(...)
}

Mais uma vez, é muito menor, mas algo que eu tive que aprender e digitar o nome duas vezes sempre parecia desnecessário e um erro de digitação esperando para o compilador pegar. Tendo alguma abreviação como pub record Thingy(...) Representar a mesma coisa seria bom.

Eu adoraria ter um back-end de WebAssembly/Wasi e Python para Gleam acompanhar o Erlang e o Javascript One. Tenho notas sobre como escrever um back-end Python e Dusty fez um protótipo. Infelizmente, não acho que o compilador Gleam-que escrito em Rust seja explicitamente projetado para adicionar mais back-ends, por isso não tenho certeza se alguma delas acontecerá.

Estou feliz com Gleam! Estou interessado em experimentá -lo com Erlang e o feixe de alguma forma, embora meu próximo projeto para esse reino esteja com o Elixir porque o Phoenix LiveView é um ajuste perfeito para esse projeto (suspeito que haja algo em Gleam para competir com o Phoenix LiveView, mas quero aprender o Elixir). Mas eu definitivamente não me arrependo de aprender brilho e ainda estou motivado o suficiente para trabalhar na faixa Gleam do Exercism.



Source link

Postagens Similares

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *