Fernando Henrique Oliveira Abreu
João Paulo Domingues dos Santos
É do saber de todo curioso em Tecnologia da Informação que hoje em dia um desenvolvedor de software necessita das mais variadas habilidades em computação, dos paradigmas de programação em linguagens de alto nível às particularidades das instruções executadas em baixo nível. Contudo, pesquisas recentes em Computação Quântica, como as desenvolvidas no NIST – National Institute of Standards and Technology, mostram que estas competências desejáveis devem mudar substancialmente.
A computação clássica utiliza-se do sistema binário para realizar operações com sequências de informações lógicas conhecidas por bits, onde cada bit pode assumir o valor 0 ou 1. Informalmente, na Computação Quântica a unidade básica de armazenamento de dados são os qubits, que podem assumir estados lógicos como os bits, porém simultaneamente, ou seja, uma mesma unidade básica de armazenamento pode conter 0 e 1 ao mesmo tempo. Isto se deve ao fenômeno de sobreposição, oriundo da mecânica quântica, onde admite-se que uma partícula pode estar em dois lugares ao mesmo tempo (a quem interessar este assunto, recomendamos uma leitura sobre o paradoxo do Gato de Schrödinger). Sem pormenores, a capacidade de um qubit assumir mais estados do que o bit tradicional dos computadores clássicos amplia exponencialmente a capacidade dos processadores quânticos, como ilustra a Tabela 1.