Kuantum bilgisayarlarının donanım elemanları gün geçtikçe daha da geliştirilmekte. Geçtiğimiz yıl Volkswagen kuantum bilgisayarlarını gerçek hayat problemlerine uyarladıkları bir yazı yayımlamıştı. Bu sebeplerden dolayı kuantum bilgisayarları için donanım ihtiyacı ortaya çıktı ve geliştirmelere başlanıldı. Donanım tarafındaki bu gelişimi yazılım tarafı da aynı şekilde takip etmekte. İsviçre’de bulunan Zürih Federal Teknoloji Enstitüsü bu alanda Silq adında bir high-level (yüksek seviye) programlama dili geliştirdiklerini duyurdu. Güçlü statik tipi bir sisteme sahip olan Silq’i buradan daha detaylı inceleyebilirsiniz.
Bahsettiğimiz High-level programlama dilinin arkasındaki ekip yaptığı açıklamada, “Şu anlık kuantum bilgisayarı için kullanılan programlama dilleri low-level (düşük seviye) yani makine diline biraz daha yakın olduğu için programcıları oldukça zorlamakta” ifadelerini kullandı.
Zürih Federal Teknoloji Enstitüsü bilgisayar bilimi profesörü Martin Vechev de “Bu proje fikrini bir sorun üzerine çalışırken keşfettik. Eğer kuantum bilgisayarı üzerinde temel bir sorunu çözmekle uğraşıyorsanız sorununuzu analiz edip bir programlama dili kullanarak çözebilirsiniz. Sorunumuzu düşündük ve hali hazırda olan programlama dillerini analiz ettik. Fakat hiçbiri bizim için optimal ve ideal değildi” açıklamasında bulundu.
Araştırma grubu bu sebeple halihazırda kullanımda olan Microsoft’un Q#’ı gibi programlama dillerini ve IBM’in Qiskit’i gibi yazılım geliştirme kitlerini inceledi.
Martin Vechev’in doktora öğrencisi olan Benjamin Bichsel ise yaptığı açıklamada, “Aslında bir programlama dili geliştirmemiz gerektiğini düşünmüyorduk. İlk başlarda konusu bile açılmamıştı. Kuantum bilgisayarları ile ilgili daha üst düzey sorunları çözmek istiyorduk. Bir dil seçip başlamaya karar verdik fakat ilerleyen süreçte fark ettik ki normalde kullanılan programlama dilleri high-level problemleri çözmemiz için oldukça yetersiz.”
Ekip, projeyle ilgili yazdıkları makaleyi yarın PLDI 2020’ye sunacak.
“Silq Low-Level Dillerin Eksiklerini Kapatıyor”
Halihazırda kullanılan dillerin ne sıkıntısı var sorusuna Vechev “Bu sorunun cevabına başlamadan önce klasik dillerden farklı olarak kuantum programlamalarında karşımıza çıkan en temel sorunlardan birine bakmamız gerekmekte. Bihesaplama.” açıklamasında bulundu. Bihesaplama, bir kuantum programlama metodudur. Silq, Bihesaplamayı merkezine koyarak geliştirilmiştir ve bu teknik çerçevesinde dizayn edilmiştir.
Vechev açıklamasına şöyle devam etti, “Klasik programlama dillerinde A or (veya) B or C ifadesini kullanırsanız ilk olarak A or B’yi hesaplayıp [bunun sonucunu] or B işlemini yapacaktır. Fakat bu işlemi kuantum bilgisayarında yapmanız bu kadar basit olmayacak. Programlama dillerinin low-level olması sizi her durumu kontrol etmeye itiyor. Bu nedenle high-level bir dile ihtiyaç vardı. Ayrıca low-level dillerde küçük bir toplama işlemi yapmanız bile zaman alıyordu. Bu tarz diller programlamacıları hata yapmaya yatkın hale getiriyordu. Silq hem kolaylığından hem de type checker (tip denetleyicisi) sayesinde programcıların yaygın hatalar yapmasını engellemeye çalışır.”
Silq ve Q# karşılaştırmasını normal programlama dillerine uyarlarsak Silq için Python, Q# ise C diyebiliriz. Q# ile uzun satırlarda yazdığınız kodları Silq ile birkaç satırda halledebilmektesiniz. Silq ve Q# karşılaştırmasını buradan inceleyebilirsiniz. Ayrıca ekibin yayınladığı makaleye de ücretsiz olarak erişebilirsiniz.