当前位置: 首页 > 科技观察

微软透露量子计算编程语言QSharp的发展方向

时间:2023-03-22 13:19:03 科技观察

微软的量子计算开发工具包Q#于2017年底发布,距离微软更早的开源支持macOS和Linux平台也已经一年了今年要扩大开发商的数量。规模。近日,微软对Q#的设计理念和未来发展方向进行了说明。微软之所以发布Q#,不仅是为了让量子开发更简单,也是为了满足特定场景的需求。例如,微软宣布将增加自动化功能。微软提到,量子比特布局和量子门合成通常仍需要针对每个程序和目标硬件一一完成,而自动化可以加速这一过程。此外,Q#还可以解决开发者经常担心代码在硬件上执行时纠错的问题。并且由于量子位仍然是稀缺资源,微软认为量子计算的长期目标应该是解决当前硬件无法解决的计算密集型任务。微软也希望在开发工作中使用大规模的量子程序优化。被视为优先事项。所以微软选择开发自己的语言,是为了完全控制信息的表达方式,使其在量子编译时具有灵活性,能够支持模块化和可扩展的软件架构。微软提到,编程语言不仅代表了一套便于表达算法的工具,还塑造了开发者思考问题的方式,以及将问题拆解成小任务并构建解决方案的方式。为了某种目的而调整和组合这些工具,一种编程语言可以对理解现有方法产生巨大影响,更不用说将它们应用于全新的领域了。微软希望聚集编程语言设计师、编译器工程师、量子物理学家、算法和硬件专家以及各种软件开发人员,为量子计算塑造一个新的计算架构。2018年11月,Q#发布0.3版本,官方正在筹备下一个版本,并说明了Q#的发展方向。微软提到Q#中对数据结构的支持很少。虽然提供了许多高级语言特性来抽象经典概念和量子控制流,但忽略了一些面向对象的机制,如类别。未来,微软将专注于纠正量子态的转换,将它们表示为Q#中的操作及其未来的属性和关系。然而,数据和这些操作的基本绑定是许多程序的重要组成部分,微软希望提供适当的机制来表达它,允许抽象、方便并减少编码错误。除了提高类型安全性之外,当前设置中的用户定义类型在以黑盒方式参数化类型的能力方面受到限制,从而限制了它们的实用性。由于Microsoft不提供动态反射机制,因此不可能将运算符或其他特定于类型的功能应用于解析其类型参数项的每个单独调用。所以在这个设计的意义上,这些项目只是黑盒子,只能用于交付。由于调试量子设备非常困难,微软希望以静态方式执行这些繁重的任务。微软提出了两种可能的机制来减轻这些负担。其中一个是类型限制,这是流行语言的一种机制,可以看作是基于类型属性的特化,另一个是基于实际类型本身追求更严格的特化方向,以增加当前避免的重载类型。无论哪种方式,明确地将用户定义的类型与类型系统中的元组分开是扩展其功能的第一步。微软表示,Q#在社区的帮助下继续发展。虽然量子计算是建立在量子力学的基础上,普通人因为不熟悉这个领域而望而却步,但是由于量子计算是建立在理想化的量子系统的概念之上的,所以也符合一些简单易学的原理.Microsoft通过Q#开发博客上的文章传达这些原则,并促进开发人员交流。