27 de ago de 2018

O que é programação? O primeiro passo para iniciantes

Udacity Brasil

Os computadores estão em toda parte: no trabalho, estudo e vida cotidiana. Dispositivos inteligentes como tablets, smartphones, relógios e televisores conectados já são parte fundamental das nossas vidas e muitas vezes dependemos deles para uma completa execução de nossas atividades – mas nem todo mundo sabe o que é a programação que os faz funcionar.

Neste artigo, esclarecemos como esses dispositivos são programados, como funcionam os programas, sites e aplicativos que usamos, o que é um algoritmo, o que é uma linguagem de programação e como você pode entrar nesse universo.

O que você vai aprender neste artigo:

O que é programação de computadores

Você com certeza já deve ter se perguntado como os programas de computador, sites e aplicativos de celulares são feitos: eles utilizam uma técnica chamada programação de computadores que consiste em escrever instruções numa linguagem específica para que o computador as leia e interprete, gerando assim programas executáveis como os conhecemos.

A Wikipedia é sucinta e precisa em sua definição: programação é o processo de escrita, teste e manutenção de um programa de computador.

Lendo assim, parece um pouco mágico. Mas ao longo deste artigo vamos explicar melhor o que é, como acontece e como você pode aprender a escrever seus próprios programas.

O vídeo da Udacity abaixo, que faz parte do curso gratuito Introdução à Ciência da Computação, oferece uma boa explicação geral sobre o que é programação de computadores:

Como a programação é utilizada

No momento em que você liga seu computador, vários algoritmos começam a ser executados (se você se perguntou o que é um algoritmo, essa palavra vai ser explicada na próxima seção) e a programação começa a estar presente.

Enquanto você lê esse artigo, seu navegador está executando códigos que tornam possível tudo o que temos na internet. Com a popularização dos computadores e todos os dispositivos inteligentes que temos hoje – só smartphones já superam os 2 bilhões –, a programação está em todo lugar: em nossos celulares, relógios, televisores e nos cada vez mais comuns carros autônomos e outros objetos relacionados a Internet das Coisas.

E onde a programação é utilizada especificamente?

1. Aplicativos

Atualmente, aplicativos de celulares são um uso bastante comum. Profissionalmente, depois de aprender os fundamentos da programação, você pode muito bem se especializar em desenvolvimento móvel – este é um mercado que cresce exponencialmente e no qual podemos ver grande empresas e startups como Uber, WhatsApp e Waze.

Atualmente temos as plataformas Android e iOS como as mais populares no mundo de aplicativos. Neste post você pode entender um pouco mais sobre as diferenças entre elas.

Leia ainda:

2. Jogos

A programação também está por trás dos jogos em consoles como o PlayStation ou XBOX, online ou em aplicativos e mesmo realidade virtual que tem recebido bastante atenção da indústria nos últimos anos.

Para saber mais:

3. Sistemas web

Os sistemas web são bastante populares, visto que são tudo que vemos na internet. E vão desde plataformas como Google e Facebook, conhecidas no mundo inteiro, até as pequenas empresas que costumam ter sites próprios para divulgação dos seus trabalhos.

Para saber mais sobre sistemas web:

4. Dispositivos Inteligentes

Como falamos anteriormente, temos hoje diversos dispositivos conectados à internet. Desde celulares a televisores, câmeras, carros etc.

Leia mais:

O que são algoritmos?

Um algoritmo nada mais é do que um procedimento passo a passo para resolver um problema ou realizar algum objetivo. A definição mais usada para definir algoritmos é que funcionam como receitas culinárias, onde você tem toda a sequência de ações necessárias para atingir o resultado esperado.

Algoritmos são comumente usados também na matemática, onde também temos uma sequência de passos bem definidos para que o problema seja resolvido. Podemos resumir dizendo que algoritmo é uma sequência finita de instruções bem definidas e não ambíguas, pois se o mesmo for executado várias vezes ele deve gerar o mesmo resultado.

Muitas vezes não percebemos o quanto esse conceito está difundido no nosso dia a dia. Imagine como seria um algoritmo para atravessar a rua:

Passo 1: Caminhe até a faixa de pedestres mais próxima

Passo 2: Se na faixa tiver um sinal de trânsito: a - Espere até o sinal de trânsito acender a luz vermelha

Passo 3: Se na faixa NÃO tiver um sinal de trânsito: a - Espere até o fluxo de carros diminuir ou eles pararem

Passo 4: Atravesse a rua caminhando em cima da faixa de pedestres

Não é simples? Em nosso dia a dia com certeza usamos centenas de algoritmos para realizar nossas ações. Muitas vezes é só uma sequência de passos, outras vezes envolve algumas decisões, como no caso acima, em que temos um comportamento diferente – se na faixa de pedestres tem um sinal de trânsito ou não, por exemplo – mas perceba que, para os casos previstos, estão definidas as ações. E independente de quão grande o algoritmo possa ser, ele sempre precisa ter um fim.

O que são linguagens de programação?

Agora que você já entendeu o que é algoritmo, vamos explicar o que é uma linguagem de programação. Vimos que, para programar computadores, precisamos escrever instruções numa linguagem específica para que o computador as leia e interprete.

Podemos definir linguagens de programação como um método padronizado e estruturado para comunicar instruções para um computador. Assim como as linguagens escritas e faladas, elas também têm suas regras sintáticas e semânticas para que o computador entenda, sem dúvidas na interpretação, quais as operações que desejamos fazer.

Quando escrevemos um algoritmo utilizando uma linguagem de programação, é como se estivéssemos traduzindo o que queremos executar para uma linguagem que o computador consegue entender.

Rafaela Cavalcante conta o que aprendeu depois do Nanodegree Introdução à Programação

Curiosidade: Conheça Ada Lovelace, a primeira programadora da história dos computadores

Principais linguagens de programação

Atualmente temos diversas linguagens de programação disponíveis. Muitas vezes elas têm um propósito definido e outras vezes são mais genéricas.

Por exemplo: quando pensamos na internet, temos aquelas que são mais usadas no momento, como Python, JavaScript e por aí vai. E quando estamos desenvolvendo programas para celulares, temos que nos adequar aos seus sistemas operacionais. Se for Android, temos que usar Java ou Kotlin, pois são as que funcionam ali. No caso do iOS da Apple, seria Swift ou Objective-C.

E como em qualquer área profissional, essa é sujeita às tendências e inovação. Uma empresa chamada Tiobe especializou-se em saber quais são quando o assunto é programação: todos os meses ela disponibiliza uma pesquisa, Tiobe Index, mostrando as 20 linguagens de programação mais populares em termos de uso. Esse artigo também fala sobre aquelas que são mais usadas no Brasil e no mundo.

Com o assunto tão em voga, muitas são as pesquisas sobre qual seria a melhor linguagem de programação para iniciantes. Diversas referências apontam para o Python, recomendado por ser uma linguagem de fácil leitura e entendimento e possuir muitas bibliotecas – que funcionam como extensões de suas funcionalidades – e ferramentas que podem acelerar o aprendizado.

Você pode consultar vários artigos que falam sobre isso sob diversos pontos de vista. O infográfico abaixo traz ótimas sugestões sobre qual linguagem aprender levando em consideração seu conhecimento prévio e as áreas em que você se identifica:

Como aprender programação

Abaixo falaremos mais sobre livros e cursos que podem ser bastante úteis no aprendizados. De antemão, podemos citar algumas dicas para melhorar seu aprendizado:

1. Dividir para conquistar

Muitas vezes queremos fazer coisas grandes e complexas em nossos programas e nos frustramos quando não conseguimos. A técnica de "dividir para conquistar" ensina que devemos dividir grandes problemas em problemas menores para que possamos resolvê-los aos poucos.

Por exemplo: digamos que você deseja programar uma calculadora como seu primeiro programa de computador. Comece fazendo uma calculadora que apenas soma. Num segundo momento, faça com que sua calculadora também saiba subtrair e assim por diante.

Perceba que, deste modo, você rapidamente terá uma calculadora, embora ela tenha apenas uma ou função. Aos poucos, ela vai evoluir e no fim terá todas as funções que você deseja – funcionando!

2. Tenha um plano de estudos

Antes de começar a estudar e consumir os (muitos) materiais, livros, posts e vídeos sobre o assunto, trace seu plano de estudos. Você pode fazer isso pesquisando sobre os tópicos você precisa aprender, os termos mais citados, capítulos de livros ou cursos que possam ser úteis.

O importante é que você saiba onde quer chegar e qual caminho seguirá. Defina metas alcançáveis e coloque a mão na massa desenvolvendo um projeto prático.

Se esse projeto for de alguma forma ter utilidade para você no futuro, melhor ainda! Com certeza você ficará mais motivado em seguir em frente se já tiver uma aplicação ou um prazo em mente. Cuidado apenas com o tamanho desse projeto: seja realista e cresça aos poucos.

3. Busque mentoria e apoio

É fácil se perder na grande quantidade de informações, artigos e tutoriais presentes na internet e buscar mentoria significa ter ajuda para se organizar e inclusive para traçar o seu plano de estudos. Converse com alguém que já saiba programar e peça sua ajuda quando precisar.

4. Identifique seu jeito de aprender

Algumas pessoas preferem livros, outras preferem vídeo aulas, grupos de estudo, cursos online ou offline e etc. O que é ideal para cada pessoa pode variar muito então, identifique em que categoria você se encaixa para buscar os materiais e apoio certos para seu aprendizado.

Daniel Melo, graduado da Udacity, fala sobre seu aprendizado e programação

Livros de programação

São muitos os livros disponíveis para estudo nessa área. Neste primeiro momento é muito útil termos um livro introdutório que explique conceitos de lógica de programação e que além disso utilize em seus exemplos a mesma linguagem que você está querendo aprender.

Estes livros ultrapassam a barreira de apenas explicar o que é programação. Eles aprofundam a explicação sobre algoritmos, lógica de programação e apresentam várias técnicas e exercícios práticos.

Os livros abaixo, por exemplo, são muito úteis no aprendizado de programação com Python, uma das linguagens em alta no momento principalmente por sua conexão com data science e machine learning:

Introdução à Programação com Python, por Nilo Ney Coutinho Menezes

Voltado para iniciantes, este livro traz os conceitos básicos de programação e inclui exemplos e exercícios, explicados de maneira didática e individual.

Introdução a Algoritmos e Programação com Python, por Raul Wazlawick

Aprenda sobre pensamento algorítmico desde os princípios e sobre a sintaxe limpa e concisa de Python. Também voltado para iniciantes no assunto.

Cursos de programação

Os cursos de programação são uma ótima opção para aquelas pessoas que preferem um caminho bem definido e onde você pode ter o auxílio de professores, cronogramas e trocas de experiência com seus colegas.

A Udacity tem diversos cursos online gratuitos que podem ser encontrados aqui. Abaixo, destacamos alguns úteis para alguém que está no início de sua jornada de aprendizado em programação:

Introdução à Ciência da Computação

  • Duração estimada: 12 semanas
  • Idioma: inglês e português
  • O que você vai aprender: aprenda Python e aplique os conceitos fundamentais da ciência da computação através da construção de um motor de busca e de uma rede social.

Fundamentos de JavaScript

  • Tempo estimado: 4 semanas
  • Idioma: inglês e português
  • O que você vai aprender: tipos de dados e variáveis, condicionais, arrays, funções, objetos, DOM e eventos do navegador, entre outros conceitos fundamentais.

Fundamentos da Programação com Python

  • Tempo estimado: 6 semanas
  • Idiomas: inglês e português
  • O que você vai aprender: noções introdutórias sobre programação orientada a objetos. Além de conceitos essenciais, você também aprende a reutilizar e compartilhar códigos e fortalecer seu conhecimento com um miniprojeto prático em cada lição.

Nanodegree Introdução à Programação

Outra opção é aprender com um curso online estruturado, focado em aprendizados por projetos e que tem mentores e revisores especialistas no assunto para auxiliá-lo individualmente em seu desenvolvimento.

O Nanodegree Introdução a Programação une tudo isso, com o benefício adicional de apresentar um pouco sobre diversas facetas da programação ao ensinar conceitos de HTML, CSS e Python e as diferenças entre programação front-end, back-end, iOS, Android e para análise de dados.

Ainda em dúvida sobre aprender a programar?

Pensando se aprender a programar realmente faz sentido profissionalmente? O vídeo abaixo fala um pouco mais sobre como aprender a programar computadores pode mudar sua carreira e sua vida:

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.