Какой язык программирования подходит для начинающего?

12

Я понимаю, что есть много языков программирования (например, Q #, Qiskit и т. Д.)

Какой из них подходит для тех, кто только начал изучать программирование и ничего не знает о квантовой механике?

Даниэль Мана
источник

Ответы:

7

Сами языки по сути одинаковы для нового пользователя. Все они реализуют один и тот же базовый набор квантовых операций, которые использовались исследователями в течение последних нескольких десятилетий.

Если вы только начали программировать, наиболее важным фактором для вас может быть язык, на котором написан квантовый SDK. В основном они написаны на Python, но QISKit также имеет варианты Swift и Java. Q # интегрирован в Visual Studio.

Помимо этого, есть различия в таких вещах, как

  • учебные материалы
  • симуляторы или реальные квантовые устройства, на которых будут работать ваши программы
  • приложения высокого уровня, которые не требуют квантовых знаний.

Я очень предвзят в том, что я рекомендую (и поэтому я надеюсь, что другие, предвзятые в разных направлениях, также ответят на ваш вопрос), но я бы сказал, что просмотр блога QISKit может быть хорошим началом. Вот пара моих собственных статей

Джеймс Вуттон
источник
5

Это зависит от языков, с которыми вы будете иметь больше близости.

Qiskit, pyQuil и т. Д. Написаны на Python, который является языком программирования, который легко понять, как правило, с помощью множества полезных библиотек. Они предоставляют документацию / учебные пособия, чтобы любой новичок мог начать квантовые вычисления. Написание кодов может быть сделано в несколько строк.

Q # находится в C #. Я не пробовал, но если вы начали изучать программирование с упором на C или C ++ (и ему это нравится), я думаю, вам должно быть удобно с этим.

Для обучения я бы рекомендовал прочитать книгу «Квантовые вычисления и квантовая информация от Нильсена и Чуанга» или «Квантовые вычисления для компьютерных ученых из Янофски и Маннуччи»; если вы можете иметь к ним доступ и параллельно посмотреть на какой-то код на выбранной вами платформе. Но всегда полезно объединить разные источники и объяснения, чтобы лучше понять.

Cnada
источник
2
Честно говоря, я не думаю, что Mike & Ike - хорошая книга для начинающих. В нем слишком много вводится слишком быстро. Другие книги, такие как Quantum Computing for Computer Scientists или Quantum Computer Science: Введение, намного лучше IMO. Mike & Ike хорош, если у вас есть практические знания в области квантовых вычислений, и вы хотите их усовершенствовать.
Ахелвер
@ahelwer Это актуальный комментарий. Квантовые вычисления для компьютерных ученых действительно имеют много числовых примеров. Это подойдет новичку лучше.
cnada
4

Я согласен с ответом Джеймса Вуттона. Выбор языка становится важным, когда вы работаете над большим проектом, в котором вы хотите полагаться на библиотеки, оценки ресурсов и другие расширенные функции. Когда вы начнете изучать основы квантовых вычислений и квантового программирования, ваши программы будут очень маленькими и не будут сильно отличаться для разных языков.

Я предполагаю, что вы пройдете какую-то книгу / курс по теории квантовых вычислений. В этом случае вам определенно понадобятся две вещи от языка программирования:

  • хороший набор вводных уроков / упражнений по программированию, которые помогут вам усвоить теорию, которую вы изучили.
  • симулятор квантового состояния, который позволит вам видеть состояние кубитов по мере выполнения вашей программы.

Моя рекомендация (предвзятая в другом направлении, как предложил Джеймс :-)) - взглянуть на вопрос №:

  • Quantum Katas - это учебные курсы по самостоятельному программированию, разработанные для сопровождения курса по теории квантовых вычислений. Каждое учебное пособие состоит из набора упражнений, которые вы должны решить, и проводки закулисного тестирования, которая проверяет правильность вашего кода и обеспечивает немедленную обратную связь. Существующие учебные пособия охватывают хороший набор вводных тем, и мы работаем над созданием новых учебных пособий.
  • Симулятор полного состояния, включенный в комплект Quantum Development Kit, позволяет вывести состояние системы в виде списка амплитуд, поэтому вы можете использовать его, когда хотите проверить, соответствует ли состояние системы вашему пониманию / ожиданию или выяснить, что пошло не так.
Мария Михайлова
источник