ฉันเข้าใจว่ามีภาษาการเขียนโปรแกรมจำนวนมาก (เช่น Q #, Qiskit เป็นต้น)
อันไหนเหมาะกับคนที่เพิ่งเริ่มเรียนรู้การเขียนโปรแกรมและไม่รู้อะไรเลยเกี่ยวกับกลศาสตร์ควอนตัม
ฉันเข้าใจว่ามีภาษาการเขียนโปรแกรมจำนวนมาก (เช่น Q #, Qiskit เป็นต้น)
อันไหนเหมาะกับคนที่เพิ่งเริ่มเรียนรู้การเขียนโปรแกรมและไม่รู้อะไรเลยเกี่ยวกับกลศาสตร์ควอนตัม
คำตอบ:
ภาษาเองล้วนเป็นสิ่งเดียวกันสำหรับผู้ใช้ใหม่ พวกเขาทั้งหมดใช้ชุดพื้นฐานของการปฏิบัติการควอนตัมซึ่งเป็นสิ่งที่นักวิจัยใช้ในช่วงสองสามทศวรรษที่ผ่านมา
หากคุณเพิ่งเริ่มต้นการเขียนโปรแกรมปัจจัยที่เกี่ยวข้องที่สุดสำหรับคุณอาจเป็นภาษาที่มี quantum SDK ที่เขียนขึ้นโดยส่วนใหญ่จะเป็น Python แต่ QISKit มีตัวแปร Swift และ Java Q # รวมอยู่ใน Visual Studio
นอกเหนือจากนี้มีความแตกต่างในสิ่งที่ชอบ
ฉันลำเอียงอย่างมากในสิ่งที่ฉันแนะนำ (และฉันหวังว่าคนอื่น ๆ จะลำเอียงในทิศทางที่แตกต่างกันจะตอบคำถามของคุณด้วย) แต่ฉันบอกว่าการดูที่บล็อก QISKitอาจเป็นการเริ่มต้นที่ดี นี่คือบทความของฉันสองสามข้อ
ขึ้นอยู่กับภาษาที่คุณจะผูกพันกับคุณมากขึ้น
Qiskit, pyQuil ฯลฯ อยู่ใน Python ซึ่งเป็นภาษาโปรแกรมที่เข้าใจง่ายโดยทั่วไปมีไลบรารีที่เป็นประโยชน์มากมาย พวกเขามีเอกสาร / บทช่วยสอนเพื่อให้ผู้เริ่มต้นเริ่มต้นคำนวณควอนตัม รหัสการเขียนสามารถทำได้ในไม่กี่บรรทัด
Q # อยู่ใน C # ฉันยังไม่ได้ลอง แต่ถ้าคุณเริ่มเรียนรู้การเขียนโปรแกรมโดยเน้นที่ C หรือ C ++ (และชอบ) ฉันคิดว่าคุณน่าจะพอใจกับมัน
สำหรับการเรียนรู้ฉันขอแนะนำให้อ่านหนังสือการคำนวณควอนตัมและข้อมูลควอนตัมจาก Nielsen และ Chuang หรือคอมพิวเตอร์ควอนตัมสำหรับนักวิทยาศาสตร์คอมพิวเตอร์จาก Yanofsky และ Mannucci; หากคุณสามารถเข้าถึงพวกเขาและในแบบคู่ขนานดูรหัสในแพลตฟอร์มที่คุณเลือก แต่ก็เป็นความคิดที่ดีเสมอที่จะรวมแหล่งต่าง ๆ และคำอธิบายเพื่อให้เข้าใจได้ดีขึ้น
ฉันเห็นด้วยกับคำตอบของ James Wootton การเลือกภาษามีความสำคัญเมื่อคุณทำงานในโครงการขนาดใหญ่ที่คุณต้องการพึ่งพาไลบรารีการประเมินทรัพยากรและคุณลักษณะขั้นสูงอื่น ๆ เมื่อคุณเริ่มเรียนรู้พื้นฐานของการคำนวณควอนตัมและการเขียนโปรแกรมควอนตัมโปรแกรมของคุณจะเล็กมากและไม่แตกต่างกันในแต่ละภาษา
ฉันคิดว่าคุณจะต้องอ่านหนังสือ / หลักสูตรเกี่ยวกับทฤษฎีการคำนวณควอนตัม ในกรณีนี้มีสองสิ่งที่คุณต้องการจากภาษาการเขียนโปรแกรม:
คำแนะนำของฉัน (ลำเอียงในทิศทางที่แตกต่างกันตามที่เจมส์แนะนำ :-)) คือการดูที่ Q #: