Я понимаю, что есть много языков программирования (например, Q #, Qiskit и т. Д.)
Какой из них подходит для тех, кто только начал изучать программирование и ничего не знает о квантовой механике?
источник
Я понимаю, что есть много языков программирования (например, Q #, Qiskit и т. Д.)
Какой из них подходит для тех, кто только начал изучать программирование и ничего не знает о квантовой механике?
Сами языки по сути одинаковы для нового пользователя. Все они реализуют один и тот же базовый набор квантовых операций, которые использовались исследователями в течение последних нескольких десятилетий.
Если вы только начали программировать, наиболее важным фактором для вас может быть язык, на котором написан квантовый SDK. В основном они написаны на Python, но QISKit также имеет варианты Swift и Java. Q # интегрирован в Visual Studio.
Помимо этого, есть различия в таких вещах, как
Я очень предвзят в том, что я рекомендую (и поэтому я надеюсь, что другие, предвзятые в разных направлениях, также ответят на ваш вопрос), но я бы сказал, что просмотр блога QISKit может быть хорошим началом. Вот пара моих собственных статей
Это зависит от языков, с которыми вы будете иметь больше близости.
Qiskit, pyQuil и т. Д. Написаны на Python, который является языком программирования, который легко понять, как правило, с помощью множества полезных библиотек. Они предоставляют документацию / учебные пособия, чтобы любой новичок мог начать квантовые вычисления. Написание кодов может быть сделано в несколько строк.
Q # находится в C #. Я не пробовал, но если вы начали изучать программирование с упором на C или C ++ (и ему это нравится), я думаю, вам должно быть удобно с этим.
Для обучения я бы рекомендовал прочитать книгу «Квантовые вычисления и квантовая информация от Нильсена и Чуанга» или «Квантовые вычисления для компьютерных ученых из Янофски и Маннуччи»; если вы можете иметь к ним доступ и параллельно посмотреть на какой-то код на выбранной вами платформе. Но всегда полезно объединить разные источники и объяснения, чтобы лучше понять.
Я согласен с ответом Джеймса Вуттона. Выбор языка становится важным, когда вы работаете над большим проектом, в котором вы хотите полагаться на библиотеки, оценки ресурсов и другие расширенные функции. Когда вы начнете изучать основы квантовых вычислений и квантового программирования, ваши программы будут очень маленькими и не будут сильно отличаться для разных языков.
Я предполагаю, что вы пройдете какую-то книгу / курс по теории квантовых вычислений. В этом случае вам определенно понадобятся две вещи от языка программирования:
Моя рекомендация (предвзятая в другом направлении, как предложил Джеймс :-)) - взглянуть на вопрос №:
источник