Infográfico: o que é programação e o que fazem programadores?

programação

Interessado em aprender programação? Antes de escolher a primeira linguagem para aprender, é bom ter um entendimento básico do campo da ciência da computação e o que os programadores realmente fazem.

Leia também:
» Infográfico: qual linguagem de programação devo aprender primeiro?
» Entrevista com Zeh Fernando, desenvolvedor que atua em Nova York
» Guia de Profissões: Desenvolvedor(a) Full Stack

Este infográfico irá responder algumas perguntas comuns, como o que é programação, como funciona um programa de computador, o que os desenvolvedores fazem e não fazem, quais são as dificuldades comuns, etc.

Para mais explicações detalhadas, veja o FAQ após o infográfico:

programação

“Resolva o bug” foi baseado na resposta de Brian Schmitz no site Quora.

FAQ

#1. O que você quer dizer com “escrever instruções específicas para uma máquina burra mas obediente”?

Imagine isso: Você tem que ensinar uma criança a tomar banho. A criança só sabe seguir suas instruções. Então você pede para ele fazer o seguinte:

Entre no banheiro
Ligue o chuveiro
Fique embaixo do chuveiro
Pegue o sabonete
E assim por diante…

Mas, espere, a criança nem se despiu antes de entrar no chuveiro! Isso é programação. O computador faz exatamente o que você disser para ele fazer. Ele não assume nada e nunca pensa nas consequências.

#2. Quais são os equívocos comuns sobre programação?

Você não precisa ser gênio ou ser bom em matemática para ser programador. Você só precisa ser bom em resolver problemas e ter pensamento lógico.

Programadores gastam muito tempo em frente ao computador, mas isso não quer dizer que eles são bons em consertar computadores de amigos e familiares.

Não há uma melhor linguagem para se aprender. A resposta varia muito dependendo dos seus requisitos, preferências, tempo disponível, etc. Linguagens de programação são como religiões e alguns desenvolvedores são mais religiosos.

#3. Explique mais sobre a programação de alto nível e de baixo nível

Fazendo uma analogia com carros, a linguagem de alto nível é como dirigir um carro automático. Você não precisa se preocupar em trocar marchas (parecido com coleta de lixo e gerenciamento de memória na programação). É mais fácil aprender e dirigir (codificar) um carro automático.

A linguagem de médio nível é como dirigir um carro manual. Você pode trocar as marchas (mais controle), mas é mais difícil aprender e dirigir.

A linguagem de baixo nível é como o motor do carro. Você não precisa entender como o carro funciona para dirigi-lo. Da mesma forma, você não precisa aprender como codificar em assembly ou código de máquina (literalmente impossível).

Para resumir, um computador é construído em camadas de abstrações. Você dirige um carro através de abstrações – mudança de marcha, pedal do acelerador, pedal do freio, volante, etc. A complexidade do veículo e todos os pequenos detalhes estão escondidos de você.

#4. Por que é difícil estimar o tempo de desenvolvimento de software?

Aqui seguem ótimas respostas sobre o porque das estimativas de tempo de desenvolvimento normalmente estarem erradas.

#5. O que significa arrumar bugs misteriosos?

Arrumar bugs de software é algo extremamente comum, e você encontra isso diariamente. Entretanto, algumas vezes leva horas ou dias (sim, semanas e meses também são possíveis) para se arrumar um bug. Aqui seguem algumas razões:

  • O código está mal escrito e foi escrito por outra pessoa. A pessoa pode ter saído da empresa e você é incapaz de entrar em contato com ela.
  • Somente ocorre sob certas circunstâncias que são difíceis de serem replicadas. Por exemplo, o bug ocorre quando seu website recebe tráfego intenso e alcança o limite.

Texto originalmente publicado no site Carlcheo. Traduzido e adaptado pela equipe do Tutano.

Confira oportunidades na categoria Programação

DEIXE UM COMENTÁRIO