जब से मैं छोटा था, मैं हमेशा एक अत्यंत जिज्ञासु व्यक्ति रहा हूं जिसे समस्याओं को समझने और हल करने में आनंद आता था। प्रोग्रामिंग से मेरा परिचय पहली बार हाई स्कूल में हुआ था और स्पष्ट कारणों से मैं जल्द ही इसके प्रति जुनूनी हो गया।
हाई स्कूल में पहली भाषाएं और उपकरण जो मुझे याद हैं, वे ट्यूरिंग, प्रोसेसिंग, ग्रीनफुट और ब्लूजे जैसी चीजें थीं। इनमें से सभी सीखने के उपकरण थे, और ट्यूरिंग के अपवाद के साथ, ग्राफिकल प्रोग्रामिंग पर मुख्य फोकस के साथ जावा अमूर्त थे। इन उपकरणों ने मुझे बहुत तेजी से कुछ बहुत अच्छे काम करने की अनुमति दी। ये शुरुआती अनुभव वास्तव में मेरी रुचि को प्रेरित करते हैं।
वहां से मैं वेब डेवलपमेंट का अध्ययन करने के लिए अपने स्थानीय कॉलेज जाना चाहता हूं। यहां मैंने HTML, CSS, JavaScript जैसी चीजें सीखनी शुरू कीं। बाद में शुद्ध विकास के बाहर PHP, रूबी, ASP.NET, एंगुलर और कई अन्य संबंधित कौशल जैसी चीजों पर आगे बढ़ना। यह एक अद्भुत पाठ्यक्रम था और इसने मुझे एक अत्यधिक प्रभावी वेब डेवलपर बनने के लिए आवश्यक सभी कौशल प्रदान किए।
अपने कॉलेज करियर के अंत तक मुझे समग्र रूप से वेब डेवलपमेंट की काफी अच्छी समझ हो गई थी। मैं निश्चित रूप से सबकुछ नहीं जानता था लेकिन मैं उस बिंदु पर था जहां मेरे लिए कुछ भी रहस्य नहीं था। यहीं से मेरी स्वाभाविक जिज्ञासा ने मुझे और गहराई में जाने के लिए प्रेरित किया। ऑपरेटिंग सिस्टम, सिस्टम स्तर के विकास और एंबेडेड सिस्टम के खरगोश छेद में मुझे ले गया। जैसा कि आप कल्पना कर सकते हैं, पहला कदम सी झुक रहा था।
सी सीखना मेरी अपेक्षा से कहीं अधिक कठिन था। स्टैक और हीप मेमोरी के साथ-साथ पॉइंटर्स की अवधारणा बेहद भ्रमित करने वाली थी। विशेष रूप से कूड़ा बीनने वालों के साथ उच्च स्तरीय भाषाओं से आ रहा है। यह तुरंत मेरे सामने स्पष्ट हो गया कि सी बस अधिक कठिन नहीं थी, वास्तव में भाषा वास्तव में काफी सरल थी, लेकिन मुझे पिछले कुछ वर्षों में उच्च स्तरीय भाषाओं को सीखने के दौरान बनाई गई सभी बुरी आदतों और गलत धारणाओं को लगातार भूलना पड़ा!
अब मैं इसे ऊपर से नीचे तक सीखने का अभिशाप कहता हूं!
मैं इस बात से बेहद निराश हो गया कि गैर सिस्टम स्तर की भाषाएं सीखते समय मैंने ये सभी गलत धारणाएं बना ली थीं। इससे C को सीखने की प्रक्रिया में संभवतः जितना समय लगना चाहिए था, उससे तीन गुना अधिक समय लग गया।
मैं जिन अमूर्तनों का उपयोग कर रहा था उनके प्रति मुझमें सराहना की कमी थी!
मुझे गलत मत समझिए, ऐसे कई लोग हैं जो केवल एप्लिकेशन स्तर के विकास पर ध्यान केंद्रित करके, या बुनियादी पायथन स्क्रिप्टिंग करके अपना पूरा करियर बना सकते हैं। हालाँकि यदि आप वास्तव में एक सॉफ्टवेयर इंजीनियर बनना चाहते हैं और एम्बेडेड सिस्टम से लेकर ऑपरेटिंग सिस्टम और उन ऑपरेटिंग सिस्टम के लिए विकसित अनुप्रयोगों तक के क्षेत्र को समग्र रूप से समझना चाहते हैं, तो नीचे से ऊपर की ओर झुकना बेहद फायदेमंद है।
जो कोई भी वास्तव में सॉफ्टवेयर इंजीनियर बनना चाहता है, उसके लिए मेरा सुझाव है कि वह सी से शुरुआत करें। स्टैक और हीप के साथ-साथ पॉइंटर्स के बीच अंतर को समझें। कुछ असेंबली के साथ काम करें, भले ही वह केवल उस असेंबली का विश्लेषण कर रहा हो जो आपके छोटे सी एप्लिकेशन उत्पन्न करते हैं। अगर आप इन बातों को बुनियादी तौर पर समझ लें तो बाकी सब कुछ बहुत आसान हो जाएगा!
काश मेरी शुरुआत भी इसी तरह होती। मेरी गलतियों से झुक जाओ!
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3