O que é programação? O que é um algoritmo? Qual linguagem de programação devo aprender primeiro? Se você está começando na área de tecnologia e está louca para responder todas essas perguntas, esse post é para você. Quer aprender a programar mas não sabe por onde começar? Então vamos lá!
O que é programação?
Programar nada mais é do que escrever instruções para o computador em uma linguagem que ele entenda. Como o computador não fala nossa língua, é preciso entender a língua dele para poder instruí-lo no que queremos que ele execute.
A CPU (Unidade Central de Processamento) ou seja, o que chamamos de processador é o componente do computador que executa as instruções que pedimos. Os sistemas que utilizamos hoje em dia são todos binários, ou seja são compostos de 0 (zero) ou 1 (um). O processador tem sua linguagem própria chamada ASSEMBLY que traduz suas instruções para operações com zeros e uns. O problema é que essa linguagem não é facilmente entendida por humanos.
A evolução da computação trouxe as linguagens de programação para facilitar essa comunicação humano-máquina. Quer dizer que os processadores atuais conseguem entender as novas linguagens de programação? Não exatamente, existe um tradutor chamado compilador.
O compilador traduz a linguagem de programação que usamos (Python, Javascript, etc) e transforma em linguagem de máquina, ou seja em instruções que o processador entende.
As linguagens de programação possuem um conjunto de regras, chamadas sintaxe que definem como certas instruções precisam ser escritas para que o compilador as traduza em linguagem de máquina. Pense em português, espanhol, inglês e em suas diferentes regras de gramática, é uma analogia bastante próxima.
Você deve estar se perguntando por que existem tantas linguagens de programação? Isto ocorre pois cada linguagem tenta suprir uma deficiência ou auxiliar o programador a executar uma atividade mais facilmente. As linguagens modernas estão mais próximas da linguagem humana e é por isso que agora é um ótimo momento para você começar neste mundo!
O que é um algoritmo?
Um algoritmo é uma sequencia de instruções simples que tem como objetivo obter um resultado. É basicamente uma receita. Imagina que você quer encontrar sua mãe na estação de metro, mas que ela não saiba o caminho, você pode escrever um algoritmo para ela da seguinte forma:
- Saindo do prédio, vire à esquerda
- Ande 3 quadras
- Vire à direita
- Ande 4 quadras
- Vire à esquerda
- Ande 1 quadra e avistará a estação
Nós executamos diversos algoritmos em nosso dia-a-dia. Qualquer sequencia de passos que pode ser repetida é um algoritmo. Comece a perceber quantas tarefas diárias você executa sempre da mesma forma. Seu café da manhã é sempre igual? Você faz o mesmo caminho para o trabalho ou escola todos os dias?
Quem dera se pudéssemos instruir o computador a executar todas essas tarefas repetidas para nós, não é mesmo? O mundo mudou mas ainda não está perfeito, conseguimos delegar a preparação do café para uma máquina, mas ela não sabe fazer tudo, você ainda precisa garantir que ela esteja abastecida com água e com pó.
As máquinas e computadores são excelente em executar tarefas repetidas, mas elas precisam ser simples. Por esse motivo, se sua mãe fosse um robô e você precisasse ensinar para ela como ir até a estação, você precisaria ser um pouco mais explícito nas instruções, primeiramente ele precisa saber como sair do apartamento, imagine que ele está no hall do elevador:
- Aperte o botão descer
- Aguarde o elevador chegar
- Abra a porta do elevador
- Entre
- Aperte o botão térreo
Percebe como ele tem muito menos informação contextual sobre as coisas? O robô/computador sabe executar tarefas simples.
O que é lógica de programação?
Lógica de programação se refere à construção do algoritmo, em como descrevemos a sequência de passos. Pensado no exemplo da estação de metrô, existem várias soluções, é possível chegar à estação por vários caminhos, como também é possível dar instruções que não chegam ao lugar esperado. A lógica determina a eficiência (o quão rápido você recebe o resultado) e a exatidão da resposta.
Programar é a arte de criar algoritmos que o computador entenda. Nós executamos pequenas tarefas (algoritmos) todos os dias, então não deve ser tão difícil assim programar, não é verdade? Se você consegue passar instruções para uma pessoa executar uma tarefa para você, conseguirá também aprender a instruir o computador.
Linguagens de Programação
E então por qual linguagem devo começar? Se você quer uma dica de imediato não se preocupe tanto com a linguagem, a lógica e o entendimento é o mais importante neste primeiro momento. Assim que tiver os conceitos bem sólidos, você será capaz de aprender outra linguagem com muita facilidade. Não é tão difícil como inglês e alemão que você precisa de 5 anos para ficar fluente, quando você estiver bastante fluente em uma linguagem de programação, aprender outra é questão de 1 a 3 meses.
Sugiro que seus primeiros passos em programação sejam focados em lógica para ser capaz de resolver problemas e criar algoritmos. Será importante você já iniciar desde logo a escrever algoritmos em alguma linguagem de sua preferência por isso preparei aqui uma lista das top 5 linguagem mais populares segundo o Githut:
Rank | Linguagem |
#1 | Javascript |
#2 | Python |
#3 | Java |
#4 | Go |
#5 | C++ |
Javascript aparece como a linguagem mais utilizada e isso se deve ao fato de que Javascript é a linguagem da internet e praticamente todos os sistemas hoje são feitos na web.
Sugiro que você escolha uma das top 3 linguagens do mercado por que além de ter uma grande comunidade que vai poder te ajudar a aprender, essas linguagens também são as linguagens mais utilizadas pelas empresas no mundo todo. Eu particularmente gosto muito de Python para quem está começando por sua simplicidade e facilidade de leitura.
Quais linguagens mais requisitadas no mercado de trabalho?
Uma ideia é fazer uma pesquisa nas vagas abertas no LinkedIn:
- Vagas de Programador no Brasil
- Vagas de Programador Jr. no Rio de Janeiro
- Vagas de Estagiário em São Paulo
Uma dica: as melhores empresas são aquelas que não exigem uma linguagem de programação específica. As boas empresas entendem que um bom programador é capaz de aprender outra linguagem em pouco tempo. Para vagas de estágio em especial, o mais importante é ter bons conhecimentos de lógica e estruturas de dados se a empresa está pedindo 1 ano de experiência na linguagem X para uma vaga de estágio, esta vaga provavelmente não é de estágio e sim de Junior então fique atenta à isso.
Outra dica: não pense que você precisa preencher todos os requisitos da vaga para aplicar. Muitas vezes os requisitos estão aí para dar um norte ao candidato. Se você entende que você preenche alguns dos requisitos isto pode ser suficiente para o recrutador, pois eu te garanto que o fit cultural seu com a empresa é muito mais importante do que os conhecimentos puramente técnicos.
Por que aprender a programar em Python?
Eu considero Python a linguagem perfeita para quem está começando. É simples, fácil de ler e muito mais “humana” que outras linguagens. O que quero dizer com isto é que os comandos se assemelham com a linguagem humana, como se você estivesse dando instruções em inglês. Esta característica torna o Python mais fácil de entender e mais fácil memorizar.
Já que seus primeiros passos serão focados em lógica, você precisa de uma linguagem que não “te atrapalhe”. Vou dar um exemplo: na linguagem C você precisa colocar um ponto e vírgula “;” ao final de todas as linhas de código. Se esquecer deste detalhe o código não vai funcionar e você pode demorar alguns minutos até entender o que há de errado.
Além disto, como vimos, Python é uma das linguagens mais utilizadas hoje em dia o que pode abrir portas para você no futuro.
É possível aprender a programar sozinho?
Sim, é possível ser autodidata e aprender programação sozinho apenas consumindo conteúdos como livros, vídeos e cursos online. Há uma infinidade de cursos e materiais que te ajudam nos primeiros passos.
Eu considero a aprendizagem de lógica de programação o primeiro e mais importante passo para quem está começando. Por isto criei uma série de conteúdo que te auxilia nesta jornada: aprenda a progamar do zero. Este conteúdo te ensina o básico de lógica de programação utilizando a linguagem Python.
Espero poder ter ajudado você nestes primeiros passos. Se você tem interesse em saber quanto ganha um programador, dê uma olhada em Quanto ganha um programador ao redor do mundo?(Atualizado 2022)