Ambiente de Desenvolvimento

Quer iniciar uma briga? Comece a defender e empurrar que o seu editor de código preferido é o que vai fazer todo mundo programar mais rápido ou que o sistema operacional que você usa é o melhor e o mais confiável.

E se você parar para analisar, brigar hoje em dia sobre essas coisas é igual a brigar sobre qual que é a melhor roupa a se usar. E eu digo isso porque roupa é formada por dois componentes: a função e a estética. A função define se uma roupa foi feita para resistir ao frio ou te refrescar. E a estética define as cores, o design, e numa visão grosseira, isso passa pela lente do seu gosto pessoal, onde naturalmente cada um tem o seu.

Então, independente do componente função que cada sistema operacional, editor de código, linguagem de programação ou qualquer outra tecnologia consegue fornecer, o componente estético vai fazer algumas pessoas reagirem de uma forma irracional e vão falar: "Que nojo, Windows!", "Eca, Mac!", ou "Blehh, JavaScript!", ou "Argh, Java!". E apesar de que isso é muito comum (eu já fui total assim, tá?), é algo besta.

Então, vamos ser um grupo de pessoas que tem a sabedoria de saber se focar no componente função das tecnologias e respeitar os gostos pessoais de cada um na parte estética, combinado? Eu te garanto que vai ficar tudo mais fácil assim.

flowchart LR
  subgraph roupa["🧥 Roupa"]
    direction TB
    A["Função: proteger do frio"] --- B["Estética: cor, design"]
  end

  subgraph tech["💻 Tecnologia"]
    direction TB
    C["Função: o que ela faz"] --- D["Estética: aparência, gosto pessoal"]
  end

  roupa <-->|mesma lógica| tech

  style roupa fill:#ff880010,stroke:#f0883e
  style tech fill:#0000ff10,stroke:#58a6ff

Escrever e executar

A respeito do componente função, quais coisas um ambiente de desenvolvimento precisa ter para construir e rodar um projeto web? Numa visão macro, são só duas coisas: um lugar para escrever código e um outro lugar para executar esse código e outros serviços como banco de dados. Ou seja, escrever e executar. Mais nada.

flowchart TB
  A["Ambiente de Desenvolvimento"] --> B["✏️ Escrever código"]
  A --> C["▶️ Executar código"]
  B --> D["Editor de código"]
  C --> E["Terminal"]

  style A fill:#0000ff10,stroke:#58a6ff
  style D fill:#00ff0010,stroke:#3fb950
  style E fill:#ff880010,stroke:#f0883e

Para escrever, a gente precisa de um editor de código, que é onde nós vamos criar os arquivos e neles escrever as funções, módulos e toda a arquitetura do sistema. Mas esse código precisa ser lido e executado por alguém. E para executar, vamos precisar de um terminal, aquela telinha preta que pode assustar muita gente, mas é uma interface e talvez a interface mais próxima entre você e o sistema operacional.

O poder de largar

Quanto mais eu avanço na área, mais eu percebo que sistemas operacionais, editor de código, terminal ou qual que seja a tecnologia, é que nem roupa mesmo, porque eventualmente você vai descartar elas. Na verdade, algumas duram bastante e você usa todo dia, mas outras você larga mesmo.

Ou melhor, você deveria conseguir desenvolver o poder de largar um ambiente de desenvolvimento e migrar para um outro, em busca de algo melhor, mais atualizado ou qualquer que seja o seu motivo. Porque ficar preso com uma única escolha, considerando a evolução da nossa área, é uma escolha um pouco arriscada.

Então, monte um projeto que fique fácil de migrar de um lugar para outro. Isso vai ser ótimo até pra qualidade do projeto, inclusive.

Sentir-se competente em programação começa aqui.