微軟的量子計算開發工具包Q#在2017年底發布,已滿一年,微軟也在今年初開源並支持了macOS與Linux平台,以擴大開發者規模。近期,微軟闡述了說明了Q#的設計理念與接下來的發展方向。

微軟發布Q#的原因,除了要讓量子開發更容易,同時也希望能滿足特定情境的需求,如微軟預告會添加自動化功能。微軟提到,量子位布局和量子閘合成,通常仍需要針對每個程序和目標硬件逐一進行,而自動化可以加速這個過程。
另外,Q#也能解決開發人員常會擔心代碼在硬件上執行時的錯誤糾正問題。以及由於量子位現在仍是稀缺資源,微軟認為,量子計算的長期目標應該是被用來解決,當前硬件還無法解決的計算密集型工作,微軟也希望在開發工作上,大規模量子程序優化應該被當作優先選項。
因此微軟選擇開發自有的語言,以便對信息的表達方式擁有完全的控製力,使其富有彈性,以及在量子編譯時能夠支持模塊化與可擴展軟件架構。微軟提到,編程語言不僅代表一組方便用來表達算法的工具,也同時塑造了開發者思考問題的方法,以及拆解問題成小任務並建構解決方案的方式。
根據目的調整和組合這些工具,編程語言可以對理解現有方法產生極大的影響,更不用說用在全新領域上。微軟想集合編程語言設計人員、編譯工程師、量子物理學家、算法和硬件專家以及各種軟件開發者,為量子計算塑造一種新的計算架構。
2018年11月Q#發布了0.3版,官方現在已經著手準備下一個版本,並且說明了Q#發展的方向。微軟提到,Q#中對數據結構的支持很少,雖然提供了許多高級語言功能來抽象經典概念以及量子控製流,但忽略了一些諸如類別等麵向對象的機製。
微軟未來會將重點放在修正量子態的轉換,將其表達成Q#中的操作以及在未來的特性和關係。然而,數據的基本捆綁和這些操作為許多程序重要的部分,微軟希望提供適當的機製來表達,以允許達到抽象、方便以及降低代碼編寫錯誤。
除了增加的類型安全性之外,當前設置中的用戶定義類型的能力受限,目前以黑盒的方式將類型參數化,因此限製了他們的用途。由於微軟沒有提供動態反射的機製,因此不可能將運算符或是其他類型特定功能,應用於每個單獨呼叫解析其類型的參數項目。因此就這個設計的意義來說,這些項目隻是個黑盒子,僅能用於傳遞。
由於量子設備排錯非常困難,微軟希望能以靜態的方式,執行這些繁重的工作,微軟提出了兩種可能的機製,以來減輕這些負擔,其中一是類型限製,這是一種的常見於熱門語言的機製,可以被視為基於類型屬性的專業化,另一種則是根據實際類型本身,追求更嚴格的專業化方向,以增加目前避免使用的過載的類型。而無論是哪一種方法,透過明確地將使用者定義的類型,與類型係統中的元組分開,是跨出擴展其能力的第一步。
微軟表示,Q#借助社區的力量不斷發展,雖然量子計算建立在量子力學之上,一般人因為對於這領域不熟悉而卻步,但是又因為量子計算建立在理想化量子係統的概念上,因此也符合部分容易學習的原則。微軟透過Q#開發博客的文章傳遞這些原則,並促使開發人員進行交流。
相關資訊
最新熱門應用
bicc數字交易所app
其它軟件32.92MB
下載
比特國際網交易平台
其它軟件298.7 MB
下載
熱幣交易所app官方最新版
其它軟件287.27 MB
下載
歐昜交易所
其它軟件397.1MB
下載
vvbtc交易所最新app
其它軟件31.69MB
下載
星幣交易所app蘋果版
其它軟件95.74MB
下載
zg交易所安卓版app
其它軟件41.99MB
下載
比特幣交易app安卓手機
其它軟件179MB
下載
福音交易所蘋果app
其它軟件287.27 MB
下載
鏈易交易所官網版
其它軟件72.70MB
下載