Bahasa pemrograman mana yang cocok untuk pemula?

12

Saya mengerti ada banyak bahasa pemrograman (mis. Q #, Qiskit, dll.)

Yang mana yang cocok untuk seseorang yang baru mulai belajar pemrograman dan tidak tahu apa-apa tentang mekanika kuantum?

Daniel Mana
sumber

Jawaban:

7

Bahasa itu sendiri pada dasarnya sama untuk pengguna baru. Mereka semua menerapkan rangkaian dasar operasi kuantum yang sama, yang merupakan operasi yang telah digunakan oleh para peneliti selama beberapa dekade terakhir.

Jika Anda baru saja memulai pemrograman, faktor yang paling relevan untuk Anda mungkin adalah bahasa tempat kuantum SDK ditulis. Mereka sebagian besar menggunakan Python, tetapi QISKit juga memiliki varian Swift dan Java. Q # terintegrasi ke dalam Visual Studio.

Di luar ini, ada perbedaan dalam hal-hal seperti

  • materi tutorial
  • simulator atau perangkat kuantum nyata yang akan dijalankan oleh program Anda
  • aplikasi tingkat tinggi yang tidak memerlukan pengetahuan kuantum.

Saya sangat bias dalam apa yang saya sarankan (dan jadi saya harap orang lain yang bias dalam arah yang berbeda juga akan menjawab pertanyaan Anda) tetapi saya akan mengatakan bahwa melihat blog QISKit mungkin merupakan awal yang baik. Ini beberapa artikel saya sendiri

James Wootton
sumber
5

Itu tergantung pada bahasa yang akan membuat Anda lebih tertarik.

Qiskit, pyQuil, dll berada dalam Python, yang merupakan bahasa pemrograman yang mudah dipahami secara umum dengan banyak perpustakaan yang bermanfaat. Mereka menyediakan dokumentasi / tutorial untuk membuat pemula memulai komputasi kuantum. Menulis kode dapat dilakukan dalam beberapa baris.

Q # dalam C #. Saya belum mencobanya tetapi jika Anda mulai belajar pemrograman yang berfokus pada C atau C ++ (dan menyukainya), saya kira Anda harus merasa nyaman dengan yang satu ini.

Untuk belajar, saya akan merekomendasikan untuk membaca buku Komputasi Quantum dan Informasi Quantum dari Nielsen dan Chuang atau Quantum Computing untuk Ilmuwan Komputer dari Yanofsky dan Mannucci; jika Anda dapat memiliki akses ke mereka dan secara paralel melihat beberapa kode di platform pilihan Anda. Tetapi selalu merupakan ide yang baik untuk menggabungkan berbagai sumber dan penjelasan untuk memahami dengan lebih baik.

cnada
sumber
2
Sejujurnya saya tidak berpikir Mike & Ike adalah buku yang bagus untuk pemula. Ini memperkenalkan terlalu banyak terlalu cepat, buku-buku lain seperti Quantum Computing for Computer Scientists atau Quantum Computer Science: An Introduction adalah IMO yang jauh lebih baik. Mike & Ike bagus ketika Anda memiliki pengetahuan tentang komputasi kuantum dan ingin menyempurnakannya.
ahelwer
@ahelwer Ini adalah komentar yang relevan. Quantum Computing untuk ilmuwan komputer memang memiliki banyak contoh numerik. Ini akan lebih cocok untuk pemula.
cnada
4

Saya setuju dengan jawaban James Wootton. Pilihan bahasa menjadi penting setelah Anda mengerjakan proyek yang lebih besar di mana Anda ingin bergantung pada perpustakaan, perkiraan sumber daya dan fitur-fitur canggih lainnya. Ketika Anda mulai mempelajari dasar-dasar komputasi kuantum dan pemrograman kuantum, program Anda akan sangat kecil dan benar-benar tidak berbeda di berbagai bahasa.

Saya berasumsi Anda akan membaca beberapa buku / kursus tentang teori komputasi kuantum. Dalam hal ini, ada dua hal yang pasti Anda inginkan dari bahasa pemrograman:

  • satu set tutorial pengantar / pemrograman yang bagus untuk membantu Anda menginternalisasi teori yang telah Anda pelajari.
  • simulator keadaan kuantum yang akan memungkinkan Anda untuk melihat status qubit saat program Anda dijalankan.

Rekomendasi saya (bias dalam arah yang berbeda, seperti yang disarankan James :-)) adalah untuk melihat Q #:

  • Quantum Katas adalah tutorial pemrograman mandiri yang dirancang untuk menemani kursus teori komputasi kuantum. Setiap tutorial terdiri dari serangkaian latihan untuk Anda selesaikan dan harness pengujian di belakang layar yang memeriksa apakah kode Anda benar, memberikan Anda umpan balik segera. Tutorial yang ada mencakup serangkaian topik pengantar yang bagus, dan kami sedang berupaya membuat lebih banyak tutorial.
  • Simulator keadaan penuh yang termasuk dalam Quantum Development Kit memungkinkan untuk membuang status sistem sebagai daftar amplitudo, sehingga Anda dapat menggunakannya kapan pun Anda ingin memeriksa bahwa keadaan sistem sesuai dengan pemahaman / harapan Anda atau untuk mencari tahu apa yang salah.
Mariia Mykhailova
sumber