Wesley Damasceno

~$ sudo ./programmer

Informática: A base que faltava para aprender a programar

10 jul 2025
#fundacao#informatica#programacao#carreira

A diferença entre saber programar e saber usar o computador

Uma coisa que nem todo iniciante percebe logo de cara é que saber programar e saber usar o computador são habilidades diferentes. E essa distinção faz muita diferença no dia a dia pra quem está aprendendo do zero.

Hoje em dia é possível abrir um navegador, acessar uma IDE online (como Replit ou CodeSandbox), digitar um pouco de código e dizer que está “programando”. E tecnicamente está mesmo. Mas isso é só a superfície.

O problema de verdade aparece quando saímos do tutorial. Quando precisamos instalar um compilador ou interpretador, configurar variáveis de ambiente, entender por que um script não roda no seu sistema (ué, mas ontem funcionava), configurar git e ssh, lidar com permissões em sistemas Linux ou WSL...

Esses são obstáculos que não têm a ver com lógica de programação em si, mas com o domínio do ambiente onde o código vive: o computador.

Vou te dá mais exemplos:

  • Você escreveu um código Python que “não funciona”, mas na verdade, você pode simplesmente ter a versão errada do Python instalada.
  • Você fez um projeto que “não roda”, mas na verdade, você pode estar com dependências quebradas ou com um gerenciador de pacotes desatualizado.

Sem entender esses pontos, é fácil entrar num ciclo de frustração, achando que não serve pra programação, quando na real o problema é outro.

Muita gente tá aprendendo linguagem, lógica, estrutura de dados, sintaxe… mas trava diante de uma mensagem de erro que envolve o sistema operacional ou o terminal (fica com medo).

E isso, é como aprender a dirigir sem nunca ter aprendido a abrir o capô. Você até consegue, mas na primeira pane, não sabe nem por onde começar.

Essas habilidades, a princípio pode parecer que não tem efeito nenhum. Mas elas fazem com que você programe com mais confiança, entendendo melhor o contexto dos problemas que vão surgindo, e dependa menos de ajuda externa para problemas simples.

Pensamento lógico não é exclusivo da programação

É muito comum associar pensamento lógico exclusivamente ao ato de programar, como se só servisse pra escrever if, else, while e for. Mas a verdade é que a lógica está por trás de qualquer processo de resolução de problemas, e ela é essencial para interagir com o computador como um todo, não só com o código.

Dica

Quer ser programador? Comece a pensar como um.

Imagina que você está instalando uma ferramenta nova. Ela não funciona. O que você faz?

Muita gente entra logo em pânico ou tenta seguir tutoriais cegamente, copiando comandos sem entender o que ta acontecendo.

Mas se você aplicar um pouco de raciocínio lógico, começa a fazer perguntas mais estruturadas do tipo:

  • O que exatamente deu errado?
  • O erro é do meu sistema, da ferramenta ou está entre a cadeira e o monitor?
  • Esse comando funcionaria em outro sistema operacional também?
  • A mensagem de erro está me dizendo algo útil?
  • Existe alguma etapa que pulei?

Esse tipo de questionamento é lógica pura, e não envolve escrever uma linha de código.

Falta de lógica no uso do computador = dependência total de tutoriais

Sem esse raciocínio, você fica perdido, quando algo sai do planejado, você trava.

É como alguém que sabe fazer uma receita passo a passo, mas se faltar um ingrediente, não sabe o que substituir ou adaptar.

No computador, isso é o mesmo que:

  • Ter dificuldade pra seguir instruções que mudaram de versão.
  • Medo de explorar menus, configurações e opções mais avançadas.
  • Insegurança pra testar alternativas ou buscar soluções em fóruns
    (Ainda existe stackoverflow tá?).

A lógica está em toda parte: do sistema ao navegador e tudo isso exige entendimento de causa e efeito, sequência, condição e consequência.

O código no final do dia é só uma forma de expressar um raciocínio. Se você já esse raciocínio, mesmo sem saber sintaxe, estará no caminho certo.

Entender o sistema operacional é parte do trabalho

Se você ignora como o sistema funciona, cada passo fora do tutorial vai virar um desafio enorme. Mas se você entende minimamente como ele opera, ganha poder, velocidade e autonomia.

Tudo o que você faz como programador, por ex: instalar um editor de código, rodar um script, compilar um projeto, usar um servidor local... acontece dentro do sistema operacional.

Então se você não sabe onde os arquivos estão realmente sendo salvos, o que está rodando em segundo plano, como o sistema lida com processos, memória e rede... você vai acabar travando em problemas que nem são de código, mas vão parecer como se fossem.

Saber pesquisar é parte da solução

Importante

Não subestime a "velha" e boa pesquisa no Google.

Não importa se você é iniciante ou sênior, ninguém sabe tudo o tempo todo. A diferença é que desenvolvedores experientes sabem como e onde procurar respostas.

Muitas vezes, saber formular uma boa busca no Google (ou no stackoverflow, github, documentações oficiais) resolve o problema em minutos, enquanto insistir em “adivinhar” pode custar horas ou pedir o GPT pra resolver sem entender o que tá fazendo é pior ainda...

O ideal é ler a mensagem de erro, entender, identificar palavras-chave e só então pesquisar. E quando encontrar, avaliar se a solução faz sentido no seu contexto.

O que estudar em informática antes de programar?

Informática também é um mundo de possibilidades, mas se fosse pra listar alguns conhecimentos básicos, porém essenciais seria:

  1. Estrutura de arquivos e pastas
  • Como os arquivos são organizados no sistema (Seja Windows ou Linux/MacOS).
  • O que é um caminho absoluto vs. relativo.
  • Onde ficam os arquivos temporários, programas, documentos, etc.
  • Como usar compactadores, extensões e permissões básicas de arquivos.
  1. Terminal e comandos básicos
  • Aprender a usar o terminal no Linux, macOS ou Windows (Se possível em todos haha).
  • Comandos como: cd, ls, mkdir, rm, touch, mv, cp, cat, echo.
  • Entender o que é stdin, stdout, stderr.
  • Noções de permissão (como chmod, sudo, net user).
  1. Instalação de programas e pacotes
  • O que são instaladores, dependências e bibliotecas.
  • Como instalar software de forma correta no seu sistema.
  • Usar gerenciadores de pacotes como: apt, brew, winget, flatpak, etc.
  1. Variáveis de ambiente
  • O que são e como usá-las (PATH, JAVA_HOME, etc).
  • Como definir uma variável temporária vs. permanente.
  • Como isso influencia comandos e execuções de programas.
  1. Redes e navegação local/internet
  • O que é IP, localhost, porta, DNS, ping.
  • Noções de como funciona uma requisição HTTP.
  • O que pode bloquear uma aplicação (firewall, proxy, antivírus).
  1. Familiaridade com o sistema operacional
  • Entender o básico de como o SO funciona: processos, memória, inicialização.
  • Como instalar/desinstalar, atualizar e resolver conflitos.
  • Saber usar o gerenciador de tarefas e configurações básicas.

A maioria dos cursos e tutoriais assume que você já sabe essas coisas, mas se você ainda não sabe, não tem problema! Reconhecer isso é o primeiro passo pra aprender.