Tudo o que você está vendo na tela do seu computador teve que ser programado, desde o sistema operacional até está página da web. Todo tipo de software precisa ter passado por um processo de programação para existir, pois é nesse processo que o programador informa as tarefas que o hardware (computador) terá que realizar para apresentar o resultado esperado na tela de vídeo, é neste processo que ele informa a linguagem de programação que será interpretada pelo computador como linguagem de máquina.
Não vamos entrar em muitos detalhes sobre como funciona a tradução que o computador faz dos dados informados porque o nosso foco é a historia da programação, não é mesmo?
A primeira programadora?
Em primeiro lugar vamos debater sobre um certo "preconceito" que existe hoje em dia quanto as programadoras mulheres, que muitas vezes se recusam a estudar o assunto mesmo que se interessem por ele por terem poucas mulheres no ramo ou porque sofrem um certo preconceitos dos programadores homens.
Ada Lovelace
Para acabar com todo e qualquer argumento precipitado, devemos lembrar que a primeira pessoa considerada um programador foi uma mulher, mais precisamente Ada Lovelace, pois ela foi a primeira a criar um algoritmo que poderia ser processado por uma maquina, e esta foi a chamada Maquina Analítica de Charles Babbage.
No algoritmo proposto por Ada, a máquina seria capaz de calcular sequencias de Bernoulli, e este é considerado por muitos historiadores e programadores como o primeiro programa criado na história. Curiosamente a máquina analítica de Babbage é considerada também como o ponto de partida para os computadores que conhecemos atualmente.
No vídeo abaixo você pode ver a maquina de Babbage em funcionamento.
O tecelão programador
A quem não goste muito da ideia de Ada ser a primeira programadora pelo fato de alguns anos antes Joseph-Marie Jacquard ter criado o primeiro tear mecânico, que a partir de furos em cartões realizava movimentos e criava desenhos em tecidos que fabricava, ou seja, cada cartão representava um desenho que era designado pela sequencia de furos do mesmo.
Joseph-Marie Jacquard
O grande trabalho do tecelão de ter que trocar os fios constantemente nos desenhos tecidos foi poupado pela máquina, que selecionava o fio correto a ser usado de acordo com a lógica desenvolvida por Jacquard, tal lógica pode ser considerada um algoritmo, pois continha um passo a passo a ser seguido pela máquina ao selecionar cada cor de fio e consequentemente pode ser considerado um programa. Muito inteligente, não?
Hollerith e o censo de 1890
Herman Hollerith (que mais tarde se tornaria um dos fundadores da IBM) trabalhava na coleta de dados para o censo americano de 1890 quando percebeu que o que estava fazendo acabaria se tornando uma completa perda de tempo na hora da contagem dos dados obtidos, pois todos eram anotados e posteriormente teriam que ser contados um a um de forma robusta e muito demorada. Imagine ter que contar diversos dados de milhões de americanos a mão. Devia ser uma tortura!
Herman Hollerith
Inspirado no tear de Jacquad, que usava cartões perfurados para operar o seu tear, Hollerith resolveu criar um padrão que seria capaz de armazenar resultados em uma máquina de acordo com os furos em um cartão de papel, o que lhe pouparia muito tempo. Para se ter uma ideia, o censo demorava no mínimo três anos para ter seus dados apresentados, com a máquina de Hollerith esse tempo foi reduzido a um ano.
O surgimento dos computadores elétricos
Quando os computadores surgiram, a sua programação não era nem um pouco fácil, programas por assembly era frustrante e também muito fácil de se encontrar erros, com o tempo a programação base foi sendo simplificada com a ajuda da criação de outras linguagens que resumiam o amontoado de números binários que eram encontrados no começo, algumas das principais foram a FORTRAN, a COBOL, a BASIC e posteriormente estas evoluíram, criando novos níveis.
As linguagens que mais conhecemos, e que estudamos nas universidades hoje, são as chamadas linguagens de alto nível, como C, C++, Pascal, Java, PHP, Python e etc. Estas linguagens reúnem e simplificam a linguagem de máquina, que dependendo de sua sintaxe fazem determinadas ações só por comandos que geralmente são palavras em inglês simplificadas, como o printf (que vem de "print formatted") da linguagem C++, onde você insere uma mensagem na tela para o usuário.
A importância das linguagens de programação
Não há duvidas que os programas e hardwares que usamos são extremamente úteis, e tudo isso graças a programação, que pode ser chamada de "processo de criação do software", que da vida aos aparelhos que usamos e que tornam as nossas vidas mais simples, por isso, quando for usar algum software para resolver algum problema aí ou simplesmente quando você ir jogar algum game que goste muito, não esqueça de agradecer aos três mestres que citamos acima, pois foram eles que geraram a ideia que serviu de base para a programação atual.