Pages Menu
TwitterRssFacebook
Categories Menu

A partícula elementar da programação

por em 09/08/2019 em Ciência, Notícias | Nenhum comentário

A partícula elementar da programação

Por algum tempo o átomo foi considerado a partícula indivisível da matéria. Porém, com o avanço tecnológico, descobriu-se que os átomos são divididos em prótons, nêutrons e elétrons, e que estes também são formados por partículas mais elementares [1,2]. Possivelmente venhamos a descobrir partículas ainda mais elementares.

Agora imagine se conhecêssemos a partícula mais elementar de todas? E, mais do que isso, imagina se pudéssemos manipular esta partícula como quiséssemos? O que seríamos capazes de criar? Consegue imaginar o poder deste advento? O que poderia ser feito ao manipular com exatidão essas partículas que dão origem a tudo?

Nascido na década de 80, cresci deslumbrado com o avanço computacional, em especial os vídeo games (um dos meus lazeres favoritos). Lembro do primeiro computador que meu pai levou pra casa, era um IBM PC, tinha uma tela verde e jogávamos um jogo chamado digger [3,4]. Nesta época eu não fazia ideia de como funcionava aquela máquina mágica de diversão. Acompanhei outras gerações de computadores surgindo, novos jogos eletrônicos mais complexos, indo do 2D para o 3D. O Winning Eleven [5] na locadora do bairro parecia a coisa digital mais real que eu já tinha visto. Então, aos 17 anos de idade, algo mudou significativamente minha forma de ver a tecnologia. Eu entrei num curso técnico de informática e descobri o bit, a partícula elementar.

O código binário

O Bit – ou código binário – é a “partícula elementar” ou o “átomo” de toda a tecnologia digital que temos hoje. Essa partícula é ridiculamente simples. É apenas uma informação com dois estados possíveis (0 ou 1), sendo a menor quantidade de informação na Informática. Simples. Ou é zero ou é um. Ou é ligado ou é desligado. Ou é vivo ou é morto. Apenas duas combinações possíveis. Mas como pode 0 ou 1 se tornar um jogo de videogame complexo ou então sua rede social favorita? Como pode 0 ou 1 se tornar um filme da Marvel ou um episódio do Scicast? O segredo está na combinação de possibilidades de zeros e uns e no significado que damos para esses zeros e uns juntos. Por exemplo, digamos que eu queira representar uma imagem e essa terá apenas duas cores, preto e branco. Como podemos representar de forma binária? Podemos assumir que o branco será zero, e o preto será um. Depois só precisamos de uma matriz de zeros e uns e conseguimos montar desenhos com isso. Na imagem da casa a seguir, podemos claramente ver onde tem pontos brancos e pontos pretos. Facilmente entendemos como representar essa imagem entre zeros e uns. Cada ponto presente na imagem é o que chamamos de pixel.

Da mesma forma que um conjunto de bits pode representar uma imagem, pode também representar qualquer outra informação que desejarmos. Uma música é um conjunto de diferentes frequências e que, se montarmos uma escala de suas possíveis frequências, podemos digitalizá-la, ou seja, transformá-la em dígitos ou códigos binários. Uma imagem é um conjunto de pixels, em que cada pixel pode ser uma cor. Um filme é um conjunto de imagens passadas de forma que para nós pareça um movimento. Agora pensem no que é possível se fizermos essas representações interagirem entre si.

Por meio de diferentes dispositivos de entrada de dados, podemos dar uma experiência de interação entre humano e computador, fazendo com que essas representações binárias tenham um maior sentido. O primeiro computador criado, o ENIAC, foi desenvolvido para fazer cálculos de projéteis para guerra e ocupava área de 180m2 [7]. À medida que novas tecnologias foram sendo criadas, foi possível a diminuição do tamanho dos computadores, possibilitando o surgimento dos microcomputadores e tornando essas tecnologias acessíveis às pessoas comuns (como eu e você), fazendo parte do nosso cotidiano. Essas máquinas permitem-nos manipular as representações binárias, antes mencionadas, através de programas que são conjuntos de instruções dadas para que o computador execute funções específicas. Chamamos tais instruções de algoritmos, que são basicamente uma descrição de diversas atividades que queremos que um computador execute.

Vamos programar um pouco?

Você já fez um algoritmo na vida? Provavelmente já, nas atividades do dia-a-dia, pois qualquer sequência de instruções que damos é uma espécie de algoritmo. Por exemplo quando explicamos como alguém faz para chegar em tal lugar: ande 3 quadras pra frente, vire à esquerda, ande mais 2 quadras, e à direita você vai encontrar o shopping. Isso é um algoritmo.

Deixa eu tentar mostrar um pouco mais sobre isso na prática. Vamos brincar de criar algoritmos? Trago uma tarefa de um curso de programação disponível no site code.org.

Na imagem acima nosso objetivo é fazer o Red(pássaro vermelho) cheguar até o porco. Cada quadrado podemos considerar como uma casa ou um passo que o Red tem que andar. No caso o Red está a 3 casas de distância do porco e tem um TNT no meio do caminho que, caso o Red passe por cima, irá explodir. As opções de movimento que temos disponíveis são: mover para frente (F), girar para a esquerda (E) e girar para a direita (D). Conseguem pensar nos movimentos necessários?

Resposta: F – E – F – D – F

            Não basta apenas eu dizer para o pássaro RED pegar o porco. Quando estamos programando algoritmos, temos que descrever cada detalhe do movimento. Mova para frente, depois vire à esquerda, etc. Além disso, se formos nos aprofundar mais, teríamos antes que programar o que é um movimento para frente, e o que é um movimento de giro. Um movimento para frente seria identificar para qual lado o pássaro Red está olhando, e mover ele uma casa para o lado que ele está olhando e assim por diante para cada movimento desejado.

A vida na era da informação

Os computadores e a Tecnologia da Informação mudaram para sempre a história da nossa sociedade, a forma como interagimos e também a forma como fazemos as coisas. Tarefas que antes eram totalmente manuais podem agora ser feitas por programas criados para fazer por nós. Relações sociais agora são feitas de forma digital. Por exemplo o dinheiro que antes necessitava de espécie física (ouro, moedas ou papel-moeda) agora em diversos bancos são apenas bits que representam uma quantidade de dinheiro que temos. Grande parte do dinheiro que circula hoje não chega nunca a se tornar dinheiro físico [9].

Estamos na era da informação. A tecnologia acaba por definir a maioria dos processos que ocorrem em nossa sociedade. Acredito que a criatividade é um dos elementos fundamentais nesse processo em constante mudança. Um caso interessante é o de algumas pessoas que tiveram a ideia de criar uma enciclopédia digital, atualizada em tempo real, que qualquer pessoa pudesse contribuir com informações, e que fosse acessível gratuitamente a qualquer pessoa. Assim surgiu a wikipedia [10] no ano de 2001. Conforme estudo [11] realizado em 2011, a Wikipedia demonstra confiança similar a de outras enciclopédias. Mas, me diz uma coisa. Quando foi a última vez que você pesquisou algo em uma enciclopédia? E quando foi a última vez que você abriu a Wikipedia?

Quando comecei a programar me senti poderoso podendo criar o que eu quisesse. Entender como funcionavam aqueles joguinhos que eu sempre joguei foi fascinante. Poder criar algoritmos para tarefas repetitivas foi libertador. Depois de trabalhar alguns anos com desenvolvimento e análise de sistemas, me dei conta que o principal trabalho nesta área é identificar comportamentos humanos ou sociais e tentar de alguma forma sintetizar isso em representações. Trabalho este que me lembra muito a área das artes, uma vez que essa sintetização cria uma nova forma de interação humana com experiências inovadoras que moldam e modificam diariamente a vida das pessoas e da sociedade.

Acredito que todos deveriam aprender a programar, seja criança, adulto ou idoso (há movimentos para ensino de programação desde a infância como cadeiras do ensino fundamental). A programação estimula abstração e raciocínio lógico [12]. Considerando que a utilização do computador já é parte da vida de quase todas as pessoas, convido você a aprender programação e viver esta experiência intelectual de abstração e controle. Uma forma fácil e gratuita é pelo site https://code.org/, uma iniciativa que promove oportunidade de aprendizado de programação a todas as pessoas do mundo de forma divertida.

Um abraço digital a você que leu até aqui.

Referências

  1. https://pt.wikipedia.org/wiki/Part%C3%ADcula_elementar
  2. https://www.deviante.com.br/podcasts/scicast-275/
  3. https://en.wikipedia.org/wiki/Digger_(video_game)
  4. http://www.futrega.org/digger/
  5. https://pt.wikipedia.org/wiki/Winning_Eleven_3
  6. https://ecee.colorado.edu/~mathys/ecen1200/bits/bits2006_2pp.pdf
  7. Pioneer Programmer: Jean Jennings Bartik and the Computer that Changed the World – Truman State University Press, Kirksville, Missouri, USA – 2013 (https://books.google.com.br/books?id=St6VAwAAQBAJ&pg=PR12&dq=ENIAC+foi+criada+em+1946&hl=pt-BR&sa=X&ved=0ahUKEwiQxtyFqrrXAhUMG5AKHZUEAc0Q6AEIXDAJ#v=onepage&q=ENIAC%20foi%20criada%20em%201946&f=false)
  8. https://studio.code.org/s/course4/stage/2/puzzle/1
  9. Crash! – Uma Breve História da Economia – Da Grécia Antiga ao Século XXI. Alexandre Versignassi – ISBN: 9788580442595
  10. https://pt.wikipedia.org/wiki/Hist%C3%B3ria_da_Wikip%C3%A9dia
  11. https://upload.wikimedia.org/wikipedia/commons/2/29/EPIC_Oxford_report.pdf
  12. http://www.ufrgs.br/secom/ciencia/o-pensamento-computacional-no-ensino-fundamental/

 


Leroi Oliveira.Pai de duas lindas crianças. Sempre disposto a entrar em uma discussão filosófica ou polêmica. Mestre em Computação pela UFPel, gosta de games, música, acampar, trilhas, montanhas e viajar.

Modo Noturno