2 pontos por GN⁺ 2024-02-12 | 1 comentários | Compartilhar no WhatsApp
  • AhoA Git implementado em AWK

    • O AWK pode fazer mais do que simples scripts de uma linha.
    • Este projeto é um projeto-brinquedo para explorar o funcionamento interno do Git e novos recursos do GNU AWK.
    • Foi pensado para não ser útil além de fins de entretenimento e educação.
  • Primeiros passos

    • É necessário gawk versão 5.0 ou superior, e pigz é usado para compressão zlib.
    • Usa o restante das funcionalidades fornecidas pelo GNU coreutils.
    • Pode rodar na maioria dos sistemas Linux, mas não em BSD ou Mac.
    • São fornecidos exemplos de uso para comandos como inicialização, adição de arquivos e inspeção da estrutura de arquivos.
  • Contribuindo

    • Toda contribuição que ajude a ampliar o conhecimento sobre AWK ou Git é bem-vinda.
  • Lista de tarefas

    • Está planejada a implementação de recursos como init, add/rm, status, commit, reset, branch, switch, config (somente leitura), ls-files, cat-file e outros.
    • Não há planos de adicionar recursos de rede, portanto não haverá clone nem push.

Opiniões do GN⁺

  • Este projeto oferece a pessoas com curiosidade técnica uma oportunidade divertida de explorar como Git e AWK funcionam.
  • É um projeto experimental interessante para engenheiros de software iniciantes que querem explorar novas possibilidades em linguagens de programação.
  • Pode ser um material educacional útil para quem deseja aprofundar o entendimento sobre AWK e Git.

1 comentários

 
GN⁺ 2024-02-12
Comentários do Hacker News
  • O charme do Awk:

    • Awk é uma linguagem de programação poderosa, comumente encontrada em sistemas da família Unix.
    • É usado principalmente como um comando de uma linha para extrair trechos de texto da saída padrão (stdout) enviada por pipe.
    • Awk pode ser usado como uma linguagem de script de propósito geral e, em muitos aspectos, é melhor que bash.
    • Quando Perl surgiu, tentou combinar os bons recursos de shell, awk e sed, mas, no fim, por causa da percepção negativa sobre Perl, as pessoas migraram para outras linguagens.
  • The AWK Programming Language, Second Edition:

    • A segunda edição de The AWK Programming Language foi lançada em setembro de 2023.
    • A primeira edição foi publicada em 1988 e está disponível online.
    • Há um link para a discussão relacionada.
  • Sugestão de melhoria para código Awk:

    • Foi proposto um patch para adicionar a instrução let ao GNU Awk, a fim de distinguir os parâmetros de função das variáveis locais, mas o projeto rejeitou a ideia.
    • Em vez disso, recomendaram criar uma versão fork com outro nome para o GNU Awk.
  • A utilidade do Awk:

    • Quando se diz que a linha de comando do Linux é o melhor ambiente de desenvolvimento, o Awk costuma ser citado como um dos motivos.
    • Saber apenas o básico de Awk já permite fazer muita coisa, e uma IDE pode até parecer ineficiente.
    • Para quem quer aprender Awk, houve uma palestra no Linux Fest Northwest, cuja gravação foi publicada no YouTube.
  • Experiência de projeto com Awk:

    • Houve a experiência de criar uma wiki web usando Awk em um roteador com memória extremamente limitada.
    • Como não era possível depender de bibliotecas, foi preciso implementar o básico manualmente, aprendendo assim como uma wiki funciona e do que o Awk é capaz.
  • A extensibilidade do Awk:

    • Não há planos de adicionar recursos de rede ao Awk, mas é possível fazer git clone ou push a partir de um repositório em outro diretório.
  • O potencial dos utilitários GNU:

    • Surge a ideia de que, apenas com utilitários e programas GNU, talvez seja possível criar bancos de dados e ferramentas de processamento que superem ferramentas especializadas em desempenho e funcionalidades.
  • O uso de cppawk:

    • Com cppawk, é possível usar #include, e ele funciona de forma relativa ao arquivo sem precisar de AWKPATH.
    • Ao aplicá-lo a projetos desenvolvidos antes da existência do cppawk, é possível “compilar” o programa pré-processado em um único arquivo.
  • Exemplos diversos de uso do Awk:

    • Projetos como sed-chess e awk-raycaster mostram as várias possibilidades de uso do Awk.
  • Fato curioso relacionado ao Awk:

    • "Aho" é uma palavra que significa idiota em japonês.