Правильна назва цієї сторінки — Q#, але її не можна використовувати через технічні обмеження.

Q# (читається як Q sharp) — це предметно-орієнтована мова програмування, яка застосовується для запису квантових алгоритмів.[4] Вона уперше оприлюднена компанією Microsoft як частина Набору інструментів для квантової розробки (Quantum Development Kit).[5]

Q#
Парадигма функційне програмування і імперативне програмування
Дата появи 11 грудня 2017[1]
Творці Microsoft Research
Розробник Microsoft
Останній реліз 99045 (11 листопада 2019)[2]
Система типізації статична і строга типізація
Під впливом від C#
Платформа Common Language Infrastructured
Ліцензія MIT[3]
Звичайні розширення файлів .qs
Репозиторій вихідного коду github.com/Microsoft/Quantum
Вебсайт docs.microsoft.com/en-us/quantum/quantum-qr-intro

Історія ред.

Під час конференції Ignite, яка відбулася 26 вересня 2017 року, Microsoft оголосила, що вона планує випустити нову мову програмування, спеціалізовану для використання у квантових компʼютерах.[6] 11 грудня 2017 року Microsoft випустила Q# у складі Quantum Development Kit.

Використання ред.

Q# є доступним лише у вигляді окремо звантажуваного розширення до Visual Studio.[7] Набір Quantum Development Kit постачається у наборі з квантовим симулятором, який здатен виконувати програми, написані на Q#. Для активізації ж квантового симулятора треба використовувати «оболонкову» програму на будь-якій іншій мові програмування сімейства .NET .

Можливості ред.

Основною можливістю Q# є здатність створювати кубіти і використовувати їх в алгоритмах. Як наслідок, однією з найцікавіших можливостей мови Q# є здатність сплутувати та створювати суперпозицію кубітів за допомогою вентилів контрольованого заперечення та вентилів Адамара, відповідно.

У мові Q# кубіти виконані у вигляді  топологічних кубітів.

Квантовий симулятор, який постачається у Quantum Development Kit, здатний створювати до 32 кубітів на локальній машині або 40 кубітів на Azure.

Синтаксис ред.

Q# синтаксично схожий на C#, щоправда має деякі суттєві відмінності.

Спільні риси ред.

  • Використовує namespace для ізоляції коду
  • Усі інструкції закінчуються символом ;
  • Фігурні дужки використовуються для межі видимості інструкцій
  • Однорядкові коментарі робляться за допомогою //
  • Типи даних, такі як int double string та bool.

Розбіжності ред.

  • Змінні декларуються за допомогою let або mutable
  • Функції декларуються за допомогою  operation або function
  • Відсутні багаторядкові коментарі

Посилання ред.

  1. The future is quantum: Microsoft releases free preview of Quantum Development Kit — 2017.
  2. Release 99045 — 2019.
  3. https://api.github.com/repos/Microsoft/Quantum
  4. QuantumWriter. Intent and product brand in a unique string of 43-59 chars including spaces. docs.microsoft.com (en-us) . Архів оригіналу за 2 липня 2018. Процитовано 11 грудня 2017.
  5. Announcing the Microsoft Quantum Development Kit (амер.). Архів оригіналу за 11 грудня 2017. Процитовано 11 грудня 2017.
  6. Microsoft announces quantum computing programming language (амер.). Архів оригіналу за 14 грудня 2017. Процитовано 14 грудня 2017.
  7. QuantumWriter. Setting up the Q# development environment. docs.microsoft.com (en-us) . Архів оригіналу за 14 грудня 2017. Процитовано 14 грудня 2017.