Który język programowania jest odpowiedni dla początkującego?

12

Rozumiem, że istnieje wiele języków programowania (np. Q #, Qiskit itp.)

Który jest odpowiedni dla kogoś, kto właśnie zaczął uczyć się programowania i nie wie nic o mechanice kwantowej?

Daniel Mana
źródło

Odpowiedzi:

7

Same języki są zasadniczo takie same dla nowego użytkownika. Wszystkie wdrażają ten sam podstawowy zestaw operacji kwantowych, z których badacze korzystają od kilku ostatnich dziesięcioleci.

Jeśli dopiero zacząłeś programować, najbardziej odpowiednim czynnikiem może być język, w którym zapisany jest kwantowy SDK. Są one głównie w języku Python, ale QISKit ma również warianty Swift i Java. Q # jest zintegrowany z Visual Studio.

Poza tym istnieją różnice w takich rzeczach

  • materiały szkoleniowe
  • symulatory lub prawdziwe urządzenia kwantowe, na których będą działać twoje programy
  • aplikacje wysokiego poziomu, które nie wymagają wiedzy kwantowej.

Jestem bardzo stronniczy w tym, co polecam (i dlatego mam nadzieję, że inni stronniczy w różnych kierunkach również odpowiedzą na twoje pytanie), ale powiedziałbym, że spojrzenie na blog QISKit może być dobrym początkiem. Oto kilka moich własnych artykułów

James Wootton
źródło
5

To zależy od języków, z którymi będziesz miał większe powinowactwo.

Qiskit, pyQuil itp. Są w języku Python, który jest językiem programowania łatwym do zrozumienia ogólnie z wieloma przydatnymi bibliotekami. Zapewniają dokumentację / samouczki, aby początkujący mogli rozpocząć obliczenia kwantowe. Pisanie kodów można wykonać w kilku wierszach.

Q # jest w C #. Nie próbowałem tego, ale jeśli zacząłeś uczyć się programowania skupiającego się na C lub C ++ (i to podoba), myślę, że powinieneś czuć się komfortowo z tym.

Do nauki polecam przeczytanie książki Obliczenia kwantowe i informacje kwantowe Nielsena i Chuanga lub Obliczenia kwantowe dla informatyków z Yanofsky'ego i Mannucciego; jeśli możesz mieć do nich dostęp i równolegle spójrz na kod na wybranej platformie. Ale zawsze dobrym pomysłem jest łączenie różnych źródeł i wyjaśnień, aby lepiej zrozumieć.

cnada
źródło
2
Szczerze mówiąc, nie uważam, że Mike & Ike to dobra książka dla początkujących. Wprowadza zbyt szybko, inne książki, takie jak Obliczenia kwantowe dla informatyków lub Informatyka kwantowa: Wprowadzenie są znacznie lepsze IMO. Mike & Ike jest dobry, jeśli masz praktyczną wiedzę na temat obliczeń kwantowych i chcesz dalej ją rozwijać.
ahelwer
@ahelwer To jest odpowiedni komentarz. Obliczenia kwantowe dla informatyków mają rzeczywiście wiele liczbowych przykładów. Będzie bardziej odpowiedni dla początkującego.
cnada
4

Zgadzam się z odpowiedzią Jamesa Woottona. Wybór języka staje się ważny, gdy pracujesz nad większym projektem, w którym chcesz polegać na bibliotekach, szacunkach zasobów i innych zaawansowanych funkcjach. Kiedy zaczniesz uczyć się podstaw obliczeń kwantowych i programowania kwantowego, twoje programy będą bardzo małe i naprawdę nie będą tak różne w różnych językach.

Zakładam, że przejdziesz przez książkę / kurs na temat teorii obliczeń kwantowych. W tym przypadku są dwie rzeczy, których na pewno będziesz chciał od języka programowania:

  • fajny zestaw samouczków wprowadzających / ćwiczeń programistycznych, które pomogą Ci przyswoić teorię, której się nauczyłeś.
  • symulator stanu kwantowego, który pozwoli ci zobaczyć stan kubitów podczas wykonywania programu.

Moje zalecenie (tendencyjne w innym kierunku, jak zasugerował James :-)) jest, aby spojrzeć na Q #:

  • Quantum Katas to samouczki programowania, które towarzyszą kursowi teorii kwantowej. Każdy samouczek składa się z zestawu ćwiczeń do rozwiązania oraz z zestawu testowego za kulisami, który sprawdza, czy kod jest poprawny, i zapewnia natychmiastową informację zwrotną. Istniejące samouczki obejmują niezły zestaw wstępnych tematów i pracujemy nad stworzeniem kolejnych samouczków.
  • Symulator pełnego stanu zawarty w pakiecie Quantum Development Kit pozwala zrzucić stan systemu jako listę amplitud, dzięki czemu można go używać zawsze, gdy chcesz sprawdzić, czy stan systemu odpowiada twojemu zrozumieniu / oczekiwaniom lub dowiedzieć się, co poszło nie tak.
Mariia Michajłowa
źródło