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

新闻 前端
微软的量子计算开发工具包Q#在2017年底发布,已满一年,微软也在今年初开源并支持了macOS与Linux平台,以扩大开发者规模。

 微软的量子计算开发工具包Q#在2017年底发布,已满一年,微软也在今年初开源并支持了macOS与Linux平台,以扩大开发者规模。近期,微软阐述了说明了Q#的设计理念与接下来的发展方向。

[[253828]]

微软发布Q#的原因,除了要让量子开发更容易,同时也希望能满足特定情境的需求,如微软预告会添加自动化功能。微软提到,量子位布局和量子闸合成,通常仍需要针对每个程序和目标硬件逐一进行,而自动化可以加速这个过程。

另外,Q#也能解决开发人员常会担心代码在硬件上执行时的错误纠正问题。以及由于量子位现在仍是稀缺资源,微软认为,量子计算的长期目标应该是被用来解决,当前硬件还无法解决的计算密集型工作,微软也希望在开发工作上,大规模量子程序优化应该被当作优先选项。

因此微软选择开发自有的语言,以便对信息的表达方式拥有完全的控制力,使其富有弹性,以及在量子编译时能够支持模块化与可扩展软件架构。微软提到,编程语言不仅代表一组方便用来表达算法的工具,也同时塑造了开发者思考问题的方法,以及拆解问题成小任务并建构解决方案的方式。

根据目的调整和组合这些工具,编程语言可以对理解现有方法产生极大的影响,更不用说用在全新领域上。微软想集合编程语言设计人员、编译工程师、量子物理学家、算法和硬件专家以及各种软件开发者,为量子计算塑造一种新的计算架构。

2018年11月Q#发布了0.3版,官方现在已经着手准备下一个版本,并且说明了Q#发展的方向。微软提到,Q#中对数据结构的支持很少,虽然提供了许多高级语言功能来抽象经典概念以及量子控制流,但忽略了一些诸如类别等面向对象的机制。

微软未来会将重点放在修正量子态的转换,将其表达成Q#中的操作以及在未来的特性和关系。然而,数据的基本捆绑和这些操作为许多程序重要的部分,微软希望提供适当的机制来表达,以允许达到抽象、方便以及降低代码编写错误。

除了增加的类型安全性之外,当前设置中的用户定义类型的能力受限,目前以黑盒的方式将类型参数化,因此限制了他们的用途。由于微软没有提供动态反射的机制,因此不可能将运算符或是其他类型特定功能,应用于每个单独呼叫解析其类型的参数项目。因此就这个设计的意义来说,这些项目只是个黑盒子,仅能用于传递。

由于量子设备排错非常困难,微软希望能以静态的方式,执行这些繁重的工作,微软提出了两种可能的机制,以来减轻这些负担,其中一是类型限制,这是一种的常见于热门语言的机制,可以被视为基于类型属性的专业化,另一种则是根据实际类型本身,追求更严格的专业化方向,以增加目前避免使用的过载的类型。而无论是哪一种方法,透过明确地将使用者定义的类型,与类型系统中的元组分开,是跨出扩展其能力的***步。

微软表示,Q#借助社区的力量不断发展,虽然量子计算建立在量子力学之上,一般人因为对于这领域不熟悉而却步,但是又因为量子计算建立在理想化量子系统的概念上,因此也符合部分容易学习的原则。微软透过Q#开发博客的文章传递这些原则,并促使开发人员进行交流。

责任编辑:张燕妮 来源: 头条科技
相关推荐

2020-02-26 15:14:23

编程语言PythonJava

2009-02-11 21:17:15

编程语言JeffreyWindows核心编程

2013-11-06 08:48:41

异构计算移动计算

2009-07-16 14:22:26

虚拟化微软管理

2013-10-08 11:16:55

谷歌云计算

2009-10-14 15:06:22

IT职业发展

2022-12-26 10:40:52

2021-06-01 12:46:26

人工智能机器人 机器学习

2019-10-14 15:14:17

存储云存储人工智能

2009-10-21 15:43:38

综合布线市场

2019-05-24 16:35:29

微软量子编程

2017-09-27 13:41:32

量子微软程序猿

2011-05-19 09:39:51

数据库计算机

2012-09-04 09:55:43

云计算亚马逊云微软云

2009-10-26 16:13:48

远程接入网

2011-06-21 18:05:15

SEO

2013-01-07 10:37:10

移动游戏本地游戏桌游

2012-06-21 09:15:59

分散化的趋势云计算

2012-06-18 09:30:03

惠普SAP混合云

2020-04-13 16:06:57

云计算IT混合云
点赞
收藏

51CTO技术栈公众号