
The Q# Programming Language - rbanffy
https://docs.microsoft.com/en-us/quantum/quantum-qr-intro?view=qsharp-preview
======
coltonv
Anyone else notice how the <title> of this page is "Intent and product brand
in a unique string of 43-59 chars including spaces | Microsoft Docs"?

Which is obviously a placeholder, so I wonder how much Microsoft really cared
about this release.

~~~
WalterGR
_I wonder how much Microsoft really cared about this release._

Or someone could have made a mistake.

~~~
verst
Thanks for pointing out this mistake. I'll let the right person know to get
this updated.

Some context: Every article on docs.microsoft.com is written in markdown.
However there is some additional metadata front matter that is easy to
overlook (and new authors may not always be familiar with it). I certainly
have done that before myself.

Disclaimer: I'm a Developer Advocate for Azure. My parent group also owns the
docs.microsoft.com infrastructure.

~~~
GFischer
I laughed at this:

<meta name="keywords" content="Don’t add or edit keywords without consulting
your SEO champ.">

~~~
dend
Some of this accidentally made it into production :) We're working on fixing
this.

------
workthrowaway27
Maybe some HN reader who is more familiar with quantum computing can help me
answer this question: how broadly applicable is quantum computing? I know that
it breaks some forms of cryptography and reduces the security of others, but
aside from that I haven't heard of many practical uses for it. Is it destined
to remain a niche area of computing or is it more broadly applicable than I've
been led to believe?

~~~
sixdimensional
I think "broadly applicable" is not yet something we can state definitively,
because the technology itself is not broadly available. I think it would be
like trying to guess if the first computer made by Alan Turing would be
broadly applicable at the time it was invented - he surely thought so, yet its
invention was only realized in response to code breaking during WWII.

However, the applications are numerous far beyond cryptography. Quantum
computing is an entirely different fundamental type of computing that accepts
uncertainty at its core, which is actually quite a powerful concept in and of
itself. I mean, imagine Boolean logic.. true, false... and now you have
"maybe" (due to the nature of qubits)... I think that for stochastic/random
processes and modeling the real world, the uncertainty can be a very powerful
tool. Of course, that's just one small part of quantum computing.

Here's some more info from DWave's website about applications:
[https://www.dwavesys.com/tutorials/background-reading-
series...](https://www.dwavesys.com/tutorials/background-reading-
series/quantum-computing-primer)

I am curious if there is a link between Google Deepmind and DWave, but not
sure there is one.

~~~
sixdimensional
Not sure of the down vote here. I think that existing concepts such as ternary
logic[1] prove the applicability of alternative (alternative to binary I
mean), multi-state computing models already.

So, quantum processing is a different computing model and programming model,
which up until recently has been too complicated to be in reach of the public,
much like the Turing machine once was. I suspect with advances in cloud
computing and programming tools like this Q# language, it will bring these
advanced capabilities to a wider mass and then the techology's full potential
can be more fully realized.

I understand the parent's question, but perhaps an actual quantum computing
scientist could answer here instead of me.

[1] [https://en.m.wikipedia.org/wiki/Three-
valued_logic](https://en.m.wikipedia.org/wiki/Three-valued_logic)

------
JepZ
Germans will probably call it Quiz :D

(Haltone increases (#) bring the suffix 'is' (like F# == Fis) and 'Q-is'
sounds pretty much like 'Quiz')

~~~
maxxxxx
I haven't talked to German programmers lately. Is C# pronounced "Cis"?

~~~
posedge
The musical note C# is pronounced Cis, the programming language is pronounced
C-sharp. Same for F#

~~~
yorwba
If only there were a convenient way to enter rare characters on ordinary
keyboards. There would be no more confusion between the musical note C𝄰 and
the programming language C#. Or maybe the language would be called C𝄱 instead,
confusing everyone to no end. (Those are three different symbols.)

EDIT: It appears that HN eats the "music sharp sign" character, but not
"musical sharp up" or "musical sharp down".

~~~
pc86
For the record I only see the programming language #, neither of the other
two.

------
dvfjsdhgfv
Are there any open source developments in quantum computing? MS seems to be
doing a lot in this area but I'd hate to be limited to what they offer.

~~~
jackfoxy
Microsoft's Language Integrated Quantum Operations Simulator is available on
Github [http://stationq.github.io/Liquid/](http://stationq.github.io/Liquid/)

~~~
reikonomusha
That is not open source. Note that the meat of it is in the form of compiled
binaries in the /bin directory:
[https://github.com/StationQ/Liquid/tree/master/bin](https://github.com/StationQ/Liquid/tree/master/bin)

In this case, GitHub isn’t being used so much as an open source collaboration
tool, but rather a file host.

------
polskibus
I wonder if resharper supports q#?

------
kevin_thibedeau
Still waiting for C99 to happen. If they dedicated just a fraction of the
effort put into C#, VB.Net, and PowerShell we could have had a proper, modern
C frontend written from scratch.

------
geocar
Jeez. First curl and now q?

Well, if Microsoft isn't going to give a fuck about implied trademarks, and
just aim to be as confusing as possible, I think we can introduce the "windows
programming language"...

~~~
doktrin
I'm an ignorant pleb, is this the Q you're thinking of?

[https://en.wikipedia.org/wiki/Q_(programming_language_from_K...](https://en.wikipedia.org/wiki/Q_\(programming_language_from_Kx_Systems\))

If so, honestly seems kind of esoteric and I'm not really offended by
Microsoft using that letter.

~~~
geocar
> honestly seems kind of esoteric

Q# is more esoteric than Q is.

Has far fewer users, and in every way less of a claim to the name.

... just like "curl".

> I'm not really offended by Microsoft using that letter

Okay, but I am. Now what?

~~~
jetti
Sincere question: Does C# offend you?

~~~
geocar
> Sincere question: Does C# offend you?

No. C# has some relationship with C and C++ and it's clear that Microsoft
wants us to think about the C-ness of C# when we see the "C" in C#; C's
implied trademark is being respected here.

Now my turn for a sincere question:

If someone gets the name "curl" and everyone in a market understands that name
means something, and someone comes around and uses the name for something
else[1], why do you think that's okay?

[1]:
[http://web.archive.org/web/20160819042745/https://github.com...](http://web.archive.org/web/20160819042745/https://github.com/PowerShell/PowerShell/pull/1901)
(archive.org link since github is taking a long time to load)

~~~
jetti
>If someone gets the name "curl" and everyone in a market understands that
name means something, and someone comes around and uses the name for something
else[1], why do you think that's okay?

I never said it was ok. I actually didn't know about this until this thread
and didn't know the details until I read the link you posted. I think that is
shady and wrong. On top of that, curl is so popular that it is hard to believe
those who implemented that command in Powershell did not know about that
already.

That said, when it comes to a language it is entirely possible for people to
not know that a language Q already exists. Also, it is going to be hard to
confuse the two languages when searching for resources, since majority of
people looking for Q# resources are going to actually be typing in "Q#" and
not "Q". On top of that, Q being the first letter in quantum and it being a
language designed for quantum computing makes sense. Plus they add their
signature # at the end which they seem to like to do for new languages (J#,
C#, F#). Unlike curl, I see very little malice in the naming of the Q#
language

EDIT: I have another sincere question for you: What are your thoughts on the
J[0] and J#[1] programming language names? Microsoft created J# as a bridge
between Java and Visual J++ to transition to .NET. This was in 2002, 12 years
after the J programming language first appeared.

[0]
[https://en.wikipedia.org/wiki/J_(programming_language)](https://en.wikipedia.org/wiki/J_\(programming_language\))

[1]
[https://en.wikipedia.org/wiki/J_Sharp](https://en.wikipedia.org/wiki/J_Sharp)

~~~
geocar
> when it comes to a language it is entirely possible for people to not know
> that a language Q already exists.

I don't buy it.

[https://www.bing.com/search?q=q+programming+language](https://www.bing.com/search?q=q+programming+language)

> it is going to be hard to confuse the two languages when searching for
> resources, since majority of people looking for Q# resources are going to
> actually be typing in "Q#" and not "Q".

Again, I don't buy it.

[https://www.bing.com/search?q=q%23+programming+language](https://www.bing.com/search?q=q%23+programming+language)

Try harder.

> they add their signature # at the end which they seem to like to do for new
> languages (J#, C#, F#).

which follow Java, C, and System F.

