Programarea cuantică este o modalitate de simulare a problemelor cuantice și a algoritmilor într-un spațiu computerizat, folosind unul dintre mai multe limbaje de programare create pentru această sarcină. În timp ce programarea cuantică se bazează pe programarea computerelor, este realizată mai degrabă din punctul de vedere al unui om de știință decât al unui programator. Există limbaje de programare obișnuite care pot fi folosite pentru această cauză, dar nu acceptă cu ușurință comenzile de fizică cuantică, așa că pot fi greu de manevrat în acest scop. Algoritmii pot necesita multă energie pentru a fi simulați, așa că computerul care utilizează acest limbaj ar trebui să fie suficient de puternic pentru a face simularea fără să se blocheze.
Cercetătorii și oamenii de știință folosesc în mod obișnuit algoritmi cuantici pentru a rezolva probleme și pentru aplicații din lumea reală, dar rezolvarea problemelor pe hârtie sau printr-un calculator adesea nu este atât de captivantă pe cât poate fi o simulare. Cu programarea cuantică, utilizatorul poate introduce un algoritm și computerul va arăta exact ce se întâmplă atunci când valorile sunt folosite în lumea reală. Acest lucru poate ajuta la experimente și la crearea de produse care se bazează pe fizică.
În exterior, programarea cuantică poate părea ca orice alt limbaj de programare pentru computer, dar există câteva diferențe care o îmbunătățesc pentru utilizarea fizicii cuantice. De exemplu, există comenzi care nu sunt frecvent întâlnite în alte limbi care ajută utilizatorii să introducă algoritmi cuantici. Spre deosebire de alte limbaje care pot face programe sau fac computerul să efectueze multe acțiuni diferite, limbajul poate forma doar simulări. Unele etichete comune utilizate în programare sunt modificate pentru a se conforma mai bine cu etichetele și frazele utilizate în fizica cuantică.
Înainte de programarea cuantică au apărut limbaje de programare care puteau ocupa parțial acest rol, dar au existat multe probleme care le-au împiedicat să fie populare. În primul rând, limbajele nu au fost optimizate pentru algoritmi cuantici. Cealaltă diferență majoră este că măsurătorile și valorile trebuiau să fie măsurători computerizate, cum ar fi biți și pixeli, care s-au dovedit a fi greu de manevrat.
Unii algoritmi cuantici mici și de bază necesită foarte puțină energie pentru a simula, dar majoritatea simulărilor realizate prin programarea cuantică au nevoie de mai multă energie și produc mai multă căldură decât pot rezista majoritatea computerelor obișnuite. Aceasta înseamnă că în mod obișnuit sunt necesare servere pentru a ajuta la procesarea algoritmului fără ca computerul să se blocheze. De asemenea, computerul poate avea nevoie de o răcire îmbunătățită pentru a se asigura că nu se supraîncălzește, deși acest lucru este necesar în mare parte persoanelor care simulează în mod constant algoritmi foarte avansați.