Q Sharp

Матеріал з Вікіпедії — вільної енциклопедії.
Jump to navigation Jump to search
Правильна назва цієї сторінки — Q#, але її не можна використовувати через технічні обмеження.
Q#
Розробник: Microsoft
Під впливом від: C#
Звичайні розширення файлів: .qs
Сторінка інтернет: {{{website}}}

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

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

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

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

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

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

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

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

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

Синтаксис[ред.ред. код]

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

Схожості[ред.ред. код]

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

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

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

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

  1. QuantumWriter. Intent and product brand in a unique string of 43-59 chars including spaces. docs.microsoft.com (en-us). Процитовано 2017-12-11. 
  2. Announcing the Microsoft Quantum Development Kit (en-US). Процитовано 2017-12-11. 
  3. Microsoft announces quantum computing programming language (en-US). Процитовано 2017-12-14. 
  4. QuantumWriter. Setting up the Q# development environment. docs.microsoft.com (en-us). Процитовано 2017-12-14.