Q Sharp

Правильна назва цієї сторінки — 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
  • Відсутні багаторядкові коментарі

Посилання

  • Release 99045 — 2019.
  • https://api.github.com/repos/Microsoft/Quantum
  • QuantumWriter. Intent and product brand in a unique string of 43-59 chars including spaces. docs.microsoft.com (en-us) . Архів оригіналу за 2 липня 2018. Процитовано 11 грудня 2017.
  • Announcing the Microsoft Quantum Development Kit (амер.). Архів оригіналу за 11 грудня 2017. Процитовано 11 грудня 2017.
  • Microsoft announces quantum computing programming language (амер.). Архів оригіналу за 14 грудня 2017. Процитовано 14 грудня 2017.
  • QuantumWriter. Setting up the Q# development environment. docs.microsoft.com (en-us) . Архів оригіналу за 14 грудня 2017. Процитовано 14 грудня 2017.
  • 🔥 Top keywords: Головна сторінкаЧемпіонат Європи з футболу 2024Спеціальна:ПошукВікіпедія:Культурна спадщина та видатні постаті (2024)Збірна України з футболуБріджертониЧемпіонат Європи з футболу 2020YouTubeУкраїнаЧемпіонат Європи з футболуЗбірна Румунії з футболуРебров Сергій СтаніславовичГлобальний саміт мируРадіо «Свобода»ДефолтРумуніяЛунін Андрій ОлексійовичНаціональна суспільна телерадіокомпанія УкраїниДень батькаДовбик Артем ОлександровичШевченко Андрій МиколайовичЯрмоленко Андрій МиколайовичЧемпіонат Європи з футболу 2024 (кваліфікаційний раунд)Мудрик Михайло Петрович138-ма зенітна ракетна бригада (Україна)FacebookЄрмак Андрій БорисовичСексВійськові звання України22-га окрема механізована бригада (Україна)Зінченко Олександр ВолодимировичТериторіальний центр комплектування та соціальної підтримкиДумками навиворіт 2Чемпіонат Європи з футболу 2016Список операторів систем розподілу України2024 у телебаченніMegogoСписок українських жіночих іменКиїв