Verwijdering van Q# uit het FORQ-ecosysteem
Auteur: Noam Kloos — noam@noam.nl
Datum: 11 juli 2026
1. Inleiding
Dit document beschrijft waarom Q# definitief uit het FORQ‑ecosysteem is
verwijderd en is vervangen door een combinatie van OpenQASM en Qizbit, in
samenhang met PostgreSQL en een HPC‑toolchain gebaseerd op Fortran en C.
De nadruk ligt op technische, architecturale en licentiegebonden beperkingen
van Q#, en op de voordelen van de gekozen alternatieven binnen een
open‑source context.
2. Status van Q# en de moderne QDK
Q# is geëvolueerd van een lokaal installeerbare taal en runtime naar een
cloud‑gecentreerde component binnen de moderne Quantum Development Kit (QDK).
De klassieke QDK en bijbehorende researchbibliotheken zijn gedeprcieerd en
ondergebracht in een archief, terwijl nieuwe ontwikkeling expliciet wordt
gestuurd richting Azure Quantum.
In de praktijk betekent dit dat de moderne QDK:
- Q# nauw koppelt aan Azure Quantum‑diensten;
- geen zelfstandige, productiegeschikte lokale runtime biedt;
- niet ontworpen is als open, vendor‑neutraal platform;
- onder licentievoorwaarden valt die gebruik buiten Azure beperken.
3. Beperkingen van Q# voor FORQ
Voor FORQ zijn de volgende beperkingen van Q# doorslaggevend geweest:
- Geen lokale server op Linux: er bestaat geen ondersteunde
manier om een Q#‑runtime of server zelfstandig op Linux te draaien;
- Cloud‑afhankelijkheid: uitvoering en resource‑estimatie
verlopen primair via Azure Quantum;
- Licentie‑ en distributiebeperkingen: klassieke QDK‑onderdelen
zijn gedeprcieerd en niet commercieel inzetbaar;
- Integratiebeperkingen: er is geen stabiele C‑ABI voor
integratie met Ada of Fortran, en geen natuurlijke koppeling met PostgreSQL.
4. Overstap naar OpenQASM en Qizbit
Om deze beperkingen te omzeilen, is FORQ overgestapt op een combinatie van
OpenQASM en Qizbit als quantum‑IR en transportlaag.
4.1 OpenQASM
OpenQASM is een open, breed ondersteunde beschrijvingstaal voor quantumcircuits.
Binnen FORQ fungeert OpenQASM als:
- uitwisselingsformaat tussen verschillende quantumbackends;
- basis voor interoperabiliteit met externe simulators en hardware;
- vendor‑neutrale laag zonder lock‑in.
4.2 Qizbit
Qizbit is een interne, domeinspecifieke quantum‑IR die:
- volledig onder controle van het FORQ‑ecosysteem valt;
- direct integreert met Ada‑analyse en Fortran‑HPC‑routines;
- eenvoudig te serialiseren is naar PostgreSQL voor opslag en besluitvorming;
- geen afhankelijkheid heeft van gesloten cloud‑diensten.
5. PostgreSQL in plaats van Microsoft SQL Server
FORQ gebruikt PostgreSQL als centrale database‑ en besluitvormingslaag.
De keuze tegen Microsoft SQL Server is gebaseerd op:
- Open‑source karakter: PostgreSQL is vrij beschikbaar en
breed ondersteund;
- C‑ABI: PostgreSQL biedt een stabiele C‑interface, waardoor
integratie met Ada en Fortran via ISO_C_BINDING mogelijk is;
- Linux‑native: PostgreSQL draait direct en efficiënt op Linux;
- HPC‑geschiktheid: ideaal voor analyse‑artefacten,
runtime‑profielen en quantumresultaten.
6. HPC‑toolchain op Linux en Windows
FORQ hanteert een dual‑platformstrategie met een consistente HPC‑toolchain.
6.1 Windows
- IFX voor Fortran;
- ICX voor C;
- ML64 voor assembler;
- PowerShell voor build‑automatisering.
6.2 Linux
- ICX voor C;
- IFX (optioneel) voor Fortran;
- NASM/YASM voor assembler;
- GNAT voor Ada;
- PostgreSQL voor besluitvorming;
- Qizbit en OpenQASM voor quantumtransport.
7. Conclusie
Q# is uit FORQ verwijderd vanwege cloud‑afhankelijkheid, licentie‑ en
distributiebeperkingen, het ontbreken van Linux‑native uitvoering en beperkte
integratiemogelijkheden met Ada, Fortran en PostgreSQL. De overstap naar
OpenQASM en Qizbit, gecombineerd met een HPC‑toolchain op basis van Intel
Fortran en C en PostgreSQL als centrale database, resulteert in een
transparant, flexibel en open ecosysteem dat beter aansluit op de doelen van
FORQ.