Como aprender a programar

mm

Ramos de Souza Janones

Janones, é um empreendedor brasileiro apaixonado por empreendedorismo e tecnologia. Ao longo dos anos trabalhando com o desenvolvimento de softwares desktop desde a linguagem Clipper, passando pelo Delphi e atualmente com Java.

Optou pela formação de Publicidade e Marketing por sua segunda empresa de tecnologia ter participado do "boom" da internet nos anos 90 e na procura de melhorar seus conhecimentos em negócios.

Em razão da principal formação e profundos conhecimentos em programação e banco de dados, é capaz de realizar o desenvolvimento de aplicativos web, desktop e mobile com maior criatividade e inovação que profissionais de desenvolvimento com uma formação única e mais especifica, dedicada somente ao desenvolvimento de softwares.

Com toda sua experiência com empresas de software, sua formação e paixão por negócios escreveu o livro "Marketing para Empresas e Profissionais de Software", publicado pela editora carioca Ciência Moderna em 2012. Além de outros livros sobre programação.
mm

Sempre recebo e-mails, contatos e outras formas sobre como aprender a programar. Seja para conseguir um emprego, como hobby, freelancer ou para criar uma startup. 

Resolvi escrever este artigo para tentar responder a esta questão e sei que poderá ser muito polêmico. Mas vamos lá!

  1. Qual a linguagem de programação escolher?

A programação de computadores é composta essencialmente de um conjunto de instruções escritas que o computador segue. Elas podem ser escritas em diversas “linguagens”, que na verdade são apenas maneiras diferentes de organizar as instruções e o texto. Diferentes linguagens costumam ser usadas para criar diferentes tipos de programas, então escolha uma que você ache que seja relevante para aquilo que deseja fazer. Você sempre pode aprender mais delas depois.

Hoje no mercado a linguagem de programação mais popular é o Javascript. Recomendo a começar por ela. Vamos aos motivos?

  1. É a base para quem quer desenvolver para a Web e atualmente para Mobile. Isso mesmo, para mobile também. O Visual Studio Community para ter uma ideia foi desenvolvido utilizando o JavaScript. Grandes players do mercado vem adotando o JavaScript: o Android com o Kotrin, o Facebook com o ReactJS e até mesmo a Embarcadero do Delphi está utilizando o JavaScript hoje como alternativa para aplicações móveis. 
  2. Os Frameworks para desenvolvimento Web e Mobile estão cada vez melhores e comunicam entre sí, dando maior poder não apenas na criação de interfaces criativas e amigáveis, mas de facilidade em desenvolvimento. Diversas startups procuram pro profissionais com estes conhecimentos.
  3. São multiplataformas. 
  4. Curva de aprendizado curto.

Mas indo além do Javascript, ai já não são mais linguagens de programação propriamente ditas, o HTML5 e o CSS que são complementares e andam juntos. 

Antes de continuar é preciso fazer uma observação: hoje as empresas contratam dois tipos de profissionais: o desenvolvedor front-end e o backend. 

O desenvolvedor front-end é responsável por tudo aquilo que o usuário vê na tela e realiza as interações. E o desenvolvedor backend é aquele responsável por aquilo que há por trás de toda aplicação e, que muitas vezes, não são vistas pelos usuários. Isso de uma forma bastante resumida. Mas as empresas dão maior valor para desenvolvedores que são front-end e back-end. Por isso apenas Javascript, HTML5 e CSS, em conjunto com seus frameworks não são suficientes. Mas se for para começar a aprender a programar, siga esta linha primeiro. Para ir avançando depois. 

Uma vez aprendido o Javascript, com o HTML5 e CSS, é hora de partir para um Framework. Que no caso de Javascript, recomendo começar com o AngularJs ou o ReactJs que são os mais populares e mais buscados no mercado e que são base para o Ionic Framework, por exemplo, que é o meu favorito no desenvolvimento de aplicações Mobile e que se comunica muito bem com o ReactJs. 

Pronto. Aprendi o JavaScript, o HTML5 e CSS e já sei utilizar Framework e agora? Quero ser um desenvolvedor Back-End

Ótimo. O primeiro passo já foi dado. Excelente. Chegou a hora de aprofundar ainda mais. Você já é capaz de criar páginas dinâmicas na web e até fazer aplicativos móveis. E com a ajuda de um desenvolvedor back-end, fazer CRUD em suas aplicações. Agora é hora de se livrar da ajuda de um desenvolvedor back-end e se tornar um programador completo. 

Aqui há uma gama de linguagens e frameworks também. Mas além disto,ainda há banco de dados onde temos os SGDBs e os NoSQL. Que antes de iniciar qualquer linguagem nova, você deve aprender a modelar seus bancos de dados de forma correta. Aqui indico a aprender dois tipos: o MySQL, por ser o mais popular na Web e o MongoDB ou o MariaDB por serem mais novos e terem um tempo de resposta e consumo de memória em servidores web, menores que o MySQL. Porém, como você está iniciando: comece pelo MySQL por ser o mais popular e ter um legado muito grande em aplicativos open-source e, consequentemente, nas empresas. Saber modelar um banco de dados, conhecer o SQL é o básico, antes de iniciar o conhecimento de uma nova linguagem de programação Back-end. 

Qual linguagem backend aprender?

Diferente da linguagem de frontend que já indiquei o Javascript, esta parte dependerá muito de seus objetivos. Posso indicar o PHP que é uma linguagem excelente, possui um grande legado. O Python que é poderoso. o Ruby. o C# e tantas outras. 

Aqui você deve pensar o que você quer na vida sendo programador. Se quer emprego ou serviços fáceis de serem conseguidos, parta para o PHP. Se quer ir mais além: cientista de dados, certificação de segurança, IoT, vá para o Python. Quer um salário maior, vá para o Ruby ou o Java (este último mais focado em produtos da Oracle, como o ERP deles, sinceramente não acho uma boa linguagem para quem está começando e os bons salários estão na prestação de serviços no ERP da Oracle). 

Seja qual for uma destas linguagens que seguir, todas possuem seus Frameworks: o PHP possui hoje o Laravel, o Python o Django, o Ruby o Ruby on Rails. Mas vá aos frameworks apenas depois de aprender a linguagem, só assim você se tornará um bom programador. 

Como aprender?

Eu aconselho cursos. Separei algumas plataformas que possuem cursos gratuitos, são elas:

1. Microsoft Virtual Academy
Este é um serviço voltado para os interessados em criar produtos para o Windows. O serviço está disponível em língua portuguesa. Acesse a Virtual Academy em https://mva.microsoft.com/.

2. Code.org
Também disponível em português, o Code.org é uma iniciativa que mostra a importância do ensino de programação para crianças. Até por isso, é voltado para alunos a partir dos quatro anos de idade. Há materiais relacionados a filmes e jogos como Star Wars, Frozen e Flappy Bird. Mais informações em https://studio.code.org/.

3. Coursera
Um dos cursos da plataforma de educação é o Ciência da Computação 101. Ele tem uma introdução em português, mas o curso em si é em inglês e liderado por um professor da Universidade de Stanford (EUA). Confira-o em https://www.coursera.org/course/cs101.

4. CodeAcademy
Este é uma das plataformas de ensino de programação mais usadas no mundo. Infelizmente só está disponível em inglês, entretanto. A CodeAcademy tem cursos sobre linguagens como HTML, CSS, JavaScript, JQuery, PHP, Python e Ruby. Mais informações em https://www.codecademy.com/.

5. EdX
Esta plataforma foi criada pela Universidade de Harvard e pelo MIT. Há 60 cursos diferentes. O mais voltado para programadores iniciantes é este aqui: https://www.edx.org/course/introduction-computer-science-harvardx-cs50x#.VNYLwvnF_0c.

6. Code Avengers
A plataforma da Nova Zelândia está disponível em português europeu. O Code Avengers tem uma interface bonita e é focado no desenvolvimento de jogos, aplicativos e sites. Saiba mais em https://www.codeavengers.com/.

7. Khan Academy
Criada em 2006, a Khan Academy é pioneira no ensino gratuito de programação. A Academy tem vídeos didáticos sobre as várias etapas da programação de jogos e animações. Saiba mais em https://www.khanacademy.org/.

Conclusão

Vá com calma em seus estudos. Comece com algo divertido, que lhe motive a resolver problemas, melhorando suas habilidades na resolução de problemas lógicos. Saber a sintaxe é imprescindível. Você pode aplicá-la do seu jeito. Estude alguns programas de exemplo para começar a codificar por conta própria. É aquela velha máxima: é aprendendo com um exemplo e com outro que no final você estará criando seus códigos sem mais precisar copiar de ninguém. Curta a jornada. 

Compartilhe.

PinIt
Top
%d blogueiros gostam disto: