どのプログラミング言語が初心者に適していますか?


12

多くのプログラミング言語(Q#、Qiskitなど)があることを理解しています

プログラミングを始めたばかりで、量子力学について何も知らない人に適しているのはどれですか?

回答:


7

言語自体はすべて、新しいユーザーにとって本質的に同じです。それらはすべて、量子演算の同じ基本セットを実装しています。これは、過去数十年間に研究者によって使用されてきたものです。

プログラミングを始めたばかりの場合、最も重要な要素は、量子SDKが記述されている言語かもしれません。それらはほとんどがPythonですが、QISKitにはSwiftとJavaのバリアントもあります。Q#はVisual Studioに統合されています。

これ以外にも、次のような違いがあります

  • チュートリアル資料
  • プログラムが実行されるシミュレータまたは実際の量子デバイス
  • 量子知識を必要としない高レベルのアプリケーション。

私がお勧めするものには非常に偏っています(したがって、異なる方向に偏っている他の人もあなたの質問に答えることを望みます)が、QISKitブログをご覧になることは良いスタートになると思います。ここに私自身の記事がいくつかあります


5

それはあなたがより親近感を持つ言語に依存します。

Qiskit、pyQuilなどはPythonであり、Pythonは一般的に理解しやすいプログラミング言語であり、多くの役立つライブラリがあります。初心者が量子コンピューティングを開始するためのドキュメント/チュートリアルを提供します。コードの記述は数行で行えます。

Q#はC#です。試したことはありませんが、CまたはC ++に焦点を当てたプログラミングを学び始めたら(そしてそれが好きです)、これに慣れているはずです。

学習については、Nielsen and ChuangのQuantum Computation and Quantum Informationの本、またはYanofskyとMannucciのコンピューター科学者向けのQuantum Computingを読むことをお勧めします。それらにアクセスできる場合は、選択したプラットフォームのコードを並行して見てください。ただし、理解を深めるために、さまざまなソースと説明を組み合わせることをお勧めします。


2
正直なところ、Mike&Ikeは初心者には良い本だとは思いません。導入が速すぎる、コンピューターサイエンティスト向けの量子コンピューティングや量子コンピューターサイエンスのような他の本:導入は、はるかに優れたIMOです。Mike&Ikeは、量子コンピューティングの実用的な知識があり、さらに具体化したい場合に適しています。
-ahelwer

@ahelwerこれは関連するコメントです。コンピューター科学者向けの量子コンピューティングには、実際に多くの数値例があります。初心者に適しています。
cnada

4

ジェームズ・ウートンの答えに同意します。ライブラリ、リソースの見積もり、その他の高度な機能に依存したい大規模なプロジェクトに取り組むと、言語の選択が重要になります。量子コンピューティングと量子プログラミングの基礎を学び始めたとき、あなたのプログラムは非常に小さくなり、異なる言語間でそれほど違いはありません。

量子コンピューティングの理論についての本やコースをお読みになると思います。この場合、プログラミング言語に間違いなく必要なものが2つあります。

  • 学習した理論を内部化するのに役立つ入門チュートリアル/プログラミング演習の素晴らしいセット。
  • プログラムの実行時に量子ビットの状態を確認できる量子状態シミュレータ。

私の推奨事項(ジェームズが示唆したように、異なる方向に偏っています:-))は、Q#を見てください:

  • 量子カタスは、量子コンピューティング理論のコースに付随するように設計された自習型プログラミングチュートリアルです。各チュートリアルは、解決するための一連の演習と、コードが正しいかどうかを確認するための舞台裏のテストハーネスで構成され、即座にフィードバックを提供します。既存のチュートリアルは入門的なトピックの素晴らしいセットをカバーしており、私たちはさらなるチュートリアルの作成に取り組んでいます。
  • Quantum Development Kitに含まれる完全な状態シミュレータを使用すると、システムの状態を振幅のリストとしてダンプできるため、システムの状態が理解/期待と一致することを確認したり、問題の原因を見つけたりするときにいつでも使用できます。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.