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
- Instalação do .NET (guia oficial) — o passo a passo oficial de instalação do SDK por sistema operacional; a referência definitiva se algo divergir nesta aula.
- Instalação do .NET no Linux — o procedimento detalhado por distribuição, útil para o caminho WSL caso o pacote não seja encontrado.
- Documentação do WSL — o guia oficial para instalar e usar o Subsistema do Windows para Linux.
- Download do Visual Studio Code — a página oficial do editor que usaremos, com instaladores para todos os sistemas.
- Introdução ao terminal (VS Code) — uma introdução ao terminal integrado ao editor, útil para se familiarizar com a linha de comando.
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.