Ao longo desses anos, acredito que a galera de 1946, não imaginaria o quão grande iria ser o salto do avanço tecnológico. Contudo, eu particularmente acho uma super contradição, termos esse avanço tecnológico, novos chips com capacidades gigantescas, no entanto, ainda estamos utilizando técnicas de construção de softwares criadas nessa época, estou falando dos famosos paradigmas de programação kkkk. Obviamente estou brincando. Os paradigmas são muito importantes para nossa tomada de decisão, sobre que forma vamos resolver um determinado problema e qual linguagem vamos utilizar para isso.
Podemos simplificar a explicação, falado que um paradigma de programação é um estilo, um modelo, uma metodologia de programação. Mas, para você entender porque existem esses estilos, primeiro você tem que entender como tudo começou…
O primeiro computador do mundo entrou em funcionamento em fevereiro de 1946
O ENIAC, Electronic Numerical Integrator and Computer ou em português computador integrador numérico eletrônico, foi o primeiro computador eletrônico de grande escala. Os responsáveis pelo grande feito foram John Adam Presper Eckert Jr e John Mauchly, da Electronic Control Company.
Desenvolvido a pedido do exército dos Estados Unidos para seu laboratório de pesquisa balística, o ENIAC era um gigante que pesa 30 toneladas e ocupava uma área de 180 m² de área construída. Na época ele custou em torno de US$ 500 mil. Foi bem “caro” para a época kkkk
Programação do primeiro computador do mundo
O processamento de dados do ENIAC era feito através de cartões perfurados manuseados por funcionárias do exército, reconhecidas hoje como as primeiras programadoras da história. Seis mulheres foram chamadas para testar e programar o primeiro computador: Frances Spence, “Betty” Holberton, Jean Bartik, “Kay” McNulty, Marlyn Wescoff e Ruth Lichterman.
Para se ter uma noção da revolução que foi a criação e utilização desse gigante, o ENIAC, em seu tempo de vida, conseguiu realizar mais cálculos do que a humanidade em toda a sua história anterior àquele ponto. Após seu lançamento oficial, em 1946, o ENIAC teve somente dez anos de uso.
Sintetizando um pouco sobre a evolução dos computadores
Na Primeira Geração (1951-1959), os computadores de primeira geração funcionavam através de circuitos e válvulas eletrônicas. Possuíam o uso restrito, além de serem imensos e consumirem muita energia.
Na Segunda Geração (1959-1965), os computadores ainda eram enormes, aqui nessa geração, os computadores já funcionavam por transistores, substituto das válvulas
Já na Terceira Geração (1965-1975), os computadores já tinham evoluído bastante e se tornaram compactos em relação as suas primeiras gerações. Aqui os computadores já funcionavam com circuitos integrados, substituindo os transistores.
Depois da Quarta geração, que contempla 1975 até os dias atuais, literalmente os computadores se tornaram extremamente rápidos e portáteis, graças ao uso dos microprocessadores.
Começo da revolução dos computadores pessoais
Há um ensaio para se falar da Quinta e Sexta geração, mas, não vou entrar nesse detalhe agora. Para fundamentar esse tema desse artigo, até a quarta geração basta. Sabe porquê? Em 1975 dois jovens nerds faziam história fundando a Microsoft. E por volta do ano de 1980 a Microsoft já tinha entrado no ramo de sistemas operacionais (SO), que tecnicamente nos propiciou termos essas infinitas possibilidades de áreas de atuação massivamente em programação. Obviamente já existiam outros sistemas operacionais, tanto que o SO da Microsoft foi baseado no SO Unix. Estou falando da popularização e facilidade de utilização.
Como você pode observar, passamos por várias fases e evoluções dos computadores. Obviamente com isso, se fez necessário mudanças de paradigmas de programação para ir se adaptando às novas realidades.
Quais paradigmas você deve conhecer?
Os principais paradigmas que de programação que você deve conhecer são: Procedural, Funcional e Orientado a Objetos.
Paradigmas de Programação Procedural
A Programação Procedural ou Programação Estruturada, se assemelha aquele script onde falo sobre a receita de um bolo kkkk. Onde vão constar passos em sua estrutura, ou seja, etapas que um programa deve executar. Quando você pensar em Procedural, tenha em mente algo similar a procedimentos. Dentre os procedimentos, temos rotinas, sub-rotinas ou funções. Algumas linguagens de programação procedural, surgiram por volta de 1960.
Você vai ouvir muito em “rodinhas” de bate papo de programadores, sobre as linguagens Fortran, ALGOL, COBOL e BASIC como as principais linguagens procedurais. Além dessas, por volta de 1970, foram publicadas linguagens como Pascal e C, que também fazem uso desse paradigma. Você não precisa necessariamente decorar os nomes dessas linguagens. Foque sua atenção nas características de uma linguagem procedural. Desta forma, quando você ver um código irá identificar na hora que deve se se tratar, por exemplo, de um código Procedural ou Orientado a Objetos.
Paradigmas de Programação Funcional
Como já foi dito, assim como houve a evolução das máquinas, se faz necessário evoluir nossas capacidades de construção de soluções através da programação. Ao longo da etapa de construção e manutenção dos programas, ficamos imersos em um grande volume de linhas de código e arquivos. O que aumenta a possibilidade de repetirmos o mesmo código várias vezes. Aí, imagina que você fez uma parte do programa e espalhou por diversos arquivos, se você precisasse mudar a regra de negócio dessa parte, teria que revisar o programa inteiro em busca de pequenas partes que você repetiu kkkkkk É aí que entra em cena o Paradigma de Programação Funcional. Através de pequenos códigos que tem seu próprio escopo, chamados de funções, é possível encapsular sua regra e reutilizar onde quiser, de modo que se você mudar a sua regra na função, vai refletir automaticamente em todas as partes do programa que utilizar a respectiva função. Dentre as linguagens de programação funcionais mais conhecidas, temos: Lisp, Haskell, Erlang, R, Elixir, R, Scala e JavaScript.
Veja que curioso, por mais que o paradigma funcional pareça ser uma evolução do paradigma funcional, esse paradigma é baseado num modelo computacional bem antigo chamado de Cálculo Lambda. Que foi concebido em 1930 por Alonzo Church e serviu como base para a criação da linguagem de programação LISP, que foi desenvolvida por John McCarthy em 1958.
Paradigmas de Programação Orientada a Objetos
No artigo “Introdução a Programação Orientada a Objetos (POO)” fazemos uma introdução sobre Programação Orientada a Objetos (POO). É imprescindível que você conheça os 4 pilares da Orientação a Objetos. Ok? Vamos dar uma recapitulada básica sobre POO. O termo Programação Orientada a Objetos foi criado por Alan Kay, autor da linguagem de programação Smalltalk. Mas a primeira linguagem a realmente utilizar estas ideias foi a linguagem Simula 67, criada por Ole-Johan Dahl e Kristen Nygaard em 1967. Só que sua popularização só veio décadas depois, por volta de 1990. Algumas linguagens Orientadas a Objetos se destacaram e se destacam até os dias atuais, são elas: Java, C#, C++, Object Pascal (Delphi), Ruby, Python, e Lisp.
Como você pode notar, existem diversas outras linguagens, tanto Orientada a Objetos, quanto Procedural, quanto Funcional. Tem algumas que carregam os 3 principais paradigmas em sua concepção. Então, foque sua atenção as características. Certamente, dependendo do problema que você vai resolver em programação, você vai tender para um desses três paradigmas prioritariamente.
É isso aí! Chegamos ao final de mais um artigo. Não se esqueça: não seja um programador superficial. Entenda as características comuns das linguagens, analise quais problemas elas resolvem e de que forma a resolução de um problema é mais eficiente do que outro. Tenha tudo isso na sua memória, ok? Por falar de memória kkkk esse vai ser o tema do próximo artigo. Vamos conhecer um pouco mais sobre como funciona a memória do computador. Até lá!
Confiança Sempre!!!
Fontes:
https://pt.wikipedia.org/wiki/ENIAC#/media/Ficheiro:ENIAC_Penn1.jpg
https://tecnoblog.net/56910/eniac-primeiro-computador-do-mundo-completa-65-anos/
https://blog.hdstore.com.br/eniac-primeiro-computador-do-mundo/
https://www.hipercultura.com/historia-primeiro-computador/
https://www.todamateria.com.br/historia-e-evolucao-dos-computadores/
https://medium.com/@amarcoscrf/evolu%C3%A7%C3%A3o-dos-computadores-3b54c5a116bd
https://www.oficinadanet.com.br/post/14463-qual-a-diferenca-entre-programacao-estruturada-e-programacao-orientada-a-objetos
Seja o primeiro a comentar