ओपन सोर्स के साथ प्रोग्राम करना सीखें

निःसंदेह, कोई भी व्यक्ति जिसने एक्सेल के साथ कभी भी समय बिताया है, ऐसा कर सकता है (और बेहतर दिखने वाला परिणाम दे सकता है), लेकिन यह केवल समस्या को दर्शाता है - जैसा कि हम अनुप्रयोगों हर दिन उपयोग अधिक परिष्कृत हो जाता है, उन्हें लिखने के लिए आवश्यक प्रोग्रामिंग कौशल और अधिक जटिल हो जाते हैं, और इसलिए पेशे में प्रवेश करने की बाधा बढ़ जाती है। इसकी उम्मीद ही की जा सकती है, लेकिन कंप्यूटिंग शौकीनों के लिए खुला अंतिम पेशा बना हुआ है।

ओपन सोर्स के साथ प्रोग्राम करना सीखें

आप शायद ऐसे विमान में उड़ान नहीं भरेंगे जिसे बिना डिग्री वाले वैमानिक इंजीनियरों द्वारा डिज़ाइन किया गया हो, लेकिन आपने निश्चित रूप से ऐसे विमानों में उड़ान भरी है जिनका सॉफ्टवेयर बिना किसी तुलनीय लोगों द्वारा लिखा गया था योग्यता. हमें तत्काल ऐसी प्रोग्रामिंग पेश करने का एक तरीका खोजने की ज़रूरत है जो "तो क्या?" प्रतिक्रिया को उकसाए नहीं, फिर भी कुछ सार्थक पैदा करे।

अनुप्रयोग, शैली या भाषा?

यदि कोई प्रोग्राम करना सीखना चाहता है तो वह तीन तरीकों से शुरुआत कर सकता है: वह सीख सकता है कि एक विशेष प्रकार का एप्लिकेशन कैसे बनाया जाए; या प्रोग्रामिंग की एक विशेष शैली सीखें; या वे कोई विशेष भाषा सीख सकते हैं। कभी-कभी, ये सभी चीजें साथ-साथ आती हैं - अगर मैं आईफोन ऐप बनाना सीखना चाहता हूं, तो यह काफी हद तक तय करता है कि मैं ऑब्जेक्टिव सी सीखूं, जिसका मतलब ऑब्जेक्ट-ओरिएंटेड शैली सीखना है।

हालाँकि, कभी-कभी, ऐसे संबंधों को तोड़ना मददगार हो सकता है। यदि आप वेबसाइटों के लिए प्रोग्राम लिखना चाहते हैं तो प्रोग्रामिंग शैली और भाषा के लिए आपके विकल्प काफी व्यापक हैं, लेकिन किसी विशेष प्रोग्रामिंग शैली को चुनने से आप इसके साथ क्या कर सकते हैं यह सीमित हो जाएगा।

आईफ़ोनउदाहरण के लिए, पूरी तरह कार्यात्मक प्रोग्रामिंग शैली चुनने से आपके द्वारा उपयोग किए जाने वाले एप्लिकेशन सीमित हो जाएंगे बनाएं (वहां कुछ लोग हैं जो असहमत होंगे) और अपनी पसंद की भाषा को सीमित करें अत्यधिक. एप्लिकेशन के लिए गलत प्रोग्रामिंग भाषा चुनने से समस्याएं हो सकती हैं: उदाहरण के लिए, PHP वेब अनुप्रयोगों के लिए एक बेहतरीन भाषा है, लेकिन iPhone ऐप लिखने के लिए (क्योंकि यह iPhone पर काम नहीं करता है) या किसी विमान के धड़ के चारों ओर वायु प्रवाह का अनुकरण करने के लिए एक खराब विकल्प होगा।

तो इन सभी समस्याओं को देखते हुए, हमें कहां से शुरुआत करनी चाहिए? यदि यह एक विश्वविद्यालय कंप्यूटिंग विज्ञान पाठ्यक्रम होता तो हम एक विशेष शैली में प्रोग्रामिंग की मूल बातें से शुरू करते, और यदि वह शैली होती प्रक्रियात्मक प्रोग्रामिंग हम वेरिएबल्स से शुरू कर सकते हैं, फिर IF...THEN...ELSE और WHILE...DO जैसी संरचनाओं को नियंत्रित करने के लिए आगे बढ़ें, फिर फ़ंक्शंस पर जाएं और प्रक्रियाएं. ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के लिए हम उसी तरह से शुरुआत कर सकते हैं, फिर कक्षाओं में जा सकते हैं, या हम कक्षाओं से शुरू कर सकते हैं, यह इस बात पर निर्भर करता है कि हमने कौन सी ऑब्जेक्ट-ओरिएंटेड भाषा चुनी है। वैकल्पिक रूप से, हम एक विशेष प्रकार का एप्लिकेशन बनाना चाह सकते हैं, जिस तरह प्रोग्रामिंग अक्सर कंप्यूटिंग विज्ञान विभागों के बाहर सिखाई जाती है।

एक गणितज्ञ को संख्यात्मक विश्लेषण में विशेष समस्याओं को हल करने के लिए प्रोग्राम बनाने के लिए पर्याप्त प्रोग्रामिंग सिखाई जा सकती है। हम जो भी दृष्टिकोण अपनाएँ, हमें निम्नलिखित वस्तुओं की आवश्यकता होगी: कुछ अध्ययन सामग्री; हमारी चुनी हुई प्रोग्रामिंग भाषा का कार्यान्वयन; और एक समस्या को हल करना है।

ओपन-सोर्स पुस्तकें

हम हमेशा कंप्यूटर प्रोग्रामों पर लागू होने वाले "ओपन सोर्स" के बारे में सोचते हैं, लेकिन वहां अन्य खुले संसाधनों का ढेर है, जिसमें कैफीनयुक्त पेय पदार्थों से लेकर किताबों तक की रेसिपी शामिल हैं। प्रोग्रामिंग संसाधनों के संदर्भ में, कई विश्वविद्यालय अब अपनी सभी सामग्री वेब पर डालते हैं, लेकिन व्याख्यान स्लाइड का पालन करना कठिन हो सकता है - व्याख्याताओं का यह मानना ​​है कि उनका व्यक्तिगत स्पर्श स्लाइड के महत्व को बढ़ाता है और छात्रों को वास्तव में इसमें भाग लेने के लिए प्रोत्साहित करता है कक्षाएं. (मैं स्लाइडों में जानबूझकर अंतराल छोड़ता था, इसलिए यदि आप व्याख्यान में शामिल नहीं हुए होते तो आपके नोट्स में भी समान अंतराल होते, लेकिन मैं एक कठोर टास्कमास्टर था।)

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