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:
“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.
Comments 6