Q# 是微软推出的一种有趣的新语言,致力于执行量子计算。
它是否编译为可以从 c# 或任何其他 .net 语言 .Net Framework 和/或 .Net Core Framework(可能是 .Net 标准)引用的 .net 库?
如果不是,那么如何将其合并到经典应用程序中?
如果可以,那么量子计算机会是什么样子?它是否允许运行完整的 .net 架构和量子作为协处理器(有点像 GPU 编程),或者它看起来会如何工作?
Q# 是微软推出的一种有趣的新语言,致力于执行量子计算。
它是否编译为可以从 c# 或任何其他 .net 语言 .Net Framework 和/或 .Net Core Framework(可能是 .Net 标准)引用的 .net 库?
如果不是,那么如何将其合并到经典应用程序中?
如果可以,那么量子计算机会是什么样子?它是否允许运行完整的 .net 架构和量子作为协处理器(有点像 GPU 编程),或者它看起来会如何工作?
是的,Q# 甚至被转译为 C#,然后编译为常规的 .Net 程序集。
您可以通过运行本教程(在安装开发工具包之后)验证这一点:https ://docs.microsoft.com/en-us/quantum/quantum-writeaquantumprogram 。Q# 和 C# 代码可以在同一个项目中共存(目前)。Q# 文件被转换为 .qs.cs 文件(位于obj\qsharp\src
文件夹下)。
是的,Q# 与 .NET 框架完全兼容。
目前,Q# 操作(类似于经典函数)在 Microsoft Quantum Simulator 中运行,其 API 仅适用于 C#,也可能适用于 F#。目前Q#非常依赖C#,因为需要C#驱动来执行Q#操作。没有其他语言的 Quantum Simulator 的 API。
dotnet new console -lang Q# --output Bell
.NET CLI 工具也有从 Q# 模板生成项目的选项,Q# 项目看起来与任何其他典型的 .NET 项目相同,但有一些额外的“.qs”文件。
虽然 Q# 与 Simulator 的耦合并不紧密,但微软表示 Q# 的目标是成为高级语言,Q# 不关心实际的实现细节。所以可以弹出其他可以运行Q#的模拟器。