Qué es Q#

Microsoft desarrolla un nuevo lenguaje de programación para los nuevo procesadores cuánticos. En esta ocasión hablaremos de lo que es Q#.

Qué es un procesador cuántico ?

Probablemente ya habréis oído en alguna ocasión sobre los nuevos procesadores cuánticos, los cuales no funcionan como los procesadores actuales.

Su finalidad es resolver los problemas que hoy día no podemos resolver con los procesadores que todos conocemos.

Para que el desarrollo y el avance de estos procesadores cuánticos siga evolucionando, marcas como IBM, Intel, Honeywell o Google están a pleno rendimiento en la fabricación de nuevo hardware que trabaje con estos nuevo procesadores.

Procesadores cuánticos

Qué es Azure Quantum ?

Como ya sabemos, para que un hardware funcione como es debido y pueda sacar provecho de estas nuevas características, debe ir acompañado siempre de un buen desarrollo de software.

Programar un algoritmo para un procesador cuántico es extremadamente complejo.

Y por supuesto, crear las herramientas necesarias para crear estos algoritmos también lo es.

Aquí es donde la compañía de Redmon, Microsoft, ha creado una nueva plataforma cuántica conocida por Azure Quantum.

Esta nueva plataforma está diseñada para que la curva de aprendizaje de este lenguaje de programación no sea tan dura, por lo tanto, los programadores podrán desarrollar nuevo software abstrayéndose todo lo posible de los procesadores cuánticos que van a ejecutar sus nuevos algoritmos.

Una de las ventajas de Azure Quantum es que su arquitectura es similar a la de Azure.

En otras palabras, se asemeja mucho al servicio en la Nube que Microsoft lleva ofreciendo unos años.

Por lo tanto, los programadores que actualmente trabajan con Azure o ya tienen conocimientos de dicha plataforma no les va a costar demasiado esfuerzo empezar con Azure Quantum por su silimitud.

Esta nueva plataforma está a disposición gratuitamente para los desarrolladores de estos sistemas y que quieran trabajar con procesos cuánticos.

Estos, tendrán acceso al kit de desarrollo QDK como a su biblioteca de recursos.

¿Qué es Q# y QDK?

El lenguaje de programación Q# es de código abierto y está diseñado para poder desarrollar algoritmos cuánticos.

Este lenguaje de programación es parte del kit de desarrollo QDK de Microsoft y heredada estructuras lógicas de C#, F# y Python. Por lo tanto, es otra ventaja para los que ya conocen alguno de estos lenguajes de programación.

Este kit incluye:

¿Qué se puede hacer con el QDK?

El kit de desarrollo QDK se puede integrar perfectamente con Visual Studio, Visual Studio Code y Jupyter Notebook

Por lo que, puede utilizar las API ya integradas para sincronizar los programas con los lenguajes host .NET y Python.

Con las bibliotecas de Q# podrás ejecutar operaciones cuánticas complejas sin tener que desarrollar secuencias muy elaboradas.

Podrá usar el simulador cuántico para ejecutar los programas de estado completo o el simulador de Toffoli de ámbito limitado.

Ya se qué es Q#, ¿Dónde puedo obtener más información?

Sobre ti

Te recomendamos

Soy novato en cuánticaLea sobre conceptos básicos de física y sobre la programación cuántica. Conceptos clave.
Sé un poco de Q#, pero quiero másAprenda la síntaxis básica para empezar a programar. guía de usuario de Q#.
Por donde empezarConfigure ya el entorno de Q# y comience a desarrollar software cuántico con los inicios rápidos.

¿Cómo funciona Q#?

El lenguaje de programación Q# puede compilar la aplicación independientemente o llamando a un programa hots escrito en .NET o Python.

Una vez se ha compilado el programa y lo ejecutamos, se creará una instancia del simulador cuántico y por tanto, se le pasa todo el código Q# que hemos desarrollado.

Este simulador va a utilizar el código para crear cúbits y aplicará transformaciones para modificar su estado.

Cómo resultado el programa acabaré y devolverá los resultados al programa.

Para el que no sepa que es un cúbit, son simulaciones de partículas cuánticas. Tienes más información en el enlace que puse anteriormente.

Los algoritmos siempre seguirán las Leyes de la física Cuántica aislando el código Q# para ello.

Cómo funciona Q#

¿Cómo se usa el QDK?

Debemos tener en cuenta que la mayoria de las veces con nuestro QDK vamos a usar las bibliotecas, el compilador o el simulador cuántico en nuestra propia máquina es decir, vamos a trabajar en local, pero siempre tienes la opción de trabajar remotamente en un equipo cuántico real.

Recomendaciones:

  • En primer lugar, si busca la manera más rápida de comenzar todo esto, es comenzar ya aplicaciones de Q# 
  • Ejecute Jupyter Notebook con IQ#, una extensión de Jupyter para simular, compilar y visualizar programas de Q#.
  • En tercer lugar, puede comenzar con Python si ya lo conoce.
  • En cuarto lugar, y muy importante, es que si ya tiene experiencia con C#, F# o VB.NET y conoce Visual Studio, solo tendrá que agregar algunas extensiones para tener listo todo para programar en Q#.
  • Y por último no olvide que Microsoft dispone de Xamarin para ofrecer una solución en tu móvil como complemento a C# y puede servirle en sus aplicaciones.