O que é programação?

Vamos supor que você trabalha para uma multinacional e tem uma reunião marcada com um empresário chinês. Sua língua nativa é o português e você não sabe uma palavra em chinês. Mesmo assim, você lembra que vocês dois falam inglês e podem muito bem usar essa língua comum para negociar e se comunicar.

Da mesma forma, usamos linguagens como HTML, CSS, JavaScript, Java, entre outras, para nos comunicar com os computadores de uma forma que os dois lados se entendam.

Computadores usam uma linguagem binária, que é basicamente uma lista enorme de zeros e uns. Essa não é uma língua muito fácil para uma pessoa aprender. Por isso, inventamos linguagens de programação para conversar com computadores. Como eles não falam línguas humanas, precisamos dessa ponte para nos entender melhor.

Mas, diferente dos humanos, computadores não são muito bons com comunicações indiretas e sempre levam as coisas no sentido literal da palavra. Se você pedir algo, ele vai fazer exatamente o que foi pedido. Computadores não são inteligentes o suficiente para tomar decisões por conta própria e só entendem o que é explicado tintim por tintim. Então, se quiser respostas corretas, precisa dar instruções exatas.

Por exemplo, se eu te pedisse para preparar um sanduíche, você talvez perguntasse qual recheio ou se quero ele na chapa ou não. Para você, isso pode ser o suficiente para fazer um sanduíche bem gostoso. Só que muitas pequenas decisões e um certo conhecimento prévio são necessários no simples preparo de um sanduíche.

Se você só pedir para um computador que prepare um misto quente na chapa com pão de centeio e maionese, você pode receber algo bem diferente do que pediu. Um humano saberia que a maionese deve ir no pão primeiro, depois o presunto e o queijo, só então o sanduíche deve ir para a chapa.

Mas… como um computador saberia disso tudo?

Lembre que o pedido foi “um misto quente com pão de centeio e maionese”. Para uma máquina o lógico seria fazer as coisas em ordem. Primeiro ela vai colocar o presunto e o queijo na chapa, depois as duas fatias de pão por cima e maionese para finalizar.

Não era para um computador ser mais esperto que isso?

Bem, por conta dos computadores levarem tudo no sentido literal, você tem que especificar a ordem de cada passo e o uso de cada ingrediente. Todo mundo sabe que os ingredientes vão entre as fatias de pão, mas um computador não tem conhecimento do que é um sanduíche, ele apenas segue as instruções.

Essa é outra razão do porque não conseguimos nos comunicar com computadores usando nossa língua (ainda). Nossa linguagem é cheia de ambiguidades e é muita vaga para um computador entender da forma correta. Sem falar quando uma palavra ou frase tem duplo sentido. Um computador não saberia como interpretar algo do tipo. Ele precisa de tudo explicadinho.

A verdade é que computadores não são nada inteligentes. A única coisa que as máquinas conseguem é processar informações mais rápido do que nós.

O que é um programador e o que eles fazem?

Lembre-se, você não consegue dizer a um computador o que quer em português. Será necessário que um programador de computadores traduza para você. Um programador de computadores é uma pessoa que comunica suas ideias e instruções para um computador, construindo sites, jogos e outros programas que aparecem na tela.

Um programador poderia ser considerado um poliglota (uma pessoa que sabe várias línguas) especializado em se comunicar com computadores. Eles sabem exatamente o que falar e como falar para o computador entender. Se você já aprendeu outra língua antes, sabe que cada língua vem com seu próprio vocabulário, gramática, e regras. Linguagens de computador também vêm com sua própria forma de dizer as coisas, chamada sintaxe.

Enquanto uma pessoa pode te entender mesmo que você erre a pronúncia de uma palavra, use a conjugação errada ou mande mal na gramática, um computador não vai perdoar seus erros. Assim que você cometer um erro de sintaxe, o computador vai parar de te escutar e de rodar o programa.

Que grosseria, né?

O que você consegue fazer com a programação?

Se você já usou um computador, assistiu vídeos online ou jogou videogames, talvez seja difícil de acreditar que tudo aquilo vem de uma série de números e letras colocados em ordem. A habilidade de processar milhares de linhas de código por segundo é o ponto forte de um computador e permite que ele siga instruções altamente complexas para conseguir realizar tarefas incríveis.

Vamos dar uma olhada em algumas coisas legais que podemos fazer com códigos:

  • Criar um site
  • Desenvolver aplicativos de celular
  • Desenvolver programas de computador
  • Desenvolver jogos
  • Criar e manter um banco de dados
  • Automatizar tarefas
  • Solucionar problemas complexos
  • Criar uma inteligência artificial
  • Fazer uma análise estatística
  • E muito mais…

A programação é, sem dúvidas, uma ferramenta importante se quiser trabalhar com algumas dessas atividades.

O que faz a programação algo útil? Para que ela serve?

Estamos cada vez mais dependentes de computadores na nossa rotina diária, e a importância da programação cresce junto a isso.

No futuro próximo, a maioria das áreas vão envolver programação de computadores, então ter isso no seu currículo vai alavancar sua carreira. Por exemplo, você pode usar suas habilidades de programação nas áreas de escrita, análise, gestão, engenharia, desenvolvimento de softwares, entre muitas outras.

Entusiastas da programação acreditam que saber programar deveria ser universal como saber ler, escrever ou fazer uma conta simples. Muitos governos ao redor do planeta também acreditam nisso e já existem iniciativas para ensinar programação para crianças na grade curricular das escolas.

Como nós, eles enxergam na programação a chave para se manter competitivo no mercado global.

Já deu para entender, mas como acontece essa programação toda?

A rotina de uma pessoa que trabalha com programação não é aquele glamour todo que aparece nos filmes e seriados.

Trabalhar com programação exige muita concentração, paciência e iniciativa. Se você não consegue sentar e focar em algo por algumas horas, talvez seja melhor reconsiderar uma carreira em programação de computadores.

Alguns empregos de programação podem pedir que você trabalhe em horários irregulares e que esteja disponível para consertar bugs ou algum outro imprevisto. Outros podem ter horários comerciais comuns também.

Mas, trabalhar como um programador de computadores pode te dar mais liberdade do que o seu trabalho atual te dá. Boa parte dos programadores trabalham remotamente, o que significa que você pode programar de casa, num café, ou enquanto se bronzeia na praia (considerando que tenha wifi nessa praia).

Mas será que programação é mesmo para mim?

Essa é a hora da verdade e é quando você vai ter que pesar na balança os prós e contras de trabalhar com programação. Talvez você tivesse uma ideia irreal do que significa programar e esqueceu de considerar que programação é como qualquer outro trabalho e envolve muita dedicação. Mas, se você sente que se encaixa de alguma forma, tem grandes chances de amar cada segundo disso.

Sinais que programação não é para você:

  • Sua única motivação é ganhar dinheiro e não tem nenhum interesse em computadores
  • Não gosta de sentar e trabalhar por períodos longos
  • Não consegue nem olhar para uma página de código
  • É devagar para digitar e tem que corrigir o que digitou o tempo todo

Sinais que programação é para você:

  • Você se considera uma pessoa analítica e criativa
  • Tem atenção para detalhes
  • Se sente à vontade trabalhando só ou em grupo
  • Entende bem inglês escrito
  • Adora resolver problemas
  • Sempre busca aprender coisas novas
  • Se adapta bem à mudanças
  • Gosta de organizar dados e automatizar processos

Quais linguagens de programação eu escolho e por onde começo?

Vamos voltar ao exemplo da reunião com o empresário chinês.

Mesmo que o inglês seja útil numa situação como essa, você pode descobrir que para diferentes áreas precisa aprender outras línguas. Por exemplo, talvez ache bom aprender francês se for diplomata, grego se estiver na área da filosofia, ou alemão para o campo da engenharia. Dependendo do campo em que trabalha, você vai escolher a língua que atende às suas necessidades.

Você não vai ter tempo ou habilidade para aprender todas as linguagens de programação que existem, então, talvez precise pesquisar para ver quais linguagens aprender. Primeiro, determine qual o seu foco e quais linguagens você precisa saber para conquistar seus objetivos pessoais.

Mesmo não sendo, tecnicamente, linguagens de programação, HTML e CSS são ótimas linguagens para começar e aprender os fundamentos de como a programação funciona. HTML e CSS são “linguagens de marcação de texto” o que significa que são linguagens que usamos para formatar e organizar textos. Sem HTML ou CSS, seu navegador não saberia se essas palavras que eu escrevi são um título, um parágrafo ou um rodapé. Também não saberia se as palavras estão em negrito, itálico, etc.

Mesmo enquanto escrevo este artigo, estou usando HTML e CSS para ajudar você e o navegador entenderem o que tenho para falar.