Se você decidir se tornar uma pessoa desenvolvedora e for perguntar para alguém da área por onde deve começar, a resposta provavelmente será unânime: comece por lógica de programação.
Se for pesquisar na internet, em canais ou perfis de pessoas da área também vai ouvir: comece por lógica de programação.
Mas afinal, como dar os primeiros passos para aprender a programar e sair do zero pra trilhar um caminho nessa carreira que tá cheia de oportunidades por aí e que remunera bem comparada a outras carreiras, além de oferecer ótimos benefícios mesmo para pessoas iniciantes?
Se eu te contasse que é possível aprender lógica de programação de forma descomplicada, você acreditaria? Pois bem, é isso que vou tentar fazer aqui neste artigo, separei alguns tópicos essenciais para pessoas que nunca tiveram contato com programação possam entender quais seriam os primeiros passos. Vamos nessa?
O que é lógica de programação
Lógica de programação é o processo mental de criar instruções para o computador.
Essa é a parte que a gente já começa antes mesmo de colocar a mão no computador.
É a parte de pensar num passo a passo finito e lógico para resolução de um problema.
E saber estruturar a lógica utilizando um fluxograma ou pseudocódigo é um bom caminho de representar sua lógica antes de partir para uma linguagem de programação.
Aquela ajudinha com as palavras novas:
Fluxograma é um desenho pra representar fluxos ou processos, tipo esse aqui da imagem abaixo. Você pode usar o site lucidchart pra aprender a criar seus fluxogramas.
Pseudocódigo é a representação descrita de cada passo que seu código deverá fazer. Ainda não é o código em si, e é escrita num idioma como português. Aqui a carinha de um pseudocódigo, tirei do site visualg3. Que é um programa onde você pode criar suas instruções em Portugol(também conhecido como português estruturado, uma forma de escrever pseudocódigo em português como na imagem abaixo).
A lógica de programação é importante porque vai te ajudar a desenvolver seu raciocínio lógico para organizar as instruções e se preparar para construir suas primeiras linhas de código e além.
É bastante importante começar com exemplos simples desde somar 2 números ou calcular a média, até aprender a criar instruções maiores que resolvem problemas mais complexos.
Portugol x linguagem de programação
Portugol não é uma linguagem de programação, ela é um método que só existe como forma de facilitar o ensino de pseudocódigo em português. Foi criado pelos professores Antonio Carlos Nicolodi (Brasil) e Antonio Mannso (Portugal) nos anos 80.
Um ponto bastante importante de saber desde o dia zero é que também é possível treinar lógica de programação aplicada em uma linguagem de programação. Em vez de passar somente pelo portugol. E foi exatamente o que eu fiz utilizando a linguagem javascript, inclusive criei uma playlist no meu canal pra quem deseja iniciar na lógica de programação aplicada com javascript..
Uma curiosidade legal de entender é que por debaixo dos panos o computador só entende zeros e uns. Mas como é que hoje é possível escrever de uma forma mais próxima da linguagem humana e ele entender?
Tem uma série de documentários bem legal na Netflix que é a “Explicando” No E6T2: Explicando Código de programação eles dizem assim: “Escrever programas em zeros e uns não é escalável. As pessoas queriam mais da potência que escrever códigos oferecia. Mas elas precisavam de uma maneira mais fácil de fazer isso. (…)
Com linguagens que fossem mais próximas da linguagem humana. Por isso criaram as linguagens de programação.”
Por exemplo: C++, Ruby, Java, C, Cobol, Python, Javascript e muitas outras.
No seu comecinho dos estudos não vai adiantar você querer aprender todas elas, vai ser frustrante e vai te desanimar muito nos estudos. Depois de escolher uma linguagem, a primeira coisa a se fazer é entender como aplicar a lógica de programação.
Existem algumas instruções que se repetem a cada linguagem, o que muda é a sintaxe, ou seja a forma de escrever. Mas na maioria das vezes as pecinhas que precisamos juntar pra transformar nossos algoritmos em linhas de códigos são respostas pra essas aqui:
- Como guardar uma informação na memória do computador para utilizar novamente, que são as variáveis
- Quais tipos de dados preciso conhecer nessa linguagem
- Como fazer as operações matemáticas nessa linguagem
- Como faço pra que o computador entenda que eu desejo que ele execute uma ação, um verbo ou seja uma função
- Como faço pra o computador entender que eu quero escrever uma estrutura condicional, onde ele deve tomar decisões diferentes em cada caso informado(os famosos if/else
- Como faço pra um computador repetir alguma instrução uma determinada quantidade de vezes (os famosos laços de repetição)
A gente não precisa decorar a sintaxe de uma linguagem de programação. No início dos estudos a gente vai errar mesmo, eu lembro como eu tinha que pesquisar e anotar cada coisinha, pois eu esquecia toda hora e quebrava muito minha cabeça.
As coisas só vão ficando mais fluídas com a prática diária. Agora, uma coisa importante demais é você entender quais pecinhas usar pra ir montando seu passo a passo lógico pra resolver aquele determinado problema.
Pensamento computacional
A primeira vez que vi o termo Pensamento Computacional foi num curso da Camila Achutti que é uma referência na área de tecnologia, foi onde também soube que o pensamento computacional passou a integrar a Base Nacional Comum Curricular (BNCC) e que deve ser ensinado nas escolas tanto para professores e quanto para pessoas estudantes.
E isso é sensacional, pois o pensamento computacional pode nos ajudar a desenvolver um pensamento lógico(nossa forma de pensar para resolver problemas).
É bem verdade que quando ouvimos a palavra computacional remetemos a algo digital ou que tenha correlação com um computador, mas na verdade diz respeito a nossa forma pensar para resolver problemas. Veja aqui embaixo uma introdução aos 4 pilares do Pensamento Computacional:
- Decomposição: dividir um problema em partes menores.
- Abstração: filtrar informações
- Padrão: reconhecer padrões nas informações
- Algoritmos: criar um passo a passo lógico para resolver o problema
Algoritmos
Você já deve ter escutado o termo algoritmo pelo menos uma vez, seja nas redes sociais, no noticiário, num escândalo, num documentário ou numa roda entre amigas.
Mas o que é um algoritmo? Segundo o livro Algoritmos para viver: a ciência exata das relações humanas: “algoritmo é apenas uma sequência finita de passos que se usa para resolver um problema, e algoritmos são muito mais amplos e muito mais antigos do que o computador.”
Deixa eu tentar ilustrar aqui:
Já parou pra pensar como eram as bibliotecas antes?
Na minha época de escola lá para o ensino médio surgiram os laboratórios de informática, mas antes disso me lembro da gente frequentar bastante a biblioteca com fichinha de papel e busca pelos livros manualmente.
Era um caos, com os sistemas isso foi resolvido de uma forma linda. Hoje em dia, ficou muito mais prático eu usar o google pra buscar sobre qualquer coisa que eu queira estudar.
E com o kindle ter qualquer livro na palma da minha mão de forma online, é muito incrível né? Eu ainda leio muito livro físico, rs, mas pelo menos o processo de compra é fluído graças também à tecnologia.
Eu também sou da época que alugava dvds para assistir a um filme. Agora com os serviços de streaming como Netflix, Disney, Amazon Prime entre outros, olha como isso foi resolvido, uma lista imensa de filmes e séries na palma da minha mão em qualquer lugar por uma assinatura mensal.
Esses e outros são alguns problemas que se repetem ao longo do tempo e por isso existem alguns algoritmos comuns que são usados para ordenar e buscar informações de forma eficiente.
Então se hoje a gente consegue ter informação na palma da nossa mão é graças aos algoritmos. E aprender lógica de programação é o primeiro passo, pra gente se tornar a pessoa que cria esses algoritmos que resolvem problemas reais e complexos.
Primeiro a gente pensa de forma lógica e depois a gente estrutura esse pensamento com um passo a passo que pode ser representado com as ferramentas que você já conheceu aqui nesse post: o pseudocódigo e o fluxograma. Depois a gente transforma isso em linhas de códigos numa linguagem que o computador entenda.
3 Sites para praticar lógica de programação
Pra desenvolver seu pensamento lógico e melhorar sua lógica de programação usando linguagens de programação, você pode treinar em sites de desafios. Vou deixar aqui embaixo 3 deles:
Hackerrank
O Hackerrank é um site usado para combinar empresas e pessoas desenvolvedoras, muitas empresas usam os desafios da plataforma para recrutar pessoas para o seu time. Além dessa parte de serviços para empresas, tem excelentes trilhas e desafios para devs, então é uma boa ferramenta treinar lógica aplicada.
Exercism
O exercism é um site com mais de 3450 exercícios pra você treinar programação. Além disso, eles disponibilizam mentoria com pessoas reais que podem fornecer feedbacks para seus códigos.
Code wars
O Code wars é um site com desafios de códigos criados pela comunidade de pessoas desenvolvedoras que participam. Você pode depois de um tempo criar desafios por lá também.
Minha experiência aprendendo lógica de programação
E pra finalizar, deixa eu te contar como foi comigo nesse momento inicial dos meus estudos. Eu estudei a linguagem Javascript, pois era a linguagem que os cursos que eu participei abordavam. Não foi um período fácil pra mim, pois eu estava vendo uma coisa completamente nova.
Inclusive, demorou bastante pra fazer algum sentido dentro da minha cabeça, nos primeiros cursos entre janeiro e junho de 2019, eu só aceitava os conteúdos que eram passados e reproduzia exemplos e mais exemplos. Do terceiro curso em diante no segundo semestre de 2019, eu já começava dizendo: Ahhhhh, então era isso que aquela determinada aula queria passar…
Outra dificuldade minha era que eu queria pular etapas, eu sou ansiosa gente, quando pegava um exercicio, eu nao queria passar pelo teste de mesa que é uma forma de você exercitar passo a passo de como seu código iria funcionar, eu já queria ir com tudo pra mão no código, sem passar por esse processo de pensar um passo a passo lógico. O resultado disso você já sabe né? Frustração e mais frustração.
Não to querendo dizer que com você vai ser exatamente assim. Afinal, cada pessoa tem o seu tempo e a sua forma de funcionar. Mas uma coisa quase sempre vai ser igual: você precisa praticar muito. Lógica de programação não é dom, é uma habilidade e como outra qualquer você pode aprender se praticar muitão e entender linha a linha do que você está escrevendo.
Ahhh Simara então você já é bruxona na lógica de programação? Genteeee, mais de 3 anos depois e eu ainda pratico muito, principalmente quando vou dar algumas aulas de lógica de programação aplicada pra iniciantes. É realmente como aprender um novo idioma, se não praticar já era.
Conclusão
Eu espero que esse texto tenha te ajudado a desmistificar esse comecinho dos estudos. Me conta nos comentários em qual etapa dos estudos você está! Até o próximo texto! <3