IntelliJ Rust Learning Courses News Project-Based Learning

Aprenda Rust com os IDEs da JetBrains

Read this post in other languages:

Não existe um caminho fácil para aprender uma linguagem de programação; cada um faz isso de um jeito. Alguns leem muito (livros, blogs, tutoriais, documentação, discussões no Reddit, respostas do StackOverflow, etc.), alguns fazem perguntas e olham exemplos; alguns escrevem seu próprio código e trabalham em projetos pessoais; outros resolvem problemas, outros exploram ecossistemas — o que funcionar melhor para cada um. Alguns até fazem tudo isso. As pessoas geralmente começam aprendendo os recursos da linguagem e as maneiras de combiná-los em programas. Em algum momento, elas aprendem abordagens diferentes à resolução de problemas. Mais cedo ou mais tarde, elas passam a usar bibliotecas externas em vez de componentes de bibliotecas-padrão e buscam explorar formas de testar, depurar, escrever logs, fazer profiling dos seus aplicativos, etc.

O Rust não é uma exceção. Nenhum recurso de aprendizado isoladamente é suficiente para ajudar você a dominar a linguagem. Mesmo assim, aqui na JetBrains temos uma sugestão — nosso curso gratuito Learn Rust, que cobre muitas das necessidades de quem está aprendendo, que acabamos de mencionar.

O curso usa textos de The Rust Programming Language, um livro de Steve Klabnik e Carol Nichols, com contribuições da comunidade do Rust. Embora o curso inclua a maioria dos exercícios do conhecido conjunto rustlings, nós elaboramos cerca de um quarto dos exercícios especificamente para este curso. Em vez de apenas reunir materiais já existentes, combinamos cuidadosamente os textos e exercícios, e os colocamos em formato de IDE, para criarmos uma nova maneira de aprender Rust.

Por que o Rust?

O Rust foi listado por sete anos seguidos como a linguagem de programação mais amada na pesquisa de desenvolvedores do StackOverflow, além de ser a mais desejada (empatada com Python).

Recentemente, o Rust entrou para a lista das linguagens com suporte para escrever os componentes do kernel do Linux (e é o segundo lugar nessa lista, logo depois do C!). Libcurl, uma das bibliotecas mais usadas para buscar dados através de redes, está mudando gradualmente para o Rust. O Google relata que a parcela de código em Rust na sua implementação do Android está aumentando a cada nova versão e isso ajuda a diminuir o risco de vulnerabilidades e aumentar a segurança. A Microsoft depende fortemente do Rust para implementar a segurança da memória em seus produtos, enquanto a Amazon usa o Rust para garantir a sustentabilidade da sua infraestrutura.

Desenvolvedores em outras linguagens de programação, como JavaScript ou Python, costumam recorrer ao Rust quando precisam atingir um desempenho melhor em ferramentas e bibliotecas.

Por último, mas não menos importante, o Rust tem uma comunidade muito receptiva, sempre disposta a ajudar e encorajar os iniciantes.

Dito tudo isso, os aprendizes em potencial devem ter consciência de que o Rust tem uma curva difícil de aprendizado e requer uma abordagem sistemática ao aprendizado. Oferecer essa abordagem é exatamente o nosso objetivo com o nosso curso “Learn Rust”.

Aprendendo Rust em um IDE

Nosso curso “Learn Rust” é baseado na plataforma de aprendizado fornecida pelo plug-in da JetBrains Academy. Esse plug-in está disponível em vários IDEs da JetBrains, incluindo o CLion, o GoLand e o IntelliJ IDEA Community Edition, dentre outros, e permite que você aprenda gratuitamente não apenas Rust, mas também várias outras linguagens de programação.

Cursos baseados em IDEs envolvem ler materiais didático, explorar exemplos de código e resolver problemas, tudo isso estruturado em lições e seções do curso. Cada lição inclui uma sequência de etapas curtas, sejam etapas teóricas, com um exemplo para ilustrá-las, ou etapas de problemas, que têm um problema a resolver. As etapas de problemas são uma maneira simples de verificar as suas soluções.

Ao trabalhar com qualquer curso baseado em IDE, você terá uma janela de IDE plenamente funcional, com 3 painéis: uma visualização do curso, um editor de código e uma descrição, como na captura de tela abaixo:

A vantagem adicional de fazer um curso em um IDE é que você ganha experiência em desenvolvimento de software ao mesmo tempo que aprende a linguagem. Enquanto faz os exercícios de aprendizado, você também escreve, verifica, corrige, executa, depura e testa código, da mesma forma que um programador real faria como parte da sua rotina diária de desenvolvimento de software. No final do curso, você não só terá conhecimentos sólidos da linguagem de programação, como também terá se familiarizado com uma ferramenta profissional de desenvolvimento e estará a caminho de se tornar um desenvolvedor de software.

Confira a página do IntelliJ IDEA for Education para saber mais sobre os benefícios de aprender programação em um IDE.

Detalhes do curso

O curso “Learn Rust”, assim como o livro no qual ele se baseou, presume que você tenha conhecimentos funcionais de alguma linguagem de programação. Em vez de oferecer uma introdução à programação, o curso ensina você a programar especificamente em Rust. Assim, ele pula a maioria dos tópicos básicos comuns em cursos de programação.

O curso segue a estrutura do livro The Rust Programming Language e contém as seguintes seções:

  • Introdução
  • Conceitos comuns de programação
  • Compreendendo o conceito de posse
  • Structs, métodos, enums e correspondência de padrões
  • Módulos
  • Coleções comuns
  • Tratamento de erros
  • Tipos genéricos, traits e tempo de vida
  • Escrevendo testes automatizados
  • Tipos de bibliotecas-padrão
  • Concorrência sem medo
  • Macros

“Learn Rust” contém ao todo 331 etapas, sendo 210 etapas teóricas e 121 etapas de problemas. Cada etapa do curso vem no formato de um pacote do Cargo, possibilitando demonstrar e ensinar não apenas os recursos básicos da linguagem Rust, como também módulos, crates, macros, testes em nível de pacotes, dependências externas, etc.

O trabalho em cada etapa envolve tanto ler textos quanto o trabalho com código. Se o código de uma etapa tiver a função “main”, ele poderá ser executado:

Na maioria das etapas de problemas, você é exposto a um único arquivo de código (como na captura de tela acima), mas às vezes, você tem acesso à estrutura de todo o pacote, para que você possa explorar todos os componentes relevantes, tais como os arquivos de descrição do projeto:

A partir daí, você pode chegar à documentação de um crate ou ficar conhecendo as versões disponíveis.

Naturalmente, ao discutirmos o teste de pacotes do Rust, expomos os arquivos de teste:

Antes de tentar verificar a sua solução, clicando no botão Check, você pode executar testes isolados ou todos os testes de uma vez.

Estes recursos têm o objetivo de apresentar as melhores práticas de desenvolvimento de software em IDEs o mais cedo possível. Acreditamos que usar ferramentas profissionais desde o início do seu aprendizado pode trazer enormes benefícios. Com o suporte de primeira que os IDEs da JetBrains têm para o Rust, agora você também pode fazer isso enquanto aprende Rust.

Aprenda Rust e conte para nós o que você acha!

Claramente, desenvolver conhecimentos sólidos de Rust exige mais que simplesmente fazer este curso, mas acreditamos que para muitos futuros desenvolvedores, este curso pode servir como uma iniciação perfeita ao mundo empolgante da programação em Rust. Esperamos que você goste de estudar Rust conosco! Fique à vontade para deixar o seu feedback na seção de comentários abaixo ou nos contactar em academy@jetbrains.com.

Artigo original em inglês por:

Luiz Di Bella

Vitaly Bragilevsky

image description