कौन सी प्रोग्रामिंग भाषा एक शुरुआत के लिए उपयुक्त है?


12

मैं समझता हूं कि बहुत सारी प्रोग्रामिंग लैंग्वेज हैं (जैसे Q #, Qiskit, आदि)

कौन सा किसी के लिए उपयुक्त है जिसने अभी प्रोग्रामिंग सीखना शुरू किया है और क्वांटम यांत्रिकी के बारे में कुछ भी नहीं जानता है?

जवाबों:


7

भाषाएँ स्वयं सभी अनिवार्य रूप से एक नए उपयोगकर्ता के लिए समान हैं। वे सभी क्वांटम संचालन के एक ही मूल सेट को लागू करते हैं, जो कि पिछले कुछ दशकों से शोधकर्ताओं द्वारा उपयोग किए गए हैं।

यदि आपने अभी-अभी प्रोग्रामिंग शुरू की है, तो आपके लिए सबसे प्रासंगिक कारक वह भाषा हो सकती है जो क्वांटम एसडीके में लिखी गई है। वे ज्यादातर पायथन में हैं, लेकिन क्यूसेट में स्विफ्ट और जावा संस्करण भी हैं। Q # को Visual Studio में एकीकृत किया गया है।

इससे परे, चीजों में मतभेद हैं

  • ट्यूटोरियल सामग्री
  • सिमुलेटर या वास्तविक क्वांटम डिवाइस आपके प्रोग्राम चलेंगे
  • उच्च-स्तरीय अनुप्रयोग जिनके लिए क्वांटम ज्ञान की आवश्यकता नहीं है।

मैं जो कुछ भी सुझाता हूं , उसमें बहुत पक्षपाती हूं (और इसलिए मुझे उम्मीद है कि अन्य लोग अलग-अलग दिशाओं में पक्षपाती होंगे, आपके सवाल का जवाब भी देंगे) लेकिन मैं कहूंगा कि QISKit ब्लॉग पर एक नज़र डालना एक अच्छी शुरुआत हो सकती है। यहाँ मेरे अपने लेखों की एक जोड़ी है


5

यह उन भाषाओं पर निर्भर करता है जिनके साथ आपकी अधिक आत्मीयता होगी।

किस्किट, pyQuil, आदि पायथन में हैं, जो एक प्रोग्रामिंग लैंग्वेज है, जिसे आमतौर पर बहुत सारे सहायक पुस्तकालयों के साथ समझना आसान है। वे किसी भी शुरुआती को क्वांटम कंप्यूटिंग शुरू करने के लिए दस्तावेज / ट्यूटोरियल प्रदान करते हैं। कोड लिखना कुछ लाइनों में किया जा सकता है।

क्यू # सी # में है। मैंने इसकी कोशिश नहीं की है, लेकिन अगर आपने C या C ++ (और इसे पसंद) पर ध्यान केंद्रित करते हुए प्रोग्रामिंग सीखना शुरू कर दिया है, तो मुझे लगता है कि आपको इस पर सहज होना चाहिए।

सीखने के लिए, मैं येलोफस्की और मन्नुसी से कंप्यूटर वैज्ञानिकों के लिए नीलसन और चुआंग या क्वांटम कम्प्यूटिंग पुस्तक क्वांटम कम्प्यूटेशन और क्वांटम सूचना को पढ़ने की सिफारिश करूंगा; यदि आपके पास उनकी पसंद के प्लेटफ़ॉर्म में कुछ कोड पर उनके समानांतर और समान पहुंच हो सकती है। लेकिन हमेशा बेहतर समझने के लिए विभिन्न स्रोतों और स्पष्टीकरणों को संयोजित करना एक अच्छा विचार है।


2
मैं ईमानदारी से नहीं लगता कि माइक और इके शुरुआती लोगों के लिए एक अच्छी किताब है। यह बहुत अधिक तेजी से परिचय देता है, अन्य पुस्तकें जैसे क्वांटम कम्प्यूटिंग फॉर कंप्यूटर साइंटिस्ट्स या क्वांटम कंप्यूटर साइंस: एन इंट्रोडक्शन बहुत बेहतर आईएमओ हैं। जब आप क्वांटम कंप्यूटिंग का काम कर रहे हैं तो माइक और आईके अच्छा है और इसे और आगे बढ़ाना चाहते हैं।
एहेलवर

@ तहलका यह एक प्रासंगिक टिप्पणी है। कंप्यूटर वैज्ञानिकों के लिए क्वांटम कम्प्यूटिंग वास्तव में कई संख्यात्मक उदाहरण हैं। यह बेहतर शुरुआत के अनुकूल होगा।
cnada

4

मैं जेम्स वॉटन के जवाब से सहमत हूं। एक बड़ी परियोजना पर काम करते समय भाषा का चुनाव महत्वपूर्ण हो जाता है जिसमें आप पुस्तकालयों, संसाधन अनुमानों और अन्य उन्नत सुविधाओं पर निर्भर रहना चाहते हैं। जब आप क्वांटम कंप्यूटिंग और क्वांटम प्रोग्रामिंग की मूल बातें सीखना शुरू कर रहे हैं, तो आपके कार्यक्रम बहुत छोटे होंगे और वास्तव में विभिन्न भाषाओं में भिन्न नहीं होंगे।

मुझे लगता है कि आप क्वांटम कंप्यूटिंग के सिद्धांत पर किसी किताब / पाठ्यक्रम से गुजरेंगे। इस मामले में, दो चीजें हैं जो आप निश्चित रूप से प्रोग्रामिंग भाषा से चाहते हैं:

  • परिचयात्मक ट्यूटोरियल / प्रोग्रामिंग अभ्यास का एक अच्छा सेट आपके द्वारा सीखे गए सिद्धांत को आंतरिक बनाने में मदद करने के लिए है।
  • एक क्वांटम राज्य सिम्युलेटर जो आपको अपने कार्यक्रम को निष्पादित करने के रूप में क्वेट की स्थिति को देखने की अनुमति देगा।

मेरी सिफारिश (अलग दिशा में पक्षपाती है, जैसा कि जेम्स ने सुझाव दिया :-)) क्यू # पर एक नज़र रखना है:

  • क्वांटम कैटास स्व- चालित प्रोग्रामिंग ट्यूटोरियल हैं जिन्हें क्वांटम कंप्यूटिंग सिद्धांत पर एक पाठ्यक्रम के साथ बनाया गया है। प्रत्येक ट्यूटोरियल में आपको हल करने के लिए अभ्यास का एक सेट होता है और एक बैक-द-सीन परीक्षण दोहन होता है जो यह जांचता है कि क्या आपका कोड सही है, आपको तत्काल प्रतिक्रिया प्रदान करता है। मौजूदा ट्यूटोरियल परिचयात्मक विषयों का एक अच्छा सेट कवर करते हैं, और हम अधिक ट्यूटोरियल बनाने पर काम कर रहे हैं।
  • क्वांटम डेवलपमेंट किट में शामिल पूर्ण राज्य सिम्युलेटर एम्पलीट्यूड की सूची के रूप में सिस्टम स्थिति को डंप करने की अनुमति देता है, इसलिए आप इसका उपयोग तब कर सकते हैं जब भी आप यह जांचना चाहते हैं कि सिस्टम की स्थिति आपकी समझ / अपेक्षा से मेल खाती है या गलत क्या है।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.