Iniciando na programação: Configurando o computador (WSL)
Tags: beginners, linux, wsl, windows
Published: 2022-08-12 21:49:09

## Se você quer iniciar na programação, a primeira coisa a se fazer é configurar seu computador

Quando (re)iniciei na programação, a primeira coisa que tive que fazer foi ir atrás de como configurar meu ambiente de desenvolvimento, na época eu utilizava um Mac (MacBook Air Intel), então a configuração foi, de certa forma, simples, pois o MacOS é "Unix-Like", isto é, aceita (alguns) comandos do linux.
Mas antes, *por favor, permita-me apresentar-me*, meu nome é Ilo Navarro, programo desde os 14 anos, principalmente em C, C++, C#, VB6, Delphi, um pouco de PHP e ASP (não o .net), HTML e CSS, entre outras linguagens e script languages.
Formado como técnico em informática, com cursos em redes (fibra ótica inclusa), e bacharel em sistemas de informação, atuei bastante na área, inclusive com artigos técnicos em um dos meus blogs (na área de segurança da informação, que até hoje eu gosto muito) até decidir abandoná-la, indo para a área financeira, onde fiquei por mais de 10 anos.
Então basicamente eu fiquei mais de 10 anos sem ver uma IDE na frente, sem me atualizar sobre nada em relação a programação e desenvolvimento.
Aí, agora (na verdade na pandemia), decidi voltar à área, na parte de **frontend**, com foco em **React**.
Quando mudei de volta para um pc com windows, me vi totalmente perdido, já que o terminal do windows é uma piada de mal gosto, e isso inclui também aquela coisa horrenda chamada power shell.
Mas pronto, agora que você me conhece um pouco, vamos continuar com o que interessa, configurar seu pc com windows para iniciar nesse mundo maravilhoso do desenvolvimento.
Como parece óbvio, meu foco vai ser a configuração para desenvolvimento frontend.

### WSL 2 ou, o linux no windows

Como dito acima, o uso do terminal no windows é horrível, e não tente me convencer que a power shell é excelente, no máximo ela é aceitável, então para consertar essa falha grave de caráter do sistema operacional, utilizamos **W**indows **S**ubsystem for **L**inux ou WSL 2, onde o 2 no caso é a versão.
O WSL 2 permite que se utilize um sistema linux dentro do windows, eu escolhi o Ubuntu, mas você pode instalar qualquer outra, desde que se proponha a adapta-la ao WSL, eu também estou usando o windows 11 em meu computador, mas pelo que pesquisei, funciona igualmente no 10.
Para instalar o WSL 2 em seu windows basta ir no terminal windows (segure a tecla windows + r, escreva cmd e aperte enter, ou vá em iniciar -> executar, escreva cmd e aperte o enter, ou aperte o botão do windows, escreva terminal e dê enter), após o terminal aberto, vamos digitar o seguinte comando:
`wsl --install`
**Esse comando instalará o kernel base e a distro padrão, que é o Ubuntu**
Caso não queira usar ubuntu, o comando deverá ser:
`wsl --install -d distribuição `
Onde *distribuição* é a distro que você queira, mas se você quiser conferir antes quais são as distribuições já incluídas para você instalar facilmente, pode digitar:
`wsl --list --online` ou sua forma minimizada `wsl -l -o`.
A lista atualmente é:
* Ubuntu - Ubuntu
* Debian - Debian GNU/Linux
* kali-linux - Kali Linux Rolling
* openSUSE-42 - openSUSE Leap 42
* SLES-12 - SUSE Linux Enterprise Server v12
* Ubuntu-16.04 - Ubuntu 16.04 LTS
* Ubuntu-18.04 - Ubuntu 18.04 LTS
* Ubuntu-20.04 - Ubuntu 20.04 LTS

### Mas por que usar WSL?

O uso do WSL em desenvolvimento é bem fácil de ser explicado, primeiro, ele não "danifica" o seu sistema operacional, dessa forma você pode "errar" ali e utilizar o linux instalado como uma sandbox (uma "caixa de areia", utilizada para testes), o segundo motivo é que alguns sistemas são cobrados ou tem limitações em sua versão para windows, o docker, por exemplo, é um deles.
Outro grande motivo para utilizar WSL 2 é o fato de que a maioria dos servidores web rodam em linux e com o WSL 2 você não precisa estar 100% do tempo no linux.

### Já tenho o WSL 2, o que ainda falta?

Bom, agora que você já tem um sistema para rodar suas aplicações, precisamos configurar o ambiente e também de uma ferramenta para desenvolver, eu, como frontend, utilizo o editor [VSCode](https://code.visualstudio.com/), mas você pode utilizar o editor ou IDE que melhor se adapte ao seu mundo.
Porém esse assunto fica pra outro texto...

#### Obrigado por ler até aqui e nos vemos no próximo texto :D

###### Este texto tem como base informações do manual da Microsoft que você pode encontrar [aqui](https://docs.microsoft.com/pt-BR/windows/wsl/install)