31 de maio de 2021

Minhas ferramentas do dia a dia - Compiladores, Interpretadores, IDEs e Editores

Continundo pelas ferramentas que uso no meu dia a dia, agora seguem meus compiladores, interpretadores, IDEs e editores

Compiladores e Interpretadores

Tenho trabalhado com diversas linguagens de programação e destas linguagens também em diversas versões diferentes, por isso ferramentas que me ajudam a gerênciar as linguagens e suas versões são essênciais:
  • build-essentials: isso aqui não é um software em si, mas um conjunto de diversas ferramentas que ajudam no build de software diversos, principalmente coisas desenvolvidas em C e C++. É algo que não vem por padrão em uma instalação GNU/Linux, mas a partir do momento que você precisa compilar uma aplicação isso será exigido.
  • asdf-vm: O asdf-vm surge como uma ferramenta universal para o gerenciamento de versões de intepretadores, compiladores e outras ferramentas. Sua utilização é bem simples, hoje utilizo ela principalmente para Python, NodeJS e Go. Aqui um artigo em português sobre a instalação dele.
  • rustup: A ferramenta criada para gerênciar versões da suíte da linguagem Rust é uma mão na roda, além de facilitar a instalação e gerênciar versões, também permite controlar os alvos de compilação (seus toolchains, exemplo: Linux, Windows, ARM, etc). 
  • OpenJDK: A implementação de referência do Java tem sido a minha preferida nos ambientes de desenvolvimento e execução faz um tempo. Lembro de antigamente ela ter uma performance inferior, porém cada vez mais a comunidade se uniu em torno dela para aprimora-la.

IDEs e Editores

  • Visual Studio Code: o editor de texto criado pela Microsoft tem se destacado muito nos últimos anos, principalmente pela facilidade que oferece para a utilização de plugins que o tornam uma ferramenta muito poderosa. Tenho utilizado ele principalmente para o desenvolvimento Python, Rust, NodeJS e Go, com os seguintes plugins:
    • Python: extensão para programar e debugar em Python.
    • rust-analyzer: extensão que faz o linter, autocomplete e análise estática do código Rust.
    • CodeLLDB: extensão que permite debugar códigos gerados pela LLVM, utilizo para debugara projetos Rust, mas funciona para outras ferramentas que utilizam LLVM.
    • crates: extensão para exibir quais dependências estão atualizadas e desatualizadas.
    • Go: extensão para análise e debugger de código Go.
  • PyCharm Community e a suíte da JetBrains: A IDE da Jetbrains dedicada ao Python oferece muitos recursos interessante, desde o linter até o debugger integrado. Por ser um pouco mais pesado eu só utilizado nos projetos grandes com muitos arquivos, pois ele facilita muito a busca e análise no projeto. Uso principalmente o PyCharm, mas também gosto de usar as outras ferramentas disponíveis da JetBrains para projetos maiores, como a IntelliJ e Webstorm.
  • Micro Editor: Esse cara eu descobri recentemente e tem sido muito útil, como o próprio nome indica ele é um editor de terminal maior que o Nano mas bem mais simples que o Vim pois permite utilizar atalhos do dia a dia como Ctrl+S para salvar, Ctrl+C/Ctrl+V para copiar e colar. Utilizo muito para a edição de scripts mais simples em Bash e Python.
Micro Editor: um editor simples que roda direto no terminal e faz até análise estática quando junto com o Flake8 (no caso de Python)
  • Visual Studio: tenho utilizado o irmão mais velho do VSCode para o desenvolvimento de aplicações com .Net Core e C#, ela é uma IDE completa em todos os sentidos, porém tem o custo de ser a mais pesada aqui da lista. Além de C#, ela também ajuda no desenvolvimento de muitas outras linguagens e ferramentas. 
  • Vale uma grande menção honrosa ao Vim, o editor onipresente nas distribuições Linux, que através de plugins pode ser praticamente convertido numa IDE. No meu dia a dia o uso é básico porém tenho colegas que o usam como editor principal.


Nenhum comentário:

Postar um comentário