Qual linguagem de programação é adequada para iniciantes?

12

Entendo que existem muitas linguagens de programação (por exemplo, Q #, Qiskit, etc.)

Qual é adequado para alguém que acabou de começar a aprender programação e não sabe nada sobre mecânica quântica?

Daniel Mana
fonte

Respostas:

7

Os próprios idiomas são essencialmente os mesmos para um novo usuário. Todos eles implementam o mesmo conjunto básico de operações quânticas, que foram usadas pelos pesquisadores nas últimas décadas.

Se você acabou de começar a programar, o fator mais relevante para você pode ser a linguagem na qual o SDK quântico está escrito. Eles estão principalmente em Python, mas o QISKit também possui variantes Swift e Java. Q # é integrado ao Visual Studio.

Além disso, existem diferenças em coisas como

  • materiais tutoriais
  • os simuladores ou dispositivos quânticos reais em que seus programas serão executados
  • aplicativos de alto nível que não requerem conhecimento quântico.

Sou muito tendencioso no que recomendo (e, portanto, espero que outros tendenciosos em direções diferentes também respondam à sua pergunta), mas eu diria que dar uma olhada no blog do QISKit pode ser um bom começo. Aqui estão alguns dos meus artigos

James Wootton
fonte
5

Depende dos idiomas com os quais você terá mais afinidade.

Qiskit, pyQuil, etc, estão em Python, que é uma linguagem de programação fácil de entender geralmente com muitas bibliotecas úteis. Eles fornecem documentações / tutoriais para que qualquer iniciante inicie a computação quântica. Escrever códigos pode ser feito em poucas linhas.

Q # está em C #. Eu não tentei, mas se você começou a aprender programação com foco em C ou C ++ (e assim por diante), acho que deveria se sentir confortável com esse.

Para aprender, eu recomendaria ler o livro Computação Quântica e Informações Quânticas da Nielsen e Chuang ou Computação Quântica para Cientistas da Computação de Yanofsky e Mannucci; se você pode ter acesso a eles e, em paralelo, observe algum código na plataforma de sua escolha. Mas é sempre uma boa idéia combinar diferentes fontes e explicações para entender melhor.

cnada
fonte
2
Sinceramente, não acho que Mike & Ike seja um bom livro para iniciantes. Introduz muito rápido demais. Outros livros como Quantum Computing for Computer Scientists ou Quantum Computer Science: An Introduction são muito melhores na IMO. Mike e Ike são bons quando você tem conhecimento prático de computação quântica e deseja aprofundá-la.
ahelwer 10/09/18
@ahelwer Este é um comentário relevante. A computação quântica para cientistas da computação tem de fato muitos exemplos numéricos. Servirá melhor para um iniciante.
cnada
4

Eu concordo com a resposta de James Wootton. A escolha do idioma se torna importante quando você trabalha em um projeto maior no qual deseja confiar em bibliotecas, estimativas de recursos e outros recursos avançados. Quando você está começando a aprender o básico da computação quântica e da programação quântica, seus programas serão muito pequenos e realmente não serão tão diferentes em diferentes idiomas.

Presumo que você esteja estudando algum livro / curso sobre a teoria da computação quântica. Nesse caso, há duas coisas que você definitivamente desejará da linguagem de programação:

  • um bom conjunto de tutoriais / exercícios de programação introdutórios para ajudá-lo a internalizar a teoria que aprendeu.
  • um simulador de estado quântico que permitirá que você veja o estado dos qubits à medida que o programa é executado.

Minha recomendação (tendenciosa em direção diferente, como James sugeriu :-)) é dar uma olhada no Q #:

  • Quantum Katas são tutoriais de programação individualizados, projetados para acompanhar um curso de teoria da computação quântica. Cada tutorial consiste em um conjunto de exercícios para você resolver e um equipamento de teste nos bastidores que verifica se seu código está correto, fornecendo feedback imediato. Os tutoriais existentes abrangem um bom conjunto de tópicos introdutórios e estamos trabalhando na criação de mais tutoriais.
  • O simulador de estado completo incluído no Quantum Development Kit permite despejar o estado do sistema como uma lista de amplitudes, para que você possa usá-lo sempre que quiser verificar se o estado do sistema corresponde à sua compreensão / expectativa ou para descobrir o que deu errado.
Mariia Mykhailova
fonte