Яка мова програмування підходить для початківця?


12

Я розумію, є багато мов програмування (наприклад, Q #, Qiskit тощо)

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

Відповіді:


7

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

Якщо ви щойно розпочали програмування, найбільш релевантним фактором для вас може бути мова, якою записаний квантовий SDK. Вони переважно в Python, але QISKit також має варіанти Swift та Java. Q # інтегрований у Visual Studio.

Крім цього, існують відмінності в таких речах

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

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


5

Це залежить від мов, з якими ви матимете більше спорідненості.

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

Q # знаходиться в C #. Я не пробував цього, але якщо ви почали вивчати програмування, орієнтуючись на C або C ++ (і це подобається), я думаю, вам має бути зручно з цим.

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


2
Я, чесно кажучи, не вважаю, що Майк і Айк не є хорошою книгою для початківців. Він надто швидко вводить, інші книги, наприклад, квантові обчислення для вчених-комп'ютерів або квантові комп'ютерні науки: вступ набагато кращі ІМО. Майк і Айк добре, коли ви володієте робочими знаннями з квантових обчислень і хочете вдосконалити їх.
ahelwer

@ahelwer Це відповідний коментар. Квантові обчислення для вчених-комп'ютерів дійсно мають численні приклади числення. Він краще підійде для початківця.
Канада

4

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

Я припускаю, що ви переглянете книгу / курс з теорії квантових обчислень. У цьому випадку, ви обов'язково захочете дві речі з мови програмування:

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

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

  • Квантові катаси - це навчальні посібники з програмування на крок , створені для супроводу курсу з теорії квантових обчислень. Кожен підручник складається з набору вправ для вирішення та закулісного тестування джгута, який перевіряє правильність вашого коду, що забезпечує негайний зворотній зв'язок. Існуючі навчальні посібники охоплюють приємний набір вступних тем, і ми працюємо над створенням більше навчальних посібників.
  • Повний симулятор стану, що входить у комплект для квантової розробки, дозволяє скинути стан системи як перелік амплітуд, тому ви можете використовувати його всякий раз, коли хочете перевірити, чи відповідає стан системи вашому розумінню / очікуванню або з’ясувати, що пішло не так.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.