Was wird im Zeitalter von Quantencomputern mit klassischen Computerprogrammiersprachen, wie z.B. Python, C, C++ geschehen? Werden sie sterben oder werden sie auch in den Quantencomputern Verwendung finden?
Quatencomputer arbeiten prinzipiell mit einem Vektor aus Wahrscheinlichkeiten (sehr vereinfacht ausgedrückt). Somit lassen sich alle Quatenoperatoren mit Matrizen ausdrücken. Der Vorteil gegenüber klassischen Computern besteht darin, dass man quasi mit vielen Werten gleichzeitig rechnen kann. (Bei n Qubits rechnest du mit n Werten)
Da das ganze alleine nicht sonderlich nützlich ist und vorallem die Auswertung boolsche Logik benötigt (wenn man einzelne Qubits misst erhält man (wie beim klassischen Computer) einen boolschen Wert (eine 1 oder 0)), ist es sehr warscheinlich dass Computer in näherer Zukunft eine QPU erhalten.
Ähnlich wie mit der GPU wird es auch hier Schnittstellen geben, um mit der CPU zu kommunizieren. Assembler Code für Quantencomputer gibt es bereits.
Somit gibt es genau zwei Schritte die nötig sind, dass herkömliche Computersprachen mit einer QPU arbeiten können:
Datentypen der QPU, sowie deren Operationen müssen in Code dazustellen sein. Das kann über Operatorenausdrücke oder Funktionen geschehen.
Man muss in der Sprache die Möglichkeit besitzten Anweisungen an die QPU zu schicken und Ergebnisse zu erhalten
Ähnliche Dinge sind schon für die meisten Sprachen für GPUs enstanden. Wenn nicht direkt, dann über externe Bibliotheken. CUDA ist ein gutes Beispiel hierfür.
Kurzgefasst, wenn eine Sprache selbst keine direkte Unterstützung für QPUs erhält, wird es Bibliotheken geben, die genau das ermöglichen.
Das sollte die Frage was mit den Sprachen im Bezug auf Quantencomputern passieren wird.
Jetzt zur umgekehrten Frage. Also ob man Quantencomputer oder QPUs mit diesen Sprachen programmieren können wird.
Die Antwort hierauf wird vermutlich ein nein sein. Während es Assembler geben wird, sind herkömmliche Sprachen einfach von ihrerer Struktur nicht geeignet. Es wird mit Sicherheit Sprachen geben, die etwas über den Q-Assembler Code hinausgehen, allderdings wird es hier (ähnlich wie bei GPUs) vorraussichtlich keinen großen Bedarf Sprachen mit hohen Abstraktionsebenen geben, da es einfach sein wird eine Schnittstelle zu bereits existierenden Sprachen zu schaffen.