Preparando o Ambiente: As Ferramentas do Programador

Preparando o Ambiente: As Ferramentas do Programador

O passo a passo para montar o ambiente de desenvolvimento C#: o SDK do .NET, o editor de código e o terminal, com os dois caminhos possíveis no Windows — instalação nativa ou Linux via WSL. Ao final, a instalação é verificada por um comando que confirma que tudo está pronto.
Linguagem C#

• • 11 min de leitura

Toda arte tem suas ferramentas, e a programação não é exceção. Antes de escrever a primeira instrução, precisamos equipar o seu computador com aquilo que transforma o texto que você digita em um programa que funciona. Esta aula é integralmente prática: ao final dela, seu computador estará pronto para programar em C#. Não pressuponho que você tenha instalado qualquer coisa relacionada a programação antes, nem que conheça termos técnicos — explicarei cada ferramenta, o que ela faz e por que você precisa dela, antes de instalá-la. Vá com calma, siga os passos na ordem, e não se preocupe se algo parecer estranho: a estranheza inicial com ferramentas novas é normal e passa com o uso.

As três ferramentas de que você precisa

Para programar em C#, você precisa de três coisas, e vale entender o papel de cada uma antes de instalá-las.

A primeira é o .NET SDK. Lembra que, na aula anterior, dissemos que o que você escreve precisa ser traduzido para a linguagem de máquina? O SDK (sigla, em inglês, para "kit de desenvolvimento de software") contém justamente essa ferramenta de tradução — chamada compilador — mais tudo o que é necessário para executar os programas resultantes. Pense no SDK como o motor invisível de toda a operação: você raramente interage com ele diretamente, mas nada funciona sem ele. Instalar o .NET SDK é instalar a capacidade de o seu computador entender e rodar C#.

A segunda é um editor de código: o programa onde você efetivamente escreve suas instruções. Em princípio, qualquer editor de texto serviria, mas um bom editor de código faz muito mais que aceitar texto — ele colore as palavras para facilitar a leitura, aponta erros enquanto você digita, sugere continuações, e ajuda a organizar arquivos. Usaremos o Visual Studio Code (abreviado "VS Code"), gratuito, leve e um dos mais populares do mundo. Um cuidado com os nomes, que confunde muitos iniciantes: "Visual Studio Code" (VS Code) é o editor leve que usaremos; existe também um programa maior chamado apenas "Visual Studio", que é uma ferramenta diferente e mais pesada. Para este curso, queremos o VS Code.

A terceira ferramenta não se instala; você já a tem: o terminal, também chamado de linha de comando ou console. É uma janela onde você digita comandos em texto e o computador responde, também em texto — uma forma de conversar com a máquina mais direta e antiga que os cliques e janelas a que você está acostumado. Programadores usam o terminal o tempo todo, porque ele é rápido e preciso, e nós o usaremos para pedir ao .NET que crie e execute nossos programas. Se ele lhe parece intimidante agora, tenha paciência: em poucas aulas você o achará natural.

Uma decisão inicial: Windows ou Linux (via WSL)

Aqui preciso apresentar uma bifurcação. Se você usa Windows, tem duas opções: programar diretamente no Windows, ou usar uma ferramenta chamada WSL (sigla, em inglês, para "Subsistema do Windows para Linux"), que faz rodar um sistema Linux dentro do seu Windows. O Linux é outro sistema operacional, muito usado por programadores e por servidores que hospedam sites e serviços. Aprender a programar já dentro de um ambiente Linux é vantajoso, porque é o ambiente que você encontrará profissionalmente com frequência — mas exige um passo de instalação a mais. Como você está começando do zero, apresentarei os dois caminhos, e você pode escolher o que lhe for mais confortável; o restante do curso funciona identicamente nos dois. Se estiver em dúvida, comece pelo Windows nativo, que é mais simples, e experimente o WSL quando se sentir à vontade.

Caminho A — Instalando no Windows (direto)

No Windows moderno, o jeito mais simples de instalar o .NET SDK usa uma ferramenta chamada winget, que já vem no sistema e serve para instalar programas por comando. Abra o menu Iniciar, digite "PowerShell" (um dos terminais do Windows), abra-o, e digite o seguinte, pressionando Enter ao final:

winget install Microsoft.DotNet.SDK.10

Aguarde a instalação concluir. Depois, feche e reabra o PowerShell (isso é necessário para ele reconhecer a nova ferramenta) e confirme que deu certo digitando:

dotnet --version

Se aparecer um número como 10.0.100, o SDK está instalado e funcionando. Se preferir não usar o winget, você também pode baixar um instalador gráfico no site oficial dotnet.microsoft.com/download — escolha o SDK (e não apenas o "Runtime", que só executa programas mas não os cria). Em seguida, instale o VS Code baixando-o de code.visualstudio.com e seguindo o instalador; ao abri-lo pela primeira vez, instale a extensão chamada C# Dev Kit (veremos como na próxima aula).

Caminho B — Instalando no Linux via WSL

Se você optou pelo WSL, primeiro instale-o. Abra o PowerShell como administrador (clique com o botão direito no PowerShell e escolha "Executar como administrador") e digite:

wsl --install

Isso instala o WSL com o Ubuntu, uma das versões mais populares do Linux. Reinicie o computador se for solicitado. Ao abrir o Ubuntu pela primeira vez (ele aparece no menu Iniciar), ele pedirá que você crie um nome de usuário e uma senha para o Linux — anote-os. A partir daí, você está diante de um terminal Linux. Instale o .NET SDK digitando:

sudo apt-get update
sudo apt-get install -y dotnet-sdk-10.0

O sudo é o comando que executa uma ação com permissões de administrador; ele pedirá a senha que você criou (ao digitá-la, os caracteres não aparecem na tela — isso é normal, por segurança). Ao final, confirme com:

dotnet --version

Um número como 10.0.100 confirma o sucesso. Para editar código, instale o VS Code no Windows (não dentro do Linux) a partir de code.visualstudio.com, e adicione as extensões WSL e C# Dev Kit — com elas, o editor roda no Windows mas trabalha com os arquivos do Linux, o melhor dos dois mundos.

Se o terminal responder Unable to locate package dotnet-sdk-10.0, o erro não é seu. Esse pacote não existe em toda distribuição Linux: o Ubuntu o empacota nos próprios repositórios, o Debian não. Quando ele não é encontrado, há dois caminhos, e os dois funcionam.

O primeiro é acrescentar o repositório da Microsoft, que mantém o .NET sob o gerenciador de pacotes do sistema — é o caminho preferível quando a sua distribuição é suportada. No Debian:

wget https://packages.microsoft.com/config/debian/13/packages-microsoft-prod.deb -O /tmp/pmp.deb
sudo dpkg -i /tmp/pmp.deb
sudo apt-get update
sudo apt-get install -y dotnet-sdk-10.0

Troque o 13 pelo número da sua versão do Debian. O segundo caminho funciona em qualquer distribuição, não depende de repositório e nem sequer pede senha de administrador: o script oficial de instalação, que baixa o SDK para dentro da sua pasta pessoal.

curl -sSL https://dot.net/v1/dotnet-install.sh -o dotnet-install.sh
chmod +x dotnet-install.sh
./dotnet-install.sh --channel 10.0

Esse segundo caminho tem uma pegadinha que derruba quase todo mundo: o script não altera o PATH. Ele instala em ~/.dotnet, anuncia que terminou com sucesso, e ainda assim o terminal responde command not found quando você digita dotnet — porque ele não sabe onde procurar. O próprio script avisa isso na penúltima linha da saída, e é fácil não reparar. As três linhas abaixo resolvem de vez, inclusive para os próximos terminais que você abrir:

echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
echo 'export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools' >> ~/.bashrc
source ~/.bashrc

Sobre não entender tudo agora

É perfeitamente esperado que vários termos desta aula — SDK, compilador, terminal, WSL — ainda pareçam nebulosos. Você não precisa dominá-los agora; precisa apenas ter as ferramentas instaladas e funcionando. A compreensão profunda de cada uma virá naturalmente, com o uso, ao longo do curso. Programar se aprende programando, e o entendimento das ferramentas se sedimenta à medida que você as usa para fins concretos. Por ora, o objetivo é simples e verificável: digitar dotnet --version e ver um número. Se você chegou a esse ponto, seu ambiente está pronto, e o mais empolgante vem a seguir.

O ambiente está de pé. Você instalou o SDK do .NET, escolheu entre trabalhar no Windows nativo ou dentro do Linux via WSL, e conheceu as três ferramentas que sustentam o trabalho diário: o kit de desenvolvimento, o editor e o terminal. Cada uma tem um papel distinto, e entender essa divisão evita a confusão comum de achar que o editor é quem compila.

Se alguma parte do processo pareceu opaca, isso é esperado e não é um problema. Configurar ambiente é a tarefa menos intuitiva da programação justamente porque envolve peças que só fazem sentido depois de usadas. O que importa é que o comando de verificação respondeu com um número de versão: a máquina está pronta.

Fontes e leituras recomendadas

Exercícios

Exercício 1

Explique, com suas palavras, o papel de cada uma das três ferramentas apresentadas: o .NET SDK, o editor de código e o terminal. Qual delas efetivamente "traduz e executa" o seu programa?

Ver resposta

✓ Resposta: O .NET SDK contém o compilador (que traduz seu código para a linguagem de máquina) e o necessário para executar os programas — é ele que efetivamente traduz e executa. O editor de código (VS Code) é onde você escreve suas instruções, com auxílios como coloração e detecção de erros. O terminal é a janela onde você digita comandos em texto para pedir ações ao computador, como criar e rodar programas. A ferramenta que traduz e executa é o SDK.

Exercício 2

Instale o .NET SDK pelo caminho que você escolheu (Windows direto ou WSL) e execute dotnet --version. Anote o número exibido. Se aparecer um erro dizendo que o comando não foi encontrado, o que a aula sugere que você faça?

Ver resposta

✓ Resposta: Após a instalação, dotnet --version deve exibir um número como 10.0.100. Se aparecer "comando não encontrado", a aula sugere fechar e reabrir o terminal — porque o sistema precisa reiniciar o terminal para reconhecer a ferramenta recém-instalada; se ainda assim não funcionar, revisar se a instalação concluiu corretamente.

Exercício 3

Instale o Visual Studio Code. Ao procurá-lo, você encontrará também um programa chamado apenas "Visual Studio" — explique, com base na aula, por que precisa tomar cuidado para instalar o programa certo, e qual é o certo para este curso.

Ver resposta

✓ Resposta: É preciso cuidado porque os nomes são parecidos, mas os programas são diferentes: "Visual Studio Code" (VS Code) é o editor leve e gratuito que usaremos, enquanto "Visual Studio" (sem "Code") é uma ferramenta separada, maior e mais pesada. Para este curso, o programa certo é o Visual Studio Code (VS Code); instalar o outro por engano traria uma ferramenta diferente da que as aulas assumem.

Exercício 4

Pesquise brevemente e explique, em uma ou duas frases, a diferença entre baixar o "SDK" e baixar apenas o "Runtime" do .NET. Por que quem vai criar programas precisa do SDK?

Ver resposta

✓ Resposta: O Runtime contém apenas o necessário para executar programas .NET já prontos — é o que um usuário final instala para rodar um programa. O SDK contém o Runtime mais o compilador e as ferramentas para criar e compilar programas. Quem vai criar programas precisa do SDK porque, sem o compilador, não há como transformar o código escrito em algo executável; o Runtime sozinho apenas roda o que já foi criado.

Exercício 5

Sem instalar nada além do necessário: abra o terminal do seu sistema (PowerShell no Windows, ou o Ubuntu se você usou WSL) e digite dotnet --help. Você não precisa entender a saída; apenas descreva o que aconteceu e reflita sobre o que significa "conversar com o computador por texto".

Ver resposta

✓ Resposta: Ao digitar dotnet --help, o terminal exibe uma lista de comandos e opções disponíveis da ferramenta dotnet — muito texto que você ainda não precisa entender. O que aconteceu foi uma conversa por texto: você digitou uma instrução (dotnet --help) e o computador respondeu em texto. "Conversar com o computador por texto" significa exatamente isso: em vez de clicar em botões e menus, você escreve comandos precisos e recebe respostas escritas, um modo de interação mais direto e poderoso, ainda que menos visual, do que o das janelas.

Comentários

Mais em Linguagem C#

Validação e Robustez em APIs
Validação e Robustez em APIs

O princípio inegociável de qualquer API: nunca confie na entrada. A aula cobre…

O Que É Programar: Instruções, Máquinas e Linguagens
O Que É Programar: Instruções, Máquinas e Linguagens

A aula que assenta a fundação de tudo: o que significa, de fato, programar…

Concorrência: Fazendo Várias Coisas ao Mesmo Tempo
Concorrência: Fazendo Várias Coisas ao Mesmo Tempo

Como fazer um programa não travar enquanto espera: async e await. A aula…