Q Sharp

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

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

Історія[ред. | ред. код]

Під час конференції 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.