28 de ago de 2018

Como aprender a programar? Especialistas explicam como escolher sua primeira linguagem

Udacity Brasil

Se há uma habilidade que pode ser recomendada de maneira relativamente universal hoje em dia é programação. As três principais habilidades listadas pelo LinkedIn como top skills em 2018, por exemplo, são relacionadas à programação. E o mercado brasileiro de TI ainda sofre com a falta de profissionais qualificados, indicando que trata-se de uma boa área para trabalhar.

E vale destacar que aprender a programar não é apenas para quem quer ser profissional: serve para qualquer pessoa que queira afiar seu perfil analítico, trabalhar de maneira mais orientada a dados e desenvolver seu raciocínio lógico.

Mesmo assim, muita gente ainda hesita em aprender a programar. Isso se deve a diferentes fatores. Alguns ainda acreditam que se trata de algo muito difícil, que só quem tem um “dom” consegue aprender. Outros creem que exige uma dedicação em tempo integral, como uma faculdade ou um curso técnico presencial.

Mas há também quem só não começou ainda por não saber ao certo como aprender a programar e por qual linguagem começar. Embora a resposta à pergunta “qual linguagem de programação aprender primeiro?” dependa um pouco do que você pretende fazer, há algumas opções que podem ser recomendadas de maneira mais geral – até mesmo para crianças!

Assista ao webinar: Como (e por que) aprender programação

Programação também é coisa de criança

Matheus Leite é coordenador técnico-pedagógico da Supergeeks, uma escola que ensina programação para alunos a partir de 5 anos de idade. Os únicos requisitos são que as crianças já sejam alfabetizadas e estejam no segundo ano do ensino fundamental.

Esses alunos mais novos começam a aprender com um recurso da Google chamado Blockly. Trata-se de uma interface visual que permite que o aluno entenda os principais pontos da lógica de programação.

“Programação nada mais é do que um passo a passo. É uma receita para chegar a algum lugar. Você descreve tudo que quer fazer e, com isso, chega no seu resultado”, diz Matheus. Para facilitar o aprendizado, os professores buscam abordar a programação de uma perspectiva mais lúdica, incluindo o uso de jogos.

“Os alunos em geral já curtem Roblox e Minecraft, então a gente tenta usufruir disso”, conta ele. Embora o Blockly seja uma ferramenta ainda bem simples, é fácil imaginar uma relação entre os loops de programação do Blockly e as “receitas” para criar materiais no Minecraft, por exemplo.

Uma vez que os alunos têm um entendimento firme dos princípios da lógica, passam então para outras linguagens. Não há uma ordem rígida, mas as que costumam aparecer primeiro são GML (Game Maker Language) e Python, com Ruby e C# vindo na sequência.

A GML é uma linguagem voltada para jogos e, como muitos dos alunos já se interessam por games, acaba sendo um bom ponto de partida. A Python, por sua vez, é destacada por ser uma linguagem “bem simples e extremamente poderosa”.

A simplicidade da Python vem, segundo Matheus, do fato de que ela não exige a declaração dos tipos das variáveis e não demanda o uso de ponto-e-vírgula, por exemplo. Com isso, torna-se uma linguagem com menos “burocracia”, nas palavras dele.

Instrutor da Udacity explica o que é, de fato, programação

Ela só não é a primeira linguagem a ser apresentada por um motivo que tem pouco a ver com complexidade. “Nessa idade, os alunos têm ainda muita dificuldade com digitação. Então com linguagens escritas, como a Python, a aula fica muito travada”, conta Matheus.

Conforme os alunos aprendem a usar os ambientes de desenvolvimento integrado (IDEs), no entanto, isso deixa de ser um problema.

A simplicidade de Python não significa que não seja possível realizar projetos impressionantes com ela, que inclusive é a base de muitos algoritmos de machine learning.

Matheus conta de um aluno, com idade entre 10 e 13 anos, que tinha um pai programador. Após começar a aprender Python, buscou sozinho tutoriais na internet e começou a criar sua própria inteligência artificial.

“Era um chatbotzinho que ia respondendo às perguntas que você fazia. Claro que, por ter um pai programador, ele teve um pouco mais de recursos – mas o aluno buscou [conhecimento] por conta própria e chegou onde chegou”, conta.

As primeiras linguagens de programação

Fernanda Moya, coordenadora dos cursos Nanodegree de Introdução à Programação e desenvolvimento mobile da Udacity (que inclui Android Basics, Desenvolvimento Android e iOS), também considera a Python uma linguagem recomendável para quem está começando.

De fato, trata-se da primeira linguagem de programação que aparece no Nanodegree Introdução à Programação.

“Quando você vai escrever ‘enquanto essa variável não for X’, por exemplo, você escreve praticamente isso em inglês. É bem simples, quase como se você só escrevesse o que está pensando”, comenta.

Antes de chegar à Python, os alunos do Nanodegree também passam por HTML e CSS, linguagens usadas para criar e estilizar sites da internet. Mas Fernanda ressalta que elas são linguagens de marcação, e não de programação – ambas não têm comandos de lógica, o que caracteriza a programação em si.

Mesmo assim, Fernanda considera que essas linguagens de marcação podem ser bons pontos de partida para quem ainda não tem nenhum contato com a área e não sabe como começar a aprender programação. São ainda mais simples do que Python e, como muitas pessoas querem aprender a programar para conseguir fazer o próprio site, trazem essa vantagem.

Essa combinação, na visão de Fernanda, “permite usar a criatividade e não apresenta tanta dificuldade”. Além disso, ela também ajuda a entender melhor como funcionam as páginas da web que visitam todos os dias. “Isso acaba motivando o aluno”, considera.

Conheça os cursos da Udacity para iniciantes e aprenda a programar!

Programando rumo aos seus objetivos

De acordo com Fernanda, as pergunta mais importantes na hora de escolher qual linguagem de programação aprender são:

O que você quer fazer com esse conhecimento? Em que tipo de projetos você pretende aplicar programação?

No caso de pessoas que querem criar um site, por exemplo, ela recomenda aprender HTML, CSS e JavaScript. Essa última é uma linguagem de programação muito utilizada para certos recursos de sites e para programação front-end, então também é útil para quem tem esse objetivo.

A já citada Python, por sua vez, é muito recomendada para automatizar tarefas. Há muitos processos repetitivos que podem ser automatizados por meio dela, então se você já teve a sensação de que poderia automatizar parte do seu trabalho para ganhar produtividade, pode ser muito interessante.

Quem se interessa por projetos relacionados a dados pode começar com Python também, ou ainda aprender SQL, uma linguagem muito usada em bancos de dados. A Udacity tem uma “trilha” de carreira de cientista de dados que começa ensinando SQL e Python e apresenta outras linguagens. “Dessa maneira, o aluno já consegue ver por onde se interessa e ir atrás”, diz Fernanda.

Quem quer criar aplicativos também pode se dedicar às linguagens usadas em cada plataforma: Java, no caso do Android, e Swift, no caso do iOS. Quem quiser criar apps para Android também pode acessar o Android Studio, o ambiente de desenvolvimento de apps da Google, e ir se acostumando com a plataforma.

Leia: Esta advogada trocou o direito pelo desenvolvimento front-end

Amadurecendo na programação

Na Supergeeks, os alunos mais adiantados chegam a usar C#, uma linguagem de nível mais baixo. Ser de “nível mais baixo” não é ruim: significa que ela dá mais flexibilidade e controle aos programadores mas, por outro lado, exige também mais conhecimento, visto que seus comandos não são tão próximos do dia a dia.

A escolha da C# por lá e motivada pelo fato de que a Unity, uma plataforma muito usada para desenvolvimento de games – e parceira do Nanodegree Desenvolvedor Realidade Virtual –, usa scripts dessa linguagem para funcionar. E como muitos dos alunos de lá se interessam por jogos, faz sentido apresentá-la depois de firmar a base.

Fernanda também recomenda as linguagens C e C++ como um segundo passo, para quem já tem algum conhecimento em programação. “São linguagens de nível mais baixo, mais usadas para interação com hardware ou com sistemas antigos”, explica.

Leia: Ada Lovelace: quem foi a primeira programadora da história?

Manter a motivação para programar

Conforme o processo de aprendizado avança, o aluno recebe os primeiros resultados e isso tem dois benefícios. Primeiro, desperta sua atenção para outras linguagens ou áreas pelas quais ele pode se interessar. E segundo, serve como motivador para que ele continue aprendendo.

Em algumas unidades da Supergeeks, realiza-se uma “mostra de games” ao final de cada semestre, onde alunos demonstram os jogos que desenvolveram. “É muito gratificante você ver um aluno de 9 ou 10 anos te entregando um jogo que ele mesmo fez”, conta.

Fernanda ressalta que o perfil de pessoas que buscam cursos de programação e desenvolvimento é cada vez mais diverso.

Em termos de áreas de atuação, há pessoas do direito, recursos humanos e biologia se interessando pelo assunto, por exemplo. Quando o assunto é idade, a variedade é igualmente grande. Há desde alunos jovens até estudantes com mais de 60 anos aprendendo a programar.

Ela recomenda que as pessoas foquem em seus objetivos e mantenham-se sempre praticando o que já aprenderam e atentos às novidades. Assim, numa prática constante, fica mais fácil acompanhar as novidades sem se intimidar pela velocidade das mudanças.

“E está cada dia mais fácil aprender”, finaliza a programadora.

Leia: Qual linguagem de programação aprender? Este infográfico mostra

5 passos para se tornar um programador

1. Defina um objetivo

Saber como aprender a programar e escolher sua primeira linguagem vai ser muito mais fácil uma vez que você souber o que pretende fazer com ela. Em vez de se perguntar “que linguagem devo aprender?”, pergunte-se: “por que quero aprender a programar? O que penso em fazer com esse conhecimento?”.

2. Busque uma linguagem adequada aos seus objetivos

Quer aprender a criar sites? Você vai precisar de HTML, CSS e JavaScript. Quer criar programas e automatizar tarefas? Python é uma boa escolha. Pensa em trabalhar com dados? Além de Python, SQL pode ajudar. Interessado em desenvolver apps? Procure por Java ou Kotlin (se for para Android) ou Swift (iOS).

3. Faça projetos para consolidar o que aprendeu

Estudar com livros e vídeos é importante, mas criar algo com o que você está aprendendo é uma maneira excelente de fixar esse conteúdo. Esse processo é capaz de mostrar rapidamente em quais pontos você pode melhorar e quais desafios encontrará no mercado.

4. Vá atrás de mais recursos

Se você começar a se sentir muito confortável com o que sabe, busque logo expandir seu conhecimento. A internet é cheia de recursos para isso, desde sites de desafios de programação e fóruns de conversa até cursos online de novas linguagens.

5. Crie um portfólio

Conforme seu conhecimento permitir novas criações, junte-as e catalogue-as em um portfólio, que pode ser publicado gratuitamente num repositório como o GitHub. Ali você pode mostrar o que já consegue fazer e aumenta as suas chances de transformar todo aquele seu estudo em vantagens profissionais.

Leia também:

Sobre o autor
Udacity Brasil

A Udacity, conhecida como a "Universidade do Vale do Silício", é uma plataforma online e global que conecta educação e mercado para ensinar as habilidades do futuro – de data science e marketing digital à inteligência artificial e desenvolvimento. Hoje, há mais de 7 mil alunos ativos no país e 50 mil pelo mundo.