Q Sharp
Q# | |
---|---|
![]() | |
Класс языка | язык квантового программирования[вд], язык функционального программирования и императивный |
Появился в | 11 декабря2017[2] |
Автор | Microsoft Research |
Разработчик | Microsoft Quantum Architectures and Computation group[вд] и Майкрософт |
Расширение файлов | .qs |
Выпуск | |
Система типов | статическая,сильная |
Испытал влияние | C# и F# |
Лицензия | лицензия MIT[3] |
Сайт | docs.microsoft.com/en-us… |
Платформа | Common Language Infrastructure |
![]() |
Q# (Q Sharp) —предметно-ориентированный язык, используемый для выраженияквантовых алгоритмов. Впервые был представлен в составе Quantum Development Kit[4][5].
История
[править |править код]Во время конференцииMicrosoft Ignite[англ.] 26 сентября 2017, Microsoft анонсировала релиз нового языка программирования, направленного на квантовые технологии.[4] 11 декабря язык был представлен официально в составе Quantum Development Kit. В марте 2018 появилась научная статья, в которой описывается применение языка к решению проблемы скрытого шифта.[6]
Использование
[править |править код]Q# возможен для использования только как отдельно загружаемое расширение дляVisual Studio.[7] Quantum Development Kit поставляется вместе с квантовым симулятором, на котором может запуститься Q#.
Для вызова квантового симулятора используется другой.NET Framework, который отдаёт входные (классические) данные в симулятор и забирает выходные (классические) данные из него.
Возможности
[править |править код]Базовая возможность языка: создание и использованиекубитов для алгоритмов. Как следствие — одна из наиболее характерных особенностей Q# — возможностьзапутываться и создаватьквантовую суперпозицию между кубитами черезвентилиCNOT и Адамара (H), соответственно.
В Q# кубиты создаютсятопологически[англ.].
В пакет Quantum Development Kit входит квантовый симулятор, способный обрабатывать до 27 кубитов локально и от 32 до 40 кубитов в облакеAzure.
Синтаксис
[править |править код]Q# синтаксически похож наC# иF#, с некоторыми отличиями.
- функции определяются словом
function
; - операторы для работы над квантами определяются словом
operation
; - отсутствуют многострочные комментарии;
- использование проверок вместо обработки ошибок;
- документация пишется вMarkdown.
Примечания
[править |править код]- ↑Release 99045 — 2019.
- ↑The future is quantum: Microsoft releases free preview of Quantum Development Kit — 2017.
- ↑https://api.github.com/repos/Microsoft/Quantum
- ↑12Announcing the Microsoft Quantum Development Kit.Microsoft Quantum (англ.). 11 декабря 2017.Архивировано 11 декабря 2017. Дата обращения: 27 декабря 2017.
- ↑Microsoft readies dev kit, Q# language for quantum computing.InfoWorld (англ.). 15 декабря 2017. Дата обращения: 28 декабря 2017.
- ↑Mathias Soeken, Thomas Häner, Martin Roetteler. Programming Quantum Computers Using Design Automation (англ.). arXiv.org (2 марта 2018). Дата обращения: 19 июня 2018. Архивировано 19 июня 2018 года.
- ↑Installing and Validating the Q# Development Environment (англ.). Microsoft Docs (11 декабря 2017). Дата обращения: 27 декабря 2017.
Ссылки
[править |править код]- Попробуй себя в программировании на Q Sharp — Хабрахабр
- Tiffany Trader (12 декабря 2017).Microsoft Wants to Speed Quantum Development.HPCWire (англ.).Архивировано 18 июня 2018. Дата обращения: 19 июня 2018.
- Видеокурс по использованию Q# наYouTube