Origem: Wikipédia, a enciclopédia livre.
Programação é o processo de escrita, teste e manutenção de um programa de computador. O programa é escrito em uma linguagem de programação, embora seja possível, com alguma dificuldade, o escrever diretamente em linguagem de máquina. Diferentes partes de um programa podem ser escritas em diferentes linguagens.
Diferentes linguagens de programação funcionam de diferentes modos. Por esse motivo, os programadores podem criar programas muito diferentes para diferentes linguagens; muito embora, teoricamente, a maioria das linguagens possa ser usada para criar qualquer programa.
Há várias décadas se debate se a programação é mais semelhante a uma arte (Donald Knuth), a uma ciência, à matemática (Edsger Dijkstra), à engenharia (David Parnas), ou se é um campo completamente novo.
Índice
- 1Algoritmos
- 2Engenharia de software
- 3História
- 4Lista de linguagens
- 5Aprendizagem da Programação
- 6Ver também
- 7Referências
- 8Ligações externas
Algoritmos
Um algoritmo é uma sequência lógica finita de passos para realizar uma tarefa ou resolver um problema. Em nosso dia a dia utilizamos algoritmos para realizar nossas atividades, definindo a sequência de atividades que devemos fazer para atingir um objetivo. Um exemplo simples é uma receita. Um algoritmo é, num certo sentido, um programa abstrato — dizendo de outra forma, um programa é um algoritmo concretizado. Os programas são visualizados mais facilmente como uma coleção de algoritmos menores combinados de um modo único — da mesma forma que uma casa é construída a partir de componentes.[1]
Dessa forma, um algoritmo é uma descrição passo a passo de como o computador irá executar uma operação específica, como, por exemplo, uma ordenação. Um programa, por outro lado, é uma entidade que na verdade implementa uma ou mais operações de forma que seja útil para as pessoas que o utilizam.[1]
Engenharia de software
A criação de um programa de computador consiste de cinco passos principais:
- Reconhecer a necessidade de um programa para resolver um problema ou fazer alguma coisa
- Planejar o programa e selecionar as ferramentas necessárias para resolver o problema
- Escrever o programa na linguagem de programação escolhida
- Compilação: tradução do código fonte legível pelo homem em código executável pela máquina, o que é feito através de compiladores e outras ferramentas
- Testar o programa para ter a certeza de que funciona; se não, regressar ao passo 3
Estes cinco passos são colectivamente conhecidos como engenharia de software. A programação põe ênfase nos passos 2, 3 e 4. A codificação põe ênfase no passo 3. O termo coder, por vezes usado como sinônimo para programador, pode tornar-se aviltante porque ignora as capacidades necessárias para lidar com os outros quatro passos.
História
Heron de Alexandria no século primeiro inventou teatros automatizados que usavam programação análoga para controlar os fantoches, portas, luzes e efeitos de som.
A mais antiga programadora de computadores que se conhece é Ada Lovelace, filha de Anabella e de Lord Byron (o poeta). Ao serviço do matemático Charles Babbage, traduziu e expandiu uma descrição da sua máquina analítica. Muito embora Babbage nunca tenha completado a construção de nenhuma das suas máquinas, o trabalho que ele e Ada desenvolveram sobre elas, garantiu a Ada o título de primeira programadora de computadores do mundo (veja as notas de Ada Byron sobre a máquina analítica).[2] A linguagem de programação Ada recebeu o seu nome em homenagem à Ada.[3]
Um dos primeiros programadores que se tem notícia de ter completado todos os passos para a computação sem auxílio, incluindo a compilação e o teste, é Wallace J. Eckert. O trabalho deste homem antecede a ascensão das linguagens de computador, porque ele usou a linguagem da matemática para solucionar problemas astronômicos. No entanto, todos os ingredientes estavam lá: ele trabalhou um laboratório de computação para a Universidade de Colúmbia com equipamentos fornecidos pela IBM, completos com uma divisão de serviço de atendimento ao cliente, e consultores de engenharia para propósitos especiais, na cidade de Nova York, na década de 1930, usando cartões perfurados para armazenar os resultados intermediários de seus cálculos, e então formatando os cartões perfurados para controlar a impressão das respostas, igual ao trabalho para os censos décadas antes. Tinha técnicas de debug tais como códigos de cores, bases cruzadas, verificação e duplicação. Uma diferença entre Eckert e os programadores dos dias de hoje é que o exemplo do seu trabalho influenciou o projeto Manhattan. Seu trabalho foi reconhecido por astrônomos do Observatório da Universidade de Yale, Observatório da Universidade de Princeton, Observatório da Marinha dos EUA, Observatório da Faculdade Harvard, Observatório dos estudantes da Universidade da Califórnia, Observatório Ladd da Universidade de Brown e Observatório Sproul da Faculdade de Swarthmore.
Alan Turing é frequentemente encarado como o pai da ciência de computadores e, por afinidade, da programação. Ele foi responsável por ajudar na elaboração e programação de um computador destinado a quebrar o código alemão ENIGMA durante a Segunda Guerra Mundial — ver Máquina Enigma.
Lista de linguagens
Existem várias linguagens de programação; de acordo com o Índice Tiobe, as 20 mais populares são:
- Java
- C
- C++
- Python
- C#
- JavaScript
- Visual Basic .NET
- R
- PHP
- MATLAB
- Swift
- Objective-C
- Assembly
- Perl
- Ruby
- Delphi / Object Pascal
- Go
- Scratch
- PL/SQL
- Visual Basic
Aprendizagem da Programação
A aprendizagem da programação tem enfrentado vários desafios. Por ser de difícil aprendizagem, vários estudos propõe soluções para ajudar no processo de aprendizagem da programação, quer a nível do ensino secundário, quer universitário por diversas razões. De entre as soluções, destacam-se sistemas de apoio[9], uns que permitem que os estudantes visualizem de imediato o resultado do código que vão escrevendo, outros estudos também sugerem o uso de artefatos como a robótica para que os alunos interajam com algo tangível como o robot, melhorando a interação e motivando ao mesmo tempo[]. Foram realizados estudos que provam que o uso da gamificação em contextos de aprendizagem da programação, produziu resultados com sucesso, aumentando o nível de interação dos alunos, bem como a motivação para continuar a aprender.
A Startup Valeon um marketplace da região do Vale do Aço que tem a responsabilidade de levar o cliente até às empresas, lança um desafio aos leitores da Valeon Notícias para se interessarem e aprenderem Programação de Computadores e descubra os motivos pelos quais você deve aprender isso. (https://valedoacoonline.com.br/)
Descubra como que aprender a programar pode impactar a sociedade e o desenvolvimento das pessoas.
“Todo mundo deveria aprender a programar um computador, porque isso ensina você a pensar”. A famosa frase de Steve Jobs sobre aprender programação, ficou conhecida em 2013 pela campanha da Code.org, e resume bem por que aprender a programar é tão importante para a sociedade e para o próprio desenvolvimento das pessoas.
Não é à toa que instituições como a Code incentivam o ensino da ciência da computação desde a infância. Especialistas da área ditam que programação é a nova alfabetização e que as escolas terão esta matéria com regular em suas grades tradicionais, nas próximas décadas.
Mas, “de volta do futuro”, indo para o hoje, quem está começando nesta área, pode esbarrar com alguns desafios durante seu processo de aprendizagem. Essa área de conhecimento é ampla (diversas linguagens) e exige aprendizado constante.
Motivos para aprender a programar
Para te ajudar na compreensão dos primeiros passos dentro da programação, separamos algumas dicas que vão te ajudar a dar o start nessa área que só cresce.
A importância da programação nos dias atuais
A razão mais óbvia para aprender a linguagem dos computadores é estar preparado para o mercado de trabalho, seja para atuar como programador atendendo a uma demanda crescente por este profissional, com salários que vão de 3 mil a quase 9 mil reais, ou áreas relacionadas ao digital.
Os softwares já estão por toda parte e a expectativa para o futuro do trabalho é que a tecnologia esteja ainda mais presente, por meio de chips programáveis, do conceito de Internet das Coisas (IoT) e Inteligência Artificial.
A digitalização e a robotização devem eliminar várias profissões que existem hoje. Segundo a consultoria Ernst & Young, serão pelo menos 10 até 2025. E mesmo as que permanecerem serão profundamente modificadas, pois todas as áreas farão uso de tecnologia. Ou seja, os profissionais que a dominarem se destacarão.
Aprender a programar te ajuda a pensar
Assim como Steve Jobs afirmou, para João Vilhete, professor e pesquisador da Unicamp, ensinar programação é o mesmo que ensinar a pensar.
Ele se dedica há anos à robótica pedagógica, tendo inserido em escolas ambientes de aprendizagem baseados em dispositivos robóticos que permitem a construção do conhecimento nas diferentes áreas das ciências.
Na transição da era da informação para a era do conhecimento, “aprender a aprender” é um diferencial.
O conhecimento passa a ser construído e saber pensar é o caminho para se tornar um autodidata, o que, com certeza, faz toda a diferença, não só na profissão, mas na vida.
Por que é importante aprender a programar?
Programação é a nova alfabetização
Você pode não querer virar um escritor profissional, ainda assim, deve achar essencial aprender a ler e a escrever. Essa deve ser a nova lógica para o aprendizado da linguagem de programação.
Por isso, a disciplina tida como uma das habilidades essenciais do século 21 já é vista como a nova alfabetização ou o novo inglês. Segundo Resnick, em entrevista publicada no Portal Exame, “em um mundo repleto de tecnologia, quem não aprender a programar será programado”.
A falta de letramento digital também é preocupante. Para Ali Partrovi, um dos criados do Code.org, é uma questão de sobrevivência, uma necessidade para continuarmos conectados ao mundo.
“Tudo o que fazemos responde a um algoritmo. É hora de que todos entendam como e por quê”, disse em entrevista ao jornal El País. Ou seja, a programação não é, necessariamente, um fim, mas com certeza é um meio.
Aprenda várias disciplinas ao mesmo tempo
Aprender programação é se desenvolver multidisciplinarmente, já que requer colocar em prática uma série de teorias ensinadas em física, matemática e química, alguns idiomas, como o inglês, além de várias linguagens de programação.
Há até quem chame essa forma específica de raciocinar de “pensamento computacional”, que atribui os fundamentos da computação nas mais diversas áreas do conhecimento, combinando matemática, lógica e algoritmos, em uma nova forma de pensar sobre o mundo.
Ou seja, conhecimento de codificação diz que você é fluente digitalmente. No atual mercado de trabalho, esse é um grande benéfico e diferencial.
Desenvolve a habilidade de resolver problemas
O pensamento computacional traz, inclusive, a metodologia para solucionar problemas, que parte da divisão da questão em uma sequência de partes menores. Afinal, não tem como fugir: tomar decisões e resolver problemas são ações quase que obrigatórias em nossas vidas.
E programar é, no fundo, exatamente isso. O processo de aprendizagem tem mais a ver com o processo de superar problemas do que criar algoritmos complicados. Aliás, a própria definição de algoritmos mostra essa relação, já que eles são uma série de instruções que buscam resolver um problema e gerar um resultado.
É também a busca por soluções que viabiliza a criação de recursos que facilitam o dia a dia das pessoas, como o DropBox, por exemplo, criado a partir do problema de seu criador, Drew Houston, que sempre esquecia o pendrive.
Não é só uma questão de máquinas, nem números, tem a ver com humanidade
É difícil imaginarmos a vida sem uma série de facilidades que a tecnologia nos trouxe. Aprender a programar é ter nas mãos o “poder” de melhorar ou facilitar a vida das pessoas, por meio da criação de softwares e aplicativos que possam resolver problemas reais da sociedade e tornar o mundo um lugar melhor para se viver.
“É a coisa mais próxima que existe de ter superpoderes”, como citou Houston. Nas palavras de Gabe Newell, criador da Valve, “os programadores são os magos do futuro”.
Trabalha a persistência e a capacidade de superação
Se a sensação de criar uma solução que pode estar disponível para bilhões de pessoas é a de superpoderes, o processo criativo, por outro lado, não tem nada de mágico.
Como qualquer habilidade, é preciso muito treino, dedicação e persistência. Antes de chegar à resolução de cada problema, há uma sequência de erros e tentativas, muito mais presentes até que os acertos. E quando você pensa que aprendeu o bastante, percebe que precisa melhorar suas habilidades em programação.
Estimula a criatividade
Para Resnick “programar estimula você a praticar sua criatividade e a desenvolver novas formas de se expressar”. É dar vida às ideias, a universos até então inexistentes, a soluções até então impensáveis.
Como acreditava Albert Einstein, a imaginação é mais importante que o conhecimento. E a programação é um dos meios possíveis de transformá-la em realidade e fazer a diferença no mundo.