量子コンピューターはまだきわめて未熟な段階にあり、大部分は少数の先進的な研究所の好奇心をそそる遊び道具にとどまっている。それでも、量子コンピューターのために新しいプログラミング言語を開発している人々はたくさんいる。
量子コンピューター向けの最新のプログラミング言語の1つに、マイクロソフトの「Q#(Qシャープと読む)」がある。マイクロソフトはこのほど、Q#といくつかのソフトウェア開発支援ツールを発表した。これで「QCL」や「クイッパー(Quipper)」といった高水準の量子プログラミング言語のリストに、新たな言語がまた1つ加わった格好だ。
しかし、量子コンピューターを持っている人がほぼ誰もいないことを考えると、これには何の意味があるのだろう?
マイクロソフトで量子コンピューティングの主任研究マネージャーを務めるクリスタ・スヴォア博士は、新言語が必要なのは、現在のコンピューターのために書かれた言語が量子コンピューターでは使えないからだという。古典的なコンピューターは二進法の形式で、情報を1と0の連なりとしてコード化するのに対し、量子コンピューターは量子ビット(またはキュービット)を使う。これは事実上、1と0を同時にコード化できる。
この「状態の重ね合わせ」により、膨大な量の並列処理が可能になる。量子コンピューターを構築する取り組みに対する関心が非常に高まっているのはそのためだ。量子コンピューターは材料科学から人工 …