

Q Sharp
13.12.2020
Q# (Q Sharp) — предметно-ориентированный язык, используемый для выражения квантовых алгоритмов. Впервые был представлен в составе Quantum Development Kit.
История
Во время конференции Microsoft Ignite 26 сентября 2017, Microsoft анонсировала релиз нового языка программирования, направленного на квантовые технологии. 11 декабря язык был представлен официально в составе Quantum Development Kit. В марте 2018 появилась научная статья, в которой описывается применение языка к решению проблемы скрытого шифта.
Использование
Q# возможен для использования только как отдельно загружаемое расширение для Visual Studio. Quantum Development Kit поставляется вместе с квантовым симулятором, на котором может запуститься Q#.
Для вызова квантового симулятора используется другой .NET Framework, который отдаёт входные (классические) данные в симулятор и забирает выходные (классические) данные из него.
Возможности
Базовая возможность языка: создание и использование кубитов для алгоритмов. Как следствие — одна из наиболее характерных особенностей Q# — возможность запутываться и создавать квантовую суперпозицию между кубитами через вентили CNOT и Адамара (H), соответственно.
В Q# кубиты создаются топологически.
В пакет Quantum Development Kit входит квантовый симулятор, способный обрабатывать до 30 кубитов локально и от 32 до 40 кубитов в облаке Azure.
Синтаксис
Q# синтаксически похож на C# и F#, с некоторыми отличиями.
- функции определяются словом function;
- операторы для работы над квантами определяются словом operation;
- отсутствуют многострочные комментарии;
- использование проверок вместо обработки ошибок;
- документация пишется в Markdown.
