本文章为机器翻译。https://blogs.msdn.microsoft.com/visualstudio/2018/12/24/qsharp-wish-list-for-new-year/#
在以前的博客文章,你读过一些关于Q #背后的想法,它是如何开始存在,其发展在过去的一年。你读过关于量子计算,量子算法和你可以做什么,问#今天。随着今年即将结束,只有一件事要盖:下一步是什么?
这个博客是关于我们对未来的渴望和你如何能帮助完成。它包含了一些我们的愿景前进,我们希望能在评论中听到你的想法。
社区
我们关于Q #最令人兴奋的事情之一就是不断增长的社区周围。植根于量子力学原理,量子计算往往有空气不可接近的“门外汉”。然而,量子计算是建立在一个理想的量子系统的行为根据少数相当容易学习原则的概念。在线性代数,后天背景稍微有些坚持,和耐心的时候,你的头怎么包测量工作有可能获得深入的量子算法相当快!
当然,在这些原则的几个好的博客可以帮助。我们努力积极支持你在所提供的材料,帮助你开始探索量子算法的冒险,就像我们日益增长的量子实践。我们的开源库图书馆提供了大量各种各样的积木,用你利用量子追求权力。一个开源项目的主要好处是能够有足够的勇敢的人们探索量子所提供的可能性,分享你的工作。分享你的进步和帮助别人建立在你的成就!无论是在卡塔或图书馆的形式,我们欢迎任何大小我们的库的贡献。让我们知道我们如何可以帮助做出贡献更容易。
开发商之间的交换是软件开发的一个重要方面。它是无所不在的,在一个特定的工具和主题建设一个可持续发展的环境至关重要。值得庆幸的是,现代技术已使交流更容易比在第一计算机程序员开始自己的职业生涯。我们要充分利用互联网的力量,给一个声音和一对Q #和量子计算为世界各地的开发商相关话题的讨论平台。Q # dev的博客是这种努力的一部分。联系我们或在下面的评论,如果你有一个想法,一个博客或者希望听到更多关于某个主题的Q #相关。建立良好的反馈渠道始终是一个具有挑战性的工作,特别是像我们这样的小团队。我们希望这个地方成为一个知识交流源,一个地方你可以找到最新的新闻和你对他们的声音。
生长
这把我们带回到我们的Q #计划。我们已经建立了Q #使量子发展更容易和更方便。当然,也有一些其他的因素所起到的决定。例如,我们预计需要自动化在很大程度上是在今天做手工劳动,例如量子比特的布局和门的合成,还经常做以每个程序案例的基础上,有针对性的硬件。你最后一次担心如何纠错工作在硬件上执行的代码会是什么时候?随着量子比特是一个极为稀缺的资源,和长期的野心,利用量子计算解决计算最密集的任务,不能与当前的硬件解决方案,大型量子优化需要优先。我们选择了发展自己的语言,有什么样的信息完全的控制和灵活性表现如何,当它被编译为在使用过程中能够支持执行量子程序的模块化和可扩展的软件体系结构。但那是另一段故事了。重要的是,这些因素是如何设计和开发语言向前发展的关键因素。
一种编程语言不仅仅是一个方便的工具集,算法表达。它的形状,我们认为,对一个问题的原因的方法,我们如何构造它,把它分解成任务在生成解决方案时。一种编程语言,会对我们的现有方法的认识产生了巨大的影响,以及如何适应和结合我们的目的。尤其是当冒险进入新的领域。
我们的目标是建立一个共同的理解是我们努力完成,并进化Q #成所需的驱动编程进步的强大的语言。我们的目标是利用一种语言的设计者,社会知识编译的退伍军人,量子物理学家、算法和硬件专家,以及各种软件开发商的形状的一种新的计算架构。And we want you to be part of it.
Transparency
Since our 0.3 release at the beginning of November we have been eagerly working on not just the next release, but on defining and preparing the next steps in 2019. While we are in the middle of formulating our plans for the future, I want to give you a brief insight into some of our considerations.
As I am sure you have noticed, the support for data structures in Q# is minimal. While we do provide quite a few high-level language features for abstracting classical and quantum control flow, we intentionally omit some of the more object-oriented mechanisms such as classes. We anticipate remaining heavily focused on transformations that modify the quantum state, expressed as operations in Q#, as well as their characteristics and relations in the future. However, basic bundling of data and manipulations of such is of course an important aspect of many programs and we want to provide suitable mechanisms to express these in a way that allows to make abstractions, is convenient, and is resistant to coding errors. 用户定义的类型在当前设置有限的权力,除了增加类型安全。“黑箱方法”类型参数化目前限制其有用性;我们不提供一个动态的反射机制,它是不可能的应用运营商或其他类型的具体功能参数项的类型为每个调用单独解决。在这个意义上说,这些项目都是“黑盒子”,只能通过周围。我们要做许多繁重的工作尽可能的静态特别是因为量子器件的可调试性是一个巨大的挑战。有几种机制可以考虑减轻这些决定的后果。一方面,约束中使用的几种流行的语言的共同机制。在某种意义上,它们可以被视为“一个基于类型的属性的专业”。你也可以追求更严格的道路专业根据具体类型本身,事实上添加一个表格超载我们目前明确阻止使用。无论哪种方式,通过明确区分用户定义的类型在类型系统,我们对扩展他们的权力做出了第一步的元组。
如果你想听到更多关于可能的想法,问#,其好处和注意事项,或想分享一些自己的想法,在下面的评论!参与讨论,发表你的思考的问题:是什么让一个量子程序设计语言的“量子”,即如何使它特别适合于量子计算?
加入我们
我希望你和我们一起进入了一个新的推计算边界的参与我们的编码比赛年,贡献我们的开源库,评论或写博客,分享你的想法和经验!
如何对新的一年的决议你自己吗?让我们知道您的期望完成,我们如何能帮助你在问#量子编程实现你的新年决心!