.

Un científico en el centro de computación Q de IBM en Yorktown Heights, Nueva York (EE. UU.). El centro alberga uno de los ordenadores cuánticos más avanzados de IBM. IBM RESEARCH | FLICKR

Computación

La computación cuántica busca los nuevos lenguajes que la programarán en un futuro

1

A pesar de que las computadoras cuánticas todavía tienen pocas aplicaciones aprovechables, los desarrolladores ya se han puesto en marcha para crear nuevos lenguajes de programación para esta tecnología. Microsoft ya ha lanzado el suyo propio, con el que espera abrir la puerta a futuros programadores que trabajarán en el sector cuántico. 

  • por Martin Giles | traducido por Maximiliano Corredor
  • 03 Enero, 2018

Las computadoras cuánticas todavía son bastante básicas y la mayoría son utilizadas como intrigantes juguetes en los laboratorios de investigación avanzada. Esto podría cambiar gracias a los nuevos lenguajes de programación que algunos expertos han empezado a desarrollar.

El más reciente proviene de Microsoft, que ha presentado su nuevo lenguaje Q# (pronunciado "Q sharp", haciendo referencia al popular lenguaje de programación C# de la compañía) junto a un conjunto de herramientas que ayudan a los desarrolladores a usarlo para crear software. Éste se suma a QCL y Quipper, los otros lenguajes de programación cuántica de alto nivel más conocidos.

Ahora bien, si prácticamente nadie tiene una computadora cuántica, ¿para qué sirven estos lenguajes de programación?

La gerente principal de investigación en computación cuántica en Microsoft, Krysta Svore, afirma que estos nuevos lenguajes son necesarios para sustituir a los que están escritos para los ordenadores actuales, que no funcionarán en las futuras computadoras cuánticas, ya que las computadoras clásicas codifican la información en forma binaria, con secuencias de unos y ceros, mientras que las computadoras cuánticas usan bits cuánticos, o "cúbits" (ver Los ordenadores cuánticos con cúbits atómicos podrían superar a los superconductores), que pueden codificar uno y cero al mismo tiempo.

Esto genera una gran cantidad de potencia de procesamiento paralelo y es el principal motivo por el que hay tanto interés en conseguir ordenadores cuánticos funcionales que ayuden a impulsar avances significativos en campos que van desde la ciencia de los materiales hasta la inteligencia artificial (ver Una 'start-up' utiliza la computación cuántica para impulsar el aprendizaje automático). Para explotar completamente ese poder o incluso encontrar los límites del mismo, los desarrolladores necesitarán estos lenguajes cuánticos para crear software que aproveche al máximo las capacidades de las computadoras.

Además, la complejidad del hardware cuántico hace imprescindible la existencia de lenguajes de programación de alto nivel que liberen a los desarrolladores de tener que entender cómo funciona exactamente un ordenador cuántico, al igual que ocurre en los lenguajes de programación para los ordenadores que utilizamos actualmente, que no requieren una comprensión profunda de cómo es la unidad central de procesamiento o CPU.   

Otra de las peculiaridades de la computación cuántica es que tiene limitaciones que no existen en los lenguajes de programación clásicos. Por ejemplo, los programas cuánticos no pueden tener bucles que repitan una secuencia de instrucciones, sino que tienen que ejecutarse linealmente hasta su finalización. Para lidiar con estos problemas, Q# se combina con un par de lenguajes clásicos. Los desarrolladores sin experiencia cuántica pueden escribir así sus programas principales en lenguajes que ya conocen y luego usar un programa Q# cuando deseen involucrar el poder de procesamiento cuántico.

Aunque aún no posee una computadora cuántica propia, Microsoft ha lanzado varios simuladores que permiten a los desarrolladores probar programas escritos en Q# en ordenadores de sobremesa o en su servicio de computación en la nube Azure. IBM también ofrece simuladores y algunos desarrolladores afortunados pueden, incluso, ejecutar su código directamente en su máquina cuántica.

El experto en lenguaje de programación cuántica de la Universidad de Maryland, Xiaodi Wu, considera que los nuevos lenguajes cuánticos de alto nivel son el siguiente paso lógico. "Esto abrirá la puerta a que más personas usen estas máquinas", asegura, "lo que podría conducir a nuevos campos de investigación para la comunidad cuántica".

Ya se han realizado algunos llamamientos para crear nuevos lenguajes cuánticos de código abierto para que la comunidad de desarrolladores en general pueda ofrecer su aportación. El objetivo es darle a la computación cuántica el mismo tipo de impulso que el desarrollo de Linux le dio a internet.

Los desarrolladores de lenguajes de programación también tienen otro objetivo: los estudiantes que piensan en futuras carreras. Estos nuevos lenguajes que podrían hacer la informática cuántica más accesible deberían atraer a más personas al sector. "Queremos desarrollar la mano de obra cuántica", afirma Svore, "porque la informática cuántica abrirá una economía completamente nueva y vamos a necesitar personas que sean programadores cuánticos, desarrolladores de algoritmos e ingenieros".

Computación

Las máquinas cada vez más potentes están acelerando los avances científicos, los negocios y la vida.

  1. ‘Chiplets’: el arma de China en su batalla tecnológica contra EE UU

    Al conectar varios chips menos avanzados en uno, las empresas chinas podrían eludir las sanciones impuestas por el gobierno estadounidense.

  2. Esta ciudad china quiere ser el Silicon Valley de los ‘chiplets’

    Wuxi, el centro chino del envasado de chips, está invirtiendo en la investigación de ‘chiplets’ para potenciar su papel en la industria de semiconductores

  3. La computación cuántica se abre camino a través del ruido

    Durante un tiempo, los investigadores pensaron que tendrían que conformarse con sistemas ruidosos y propensos a errores, al menos a corto plazo. Esto está empezando a cambiar.

    Jay Gambetta dirige el desarrollo de los ordenadores cuánticos de IBM y lideró la iniciativa de llevar estos sistemas a la nube.