Se requerirán lenguajes de programación ligeramente nuevos cuando las computadoras cuánticas hagan su aparición. Sin embargo, no estoy de acuerdo con las otras respuestas en términos de cuán diferentes serán estos nuevos idiomas. Los lenguajes de programación cuántica se parecerán mucho a los lenguajes de programación modernos .
El semestre pasado, hice un proyecto con un grupo que estaba trabajando hacia computadoras cuánticas programables a través de:
- QASM: un lenguaje ensamblador cuántico
- Andamio: un lenguaje de programación tipo C que tiene soporte especial para puertas cuánticas
- y ScaffCC, un compilador basado en LLVM que compila de Scaffold a QASM
Los siguientes fragmentos de código ilustran cómo se ven los códigos QASM y Scaffold:
De un vistazo, puede pensar que se trata de C o algún lenguaje de bajo nivel. Y esencialmente lo es, solo con soporte para operaciones como las puertas Hadamard / CNOT y los tipos de datos que encapsulan para qubits.
- ¿Qué debo aprender sobre matemáticas y física antes de aprender computación cuántica o información cuántica?
- ¿Cuál es su valoración de la combinación de Everett de Lev Vaidman con el formalismo vectorial simétrico de dos estados de la mecánica cuántica?
- ¿Cómo puedo invertir en computación cuántica?
- Si la partícula cuántica existe en múltiples estados cuando no se observa, ¿la posesión de un solo estado por parte de los objetos es verdadera porque estamos siendo observados?
- ¿Cómo se asigna el aprendizaje automático a las operaciones de computación cuántica?
El compilador tiene algunas características especiales para la computación cuántica específica:
Pero al final del día, el código de ensamblaje QASM final es solo una lista de instrucciones que debe seguir una computadora cuántica. Aplique este cambio físico aquí, elimine esta área con un pulso de microondas, enfríe esta región, elimine nuevamente el área anterior, etc.
En resumen, los lenguajes de programación existentes solo necesitarán algunas bibliotecas nuevas para admitir puertas cuánticas y almacenamiento, ¡y eso debería ser suficiente! También existen otros lenguajes de programación cuántica, como QCL: http://tph.tuwien.ac.at/~oemer/q…
Para leer más, recomiendo consultar Page en princeton.edu, ftp://ftp.cs.princeton.edu/techr… y Page en princeton.edu.