量子编程迎重大突破!量子计算机领域第一种高级编程语言Silq诞生

简介: 迄今为止,对于我们很多大众而言,量子计算机依然神秘依然高大上依然可望而不可即。而对于业内人士而言,量子计算机和量子技术的研究已经不是一天两天了,科学家们的研究不亦乐乎,成果进展也可喜。比如,编程语言领域就迎来了一个重要的突破:第一种高级编程语言 Silq问世。之所以说它是第一种高级编程语言,就是因为这个编程语言是量子计算机领域的,不是目前的在很低的抽象级别工作的编程语言,也不是我们普通认识学习的编程语言。

迄今为止,对于我们很多大众而言,量子计算机依然神秘依然高大上依然可望而不可即。而对于业内人士而言,量子计算机和量子技术的研究已经不是一天两天了,科学家们的研究不亦乐乎,成果进展也可喜。比如,编程语言领域就迎来了一个重要的突破:第一种高级编程语言 Silq问世。之所以说它是第一种高级编程语言,就是因为这个编程语言是量子计算机领域的,不是目前的在很低的抽象级别工作的编程语言,也不是我们普通认识学习的编程语言。



量子计算机领域的头号编程语言Silq,诞生于苏黎世联邦理工学院的计算机科学界人士之手。据设计这种编程语言的Vechev 教授表示,“与现有编程语言相比,量子编程语言 Silq 能够使程序员更好地利用量子计算机的潜力,因为这些代码更加紧凑、速度更快、更实用,并且更易于理解。”


不过,说起量子编程语言,可能有些关注技术的朋友知道,其实IT巨头微软公司曾经在几年前推出过一款量子计算编程语言Q#,一人客看资料显示,在2017年,微软推出量子计算开发套件,分为windows版本和macOS和linux版本,需要在VS或者VS code上使用。同时,微软也在GitHub上提供了量子编程语言Q#的demo。


而新出的这款高级编程语言Silq,则更直观更简洁,它能让你抽离在非常低的抽象水平上工作,安全,能避免出错,能进行自动计算,易于理解算法的作用,它比微软的量子编程语言Q#更直观更简洁,是更高层次的编程语言。经过测试,Silq生成的程序比Q#编程的程序短很多。


Silq这种量子编程语言,其设计主要不是要围绕硬件的结构和功能,而是更高层次地从程序员的角度,以人想解决问题时的思维方式为核心,所以并不是必须要求人们理解计算机体系的结构和实现的每一个细节,这个显然更高级,也更符合以人为中心的易理解性易用性目标。


学习过编程开发的朋友知道,软件或程序在运行计算的过程中,都会通过多个中间步骤来实现计算,而这些势必会创建中间结果或临时值。一般情况下,计算机会自动删除处理掉这些值,然而到了量子计算机领域,这一步会很糟糕。想必和一人客一样了解过量子基本常识的朋友知道,量子纠缠的概念和事实,由于量子纠缠,先前计算的值可能与当前的值相互作用,从而干扰正确的计算,而Silq这款量子编程语言则解决了这个问题,它属于量子计算机程序优化方面的重要突破。


第一种量子计算机直观编程语言问世


量子计算机的编程门槛已经越来越低。苏黎世联邦理工学院的计算机科学家们设计出的第一种直观编程语言,能够像传统计算机语言一样简单、可靠且安全地在量子计算机上进行编程。


ETH 安全、可靠与智能系统实验室(SRI)计算机科学教授 Martin Vechev 表示,“目前,对量子计算机进行编程仍是困扰研究人员的一大挑战。正因为如此,我们才对苏黎世理工此次在量子计算机与编程语言发展方面获得的成果感到无比振奋。”



苏黎世联邦理工学院的计算机科学家们开发出第一种量子编程语言,能够优雅、简单且安全地解决多种复杂的计算问题。


他补充称,“我们的量子编程语言—Silq 将帮助程序员们更好地发挥量子计算机中蕴藏的潜力。对程序员们而言,Silq 代码更加紧凑、速度更快,也更直观且易于理解”。


据了解,本周,Vechev 将在 PLDI 2020 编程语言大会上将 Silq 介绍给量子计算领域的其他专家。为了促进与该语言相关的讨论、采用以及进一步发展,他和他的团队还在自己的网站 (silq.ethz.ch) 上发布了 Silq 项目的更多详细信息。


过去十年以来,量子计算一直备受关注,业界普遍认为这些根据量子力学原理运行的计算机具有巨大的发展空间。如今,大部分研究人员也认为,量子计算机终有一天将在某些特定问题中带来远超传统计算机的处理能力。凭借着纠缠量子态基础之上,各种信息在特定时间点上的重叠情况,量子计算机在某些方面拥有无与伦比的强大算力,足以解决众多在传统计算机上无法在合理时间内解决的问题。


虽然由此衍生出的“量子霸权”理论还没有得到最终证明,但近期取得的一系列重大技术进步无疑让我们充满信心。2019 年夏末,量子计算机已经以远超顶尖经典计算机的速度解决了一个问题(虽然只是非常具体的特定问题)。


在另一方面同,对于某些特定“量子算法(即计算策略)”,其计算速度虽然已经高于经典算法,但却还无法发挥量子计算机的全部潜力。更重要的是,目前的量子计算机的错误率仍然太高,导致我们很难直接在现有量子硬件上运行这些算法。


更好表达程序员的意图


要发挥量子计算的力量,除了配合技术之外,还需要创造一种能够描述量子算法的编程语言。在原则上,算法可以算是解决问题的“秘方”。编程语言负责描述算法,而计算机则在语言代码的指引下完成必要的计算。


如今,量子编程语言已经与特定硬件紧密联系在一起。换句话说,之前的量子编程语言都需要较精确描述底层电路的行为。但对程序员们来说,这些“硬件描述语言”既麻烦又容易出错,因为其中各项编程指令必须非常详细,用以明确描述量子算法实现过程中需要的全部细节。


Martin Vechev 表示,与现有语言相比,Silq 能够更好地发挥量子计算机中的潜力。正因为如此,Vechev 与他的团队才坚定了开发 Silq 语言的决心。



Martin Vechev, 计算机科学教授


Vechev 研究小组中负责开发监督工作的博士生 Benjamin Bichsel 表示,“Silq 是第一种直观量子编程语言,其设计目的不再围绕硬件的结构与功能展开,而更多关注程序员们在解决问题时表达出的意图 — 换言之,他们不需要了解量子计算机的基本架构与每一个实现细节。”


计算机科学家们将这种从特定计算机类型的细节中抽象得出的计算机语言,称为高级编程语言。Silq 可以说是量子计算机领域的第一种高级编程语言。高级语言将更具表现力,能够用更少的代码描述更加复杂的任务与算法。这意味着相关代码将更易于理解,也降低了程序员们的使用门槛。更重要的是,高级语言能够与多种不同计算机架构配合使用。


通过自动计算消除错误


但要论 Silq 给量子编程语言带来的较大创新贡献,还在于它消除了长期困扰量子编程的错误源问题。一切计算机都需要通过多个中间步骤以执行计算任务,而这些步骤的存在总会产生对应的中间结果(或者叫临时值)。


为了释放内存空间,传统计算机会自动删除这些值。对于这种丢弃多余临时值的操作,计算机科学家将其称为“垃圾收集”。


在量子计算机当中,由于量子纠缠态的存在,这种处理操作将更加棘手:此前计算得出的值可能与当前值发生交互,从而干扰正常计算。为此,要想在量子计算机上清除这些临时值,可能还需要一种更高级的所谓“计算撤销(uncomputation)”技术。


Vechev 还指出,“Silq 在量子计算机的编程优化方面带来了一项重大突破;当然,这还只是万里征途的第一步”。


目前,量子计算技术的实际应用当中仍存在着诸多悬而未决的问题,但随着直观编程语言 Silq 的出炉,Vechev 与 Bichsel 希望激励整个行业进一步开发量子编程语言,并推动新型量子算法在理论与应用方面取得新的成果。


Bichsel 总结道,“我们的四人团队历时两年取得了这项突破,其成功源自语言设计、量子物理学以及具体实现等多种不同专业知识的交相融合。如果我们的创新成果能为其他研究团队所认可并带来一点启发,那将是对我们努力的较大肯定。”


云服务器ECS地址:阿里云·云小站

相关文章
|
4月前
|
Rust 安全 Go
揭秘Rust语言:为何它能让你在编程江湖中,既安全驰骋又高效超车,颠覆你的编程世界观!
【8月更文挑战第31天】Rust 是一门新兴的系统级编程语言,以其卓越的安全性、高性能和强大的并发能力著称。它通过独特的所有权和借用检查机制解决了内存安全问题,使开发者既能享受 C/C++ 的性能,又能避免常见的内存错误。Rust 支持零成本抽象,确保高级抽象不牺牲性能,同时提供模块化和并发编程支持,适用于系统应用、嵌入式设备及网络服务等多种场景。从简单的 “Hello World” 程序到复杂的系统开发,Rust 正逐渐成为现代软件开发的热门选择。
75 1
|
4月前
|
算法 Oracle 关系型数据库
量子革命的序曲:揭秘未来编程的终极奥秘,量子计算与编程语言如何重塑我们的数字世界!
【8月更文挑战第12天】随着科技演进,计算机科学迎来革命性变化——量子计算。基于量子位而非传统二进制位的信息处理方式赋予量子计算机解决特定问题超越经典计算机的能力。量子计算兴起催生了如Q#、Qiskit等量子编程语言,其中Q#由微软开发,融合量子与传统计算特点,支持量子纠缠和叠加的直接表达,简化量子算法实现。示例代码展示了一个使用Q#编写的Grover搜索算法,通过量子叠加和迭代实现高效搜索。尽管量子计算尚处初期阶段,但其对未来编程的影响已初露端倪,预示着量子技术驱动的新编程时代即将到来。
65 0
|
7月前
|
机器学习/深度学习 算法 新能源
未来编程之光:量子计算入门
【5月更文挑战第30天】 随着科技的迅猛发展,量子计算作为一颗冉冉升起的新星,正在改变我们对数据处理和计算能力的认知。本文将引导读者走进量子计算的世界,探索其基本原理、当前的应用现状以及面临的挑战,旨在为有志于深入了解和参与量子计算领域的技术人员提供一份入门指南。文章不仅介绍了量子位、量子叠加与纠缠等核心概念,还涉及了量子算法和量子编程语言的最新动态,为读者描绘出一个充满潜力的未来技术蓝图。
|
7月前
|
Java Unix 编译器
C语言:编程世界的基石与魅力之源
C语言是编程的基础,由丹尼斯·里奇在70年代创造,主要用于系统编程和嵌入式系统开发,以其简洁语法、高效执行和硬件访问能力著称。它影响了众多现代编程语言,并在游戏开发等领域有重要应用。通过实例展示了C语言计算两个整数和的功能,强调其在编程教育和计算机科学中的持续价值。
|
7月前
|
机器学习/深度学习 存储 人工智能
未来编程:量子计算与量子编程语言的兴起
【5月更文挑战第30天】 在经典计算模型日趋成熟的今天,量子计算以其潜在的超强并行处理能力和对特定问题的高效解决策略成为科技前沿的新宠。本文将探讨量子计算的基础原理、目前的技术挑战以及量子编程语言的发展现状。我们将分析量子编程与传统编程的根本差异,并展望未来量子编程如何可能引领技术革命。
|
7月前
|
存储 程序员 量子技术
未来编程:量子计算与量子编程语言的崛起
【4月更文挑战第18天】 在经典计算机科学领域,编程已成为现代文明不可或缺的组成部分。然而,随着量子计算的发展,我们即将迈入一个全新的编程纪元。量子计算机利用量子位(qubits)代替传统的二进制比特(bits),从而能够同时处理大量计算路径,为解决复杂问题提供前所未有的速度。本文将探讨量子计算对编程领域的革新影响,以及量子编程语言如何成为连接经典与量子世界的桥梁。
|
7月前
|
边缘计算 人工智能 算法
探索程序设计的奥秘:从理论到实践的飞跃
探索程序设计的奥秘:从理论到实践的飞跃
|
算法 TensorFlow 定位技术
量子程序设计基础 | 量子计算简史
量子革命和量子计算发展简史。
163 0
量子程序设计基础 | 量子计算简史
|
存储 量子技术
量子计算入门:量子计算机的理解与术语科普(二)
量子计算入门:量子计算机的理解与术语科普
309 0
|
存储 算法 量子技术
量子计算入门:量子计算机的理解与术语科普(一)
量子计算入门:量子计算机的理解与术语科普
415 0