• Blog
  • Info Support
  • Career
  • Training
  • International Group
  • Info Support
  • Blog
  • Career
  • Training
  • International Group
  • Search
logo InfoSupport
  • Latest blogs
  • Popular blogs
  • Experts
      • All
      • Bloggers
      • Speakers
  • Meet us
  • About us
    • nl
    • en
    • .NET
    • 3D printing
    • Advanced Analytics
    • Agile
    • Akka
    • Alexa
    • Algorithms
    • Api's
    • Architectuur
    • Artificial Intelligence
    • ATDD
    • Augmented Reality
    • AWS
    • Azure
    • Big Data
    • Blockchain
    • Business Intelligence
    • Chatbots
    • Cloud
    • Code Combat
    • Cognitive Services
    • Communicatie
    • Containers
    • Continuous Delivery
    • CQRS
    • Cyber Security
    • Dapr
    • Data
    • Data & Analystics
    • Data Science
    • Data Warehousing
    • Databricks
    • DataOps
    • Developers life
    • DevOps
    • Digital Days
    • Digital Twin
    • Docker
    • eHealth
    • Enterprise Architecture
    • Event Sourcing
    • Hacking
    • Infrastructure & Hosting
    • Innovatie
    • Integration
    • Internet of Things
    • Java
    • Machine Learning
    • Microservices
    • Microsoft
    • Microsoft Bot Framework
    • Microsoft Data Platform
    • Mobile Development
    • Mutation Testing
    • Open source
    • Pepper
    • Power BI
    • Privacy & Ethiek
    • Python
    • Quality Assistance & Test
    • Quality Assurance & Test
    • Requirements Management
    • Scala
    • Scratch
    • Security
    • SharePoint
    • Software Architecture
    • Software development
    • Software Factory
    • SQL Server
    • SSL
    • Start-up
    • Startup thinking
    • Stryker
    • Test Quality
    • Testing
    • TLS
    • TypeScript
    • Various
    • Web Development
    • Web-scale IT
    • Xamarin
    • All
    • Bloggers
    • Speakers
Home » Building Microsoft Q# software for Quantum Computers using VSTS
  • Building Microsoft Q# software for Quantum Computers using VSTS

    • By Rolf Huisman
    • .NET 5 years ago
    • .NET 0 comments
    • .NET .NET
    Building Microsoft Q# software for Quantum Computers using VSTS

    At a customer I had the question if Microsoft Visual Studio Team Services (VSTS) or TFS, would be able to handle new technologies. So, because of the “Any Language, Any Platform” vision of the VSTS, I told the client that if he wanted to use VSTS for quantum computers this wouldn’t be any problem. Let’s keep it at that the client called my hand on this one. Many people think quantum computers are still a figure of the imagination. But if you look on tech forums and other news lately there has been a lot of buzz about real devices from different companies like Google, Intel, IBM and DWave coming out with their devices. But even though the machines become more accessible, one still needs to write software for this device. Because these devices are based on the characteristics of quantum mechanics, writing code for these devices hasn’t traditionally be a walk in the park. I can still think of the days where I needed to formulate my own Hamiltonian equations, just to put some computation in place. But as much research and development time is spend making it easier, we are starting to see quantum computing programming languages that help lesser gods to write code for these devices.

    Usage of those Quantum operators. Yes I know that I need to add argument parsing 🙂

     

    In the December 2017 Microsoft released the quantum enabled Q# language. Q# is a language that allows developers to use .Net to create hybrid applications which make use of both quantum and traditional computing in a much simpler way. Q# is packaged in an SDK which one can download to get a native Microsoft Visual Studio experience to program for quantum computers. By using Q# one can create C# projects which can contain Q# operations in order to have them usable as quantum operations. The quantum operations written in Q# live in a “.qs” file, which is currently interpreted by the Q# compiler which writes a “.g.cs” file in your obj directory. Dependencies and libraries are included using Nuget packages which also inject the targets for the Q# compiler. But because its using existing technologies and extension points of the MSBuild and Nuget package management framework, its technically still a “traditional” C# project.

    We are running Microsoft Q# on an unmodified hosted VSTS buildserver.

    And now for the amazing fact; by being a traditional C# project, we can add this project into the VSTS build environment by using the default dotNet Core build template. After doing this, the Q# build worked (after nudging the test folder) out of the box including the Q# written unittest. Because all the packages are published on Nuget.org, this build was running on the Hosted Build agent and ran just fine. Imagine that; writing code for quantum computers, is just as simple as creating a build as usual.

    Woah.. “Any Language, Any Platform” indeed 🙂

    Share this

Rolf Huisman

View profile

Related IT training

Go to training website

Related Consultancy solutions

Go to infosupport.com

Related blogs

  • Building a custom Kubernetes operator in C#

    Building a custom Kubernetes operator in C# Willem Meints - 2 months ago

  • Transform SpecFlow Table Column

    Transform SpecFlow Table Column Ronald Bosma - 5 months ago

  • Building a passwordless login flow with WebAuthn and th…

    Building a passwordless login flow with WebAuthn and th… Willem Meints - 7 months ago

Data Discovery Channel

  • Explainable AI - Break open the blackbox

  • Toekomstvaste microservice data architecturen

  • Modern Data Platform

Nieuwsbrief

* verplichte velden

Contact

  • Head office NL
  • Kruisboog 42
  • 3905 TG Veenendaal
  • T +31 318 552020
  • Call
  • Mail
  • Directions
  • Head office BE
  • Generaal De Wittelaan 17
  • bus 30 2800 Mechelen
  • T +32 15 286370
  • Call
  • Mail
  • Directions

Follow us

  • Twitter
  • Facebook
  • Linkedin
  • Youtube

Newsletter

Sign in

Extra

  • Media Library
  • Disclaimer
  • Algemene voorwaarden
  • ISHBS Webmail
  • Extranet
Beheer cookie toestemming
Deze website maakt gebruik van Functionele en Analytische cookies voor website optimalisatie en statistieken.
Functioneel Always active
De technische opslag of toegang is strikt noodzakelijk voor het legitieme doel het gebruik mogelijk te maken van een specifieke dienst waarom de abonnee of gebruiker uitdrukkelijk heeft gevraagd, of met als enig doel de uitvoering van de transmissie van een communicatie over een elektronisch communicatienetwerk.
Voorkeuren
De technische opslag of toegang is noodzakelijk voor het legitieme doel voorkeuren op te slaan die niet door de abonnee of gebruiker zijn aangevraagd.
Statistieken
De technische opslag of toegang die uitsluitend voor statistische doeleinden wordt gebruikt. De technische opslag of toegang die uitsluitend wordt gebruikt voor anonieme statistische doeleinden. Zonder dagvaarding, vrijwillige naleving door uw Internet Service Provider, of aanvullende gegevens van een derde partij, kan informatie die alleen voor dit doel wordt opgeslagen of opgehaald gewoonlijk niet worden gebruikt om je te identificeren.
Marketing
De technische opslag of toegang is nodig om gebruikersprofielen op te stellen voor het verzenden van reclame, of om de gebruiker op een website of over verschillende websites te volgen voor soortgelijke marketingdoeleinden.
Manage options Manage services Manage vendors Read more about these purposes
Voorkeuren
{title} {title} {title}