वर्षों से मैंने "निम्न स्तर" की भाषाओं पर विचार करते हुए खुदाई करने पर विचार किया है। मेरे लिए इसका मतलब है सी और असेंबली। हालाँकि मेरे पास इसके लिए अभी तक कोई समय नहीं था, और न ही यह कभी-कभी निराला रहा है।
अब चूँकि मुझे कोई भी विषमता नहीं दिख रही है, मुझे ऐसा लग रहा है कि मुझे या तो बस कुछ समय निर्धारित करना चाहिए जब मैं इस विषय का अध्ययन करूंगा या योजना को हमेशा के लिए छोड़ दूंगा।
मेरा स्थान
पिछले 4 वर्षों से मैंने "वेब प्रौद्योगिकियों" पर ध्यान केंद्रित किया है, जो बदल सकता है, और मैं एक एप्लिकेशन डेवलपर हूं, जो बदलने की संभावना नहीं है।
अनुप्रयोग विकास में, मुझे लगता है कि प्रयोज्य सबसे महत्वपूर्ण चीज है। आप उपयोगकर्ताओं द्वारा "भस्म" होने के लिए एप्लिकेशन लिखते हैं। वे अनुप्रयोग जितने अधिक उपयोगी हैं, उतने ही अधिक मूल्य का आपने उत्पादन किया है।
अच्छी उपयोगिता हासिल करने के लिए, मेरा मानना है कि निम्नलिखित चीजें व्यवहार्य हैं
- अच्छा डिज़ाइन : सुविचारित उपयोगकर्ता इंटरफ़ेस के माध्यम से अच्छी तरह से सोची-समझी जाने वाली सुविधाएँ।
- सुधार : सबसे अच्छा डिजाइन कुछ भी लायक नहीं है, अगर सही तरीके से लागू नहीं किया गया है।
- लचीलापन : एक एप्लिकेशन ए को लगातार विकसित होना चाहिए, ताकि उसके उपयोगकर्ताओं को एक अलग एप्लिकेशन बी पर स्विच करने की आवश्यकता न हो, जिसमें नई विशेषताएं हों, जो इसे लागू कर सकें। एक ही समस्या को संबोधित करने वाले अनुप्रयोग सुविधाओं में नहीं बल्कि दर्शन में भिन्न होने चाहिए।
- प्रदर्शन : प्रदर्शन एक अच्छा उपयोगकर्ता अनुभव में योगदान देता है। एक एप्लिकेशन आदर्श रूप से हमेशा उत्तरदायी होता है और अपने कार्यों को काफी तेजी से करता है (उनकी आवृत्ति के आधार पर)। उपयोगकर्ता द्वारा ध्यान देने योग्य बिंदु से परे प्रदर्शन अनुकूलन का मूल्य संदिग्ध है।
मुझे लगता है कि प्रदर्शन को छोड़कर निम्न स्तर की प्रोग्रामिंग मेरी मदद करने वाली नहीं है। लेकिन प्रदर्शन के लिए निम्न स्तर की भाषा में एक संपूर्ण ऐप लिखना मेरे लिए समय से पहले का अनुकूलन है।
मेरा प्रश्न
निम्न स्तर की प्रोग्रामिंग मुझे क्या सिखा सकती है, अन्य भाषाएं मुझे क्या नहीं सिखाएंगी? क्या मुझे कुछ याद आ रहा है, या यह सिर्फ एक कौशल है, जो कि अनुप्रयोग विकास के लिए बहुत कम उपयोग है? कृपया समझें, कि मैं C और असेंबली के मूल्य पर सवाल नहीं उठा रहा हूँ। यह सिर्फ इतना है कि मेरे रोजमर्रा के जीवन में, मैं काफी खुश हूं कि उस दुनिया की सभी पेचीदगियां दूर हो गई हैं और मेरे लिए प्रबंधित की जाती हैं (ज्यादातर सी / सी ++ और खुद विधानसभा में लिखी गई परतों द्वारा)। मुझे अभी कोई अवधारणा नहीं दिख रही है, यह मेरे लिए नया हो सकता है, केवल विवरण मुझे अपने सिर के साथ सामान करना होगा। तो इसमें मेरे लिए क्या है?
मेरा निष्कर्ष
सभी को उनके जवाब के लिए धन्यवाद। मुझे कहना चाहिए, किसी ने वास्तव में मुझे आश्चर्यचकित नहीं किया, लेकिन कम से कम अब मुझे पूरा यकीन है कि मैं ब्याज के इस क्षेत्र को छोड़ दूंगा जब तक कि इसके लिए कोई आवश्यकता नहीं उठती।
मेरी समझ में, प्रोसेसर के लिए इन दिनों असेंबली लिखना क्योंकि वे आज के सीपीयू में उपयोग में हैं, न केवल अनावश्यक रूप से जटिल हैं, बल्कि सी प्रतिपक्ष की तुलना में खराब रनटाइम प्रदर्शन का परिणाम है। OOE के कारण हाथ से अनुकूलन लगभग असंभव है, जबकि आपको सभी प्रकार के अनुकूलन नहीं मिलते हैं जो एक कंपाइलर स्वचालित रूप से कर सकता है। इसके अलावा, कोड या तो पोर्टेबल है, क्योंकि यह उपलब्ध आदेशों के एक छोटे उपसमूह का उपयोग करता है, या इसे अनुकूलित किया जाता है, लेकिन तब यह संभवतः केवल अपनी वास्तुकला पर काम करता है।
सी लिखना लगभग उतना पुराना नहीं है, जितना कि अतीत में था। अगर मुझे C में एक आवेदन लिखना था, तो मैं बस परीक्षण किए गए और स्थापित पुस्तकालयों और रूपरेखाओं का उपयोग करूंगा, जो मुझे स्ट्रिंग कॉपी रूटीन को लागू करने, एल्गोरिदम को छांटने और विश्वविद्यालय में व्यायाम के रूप में सेवा करने वाले अन्य प्रकार के सामान को छोड़ देंगे। मेरा अपना कोड टाइप सेफ्टी की कीमत पर तेजी से अमल करेगा। मैं न तो सामान्य ऐप के विकास के दौरान पहिया को फिर से तैयार करने के लिए उत्सुक हूं, और न ही कोर डंप को देखकर डीबग करने की कोशिश कर
रहा हूं : डी मैं वर्तमान में भाषाओं और दुभाषियों के साथ प्रयोग कर रहा हूं, इसलिए यदि कोई ऐसी चीज है जिसे मैं प्रकाशित करना चाहता हूं, तो मुझे लगता है कि मैं D, C के लिए एक कार्यशील अवधारणा को पोर्ट करता है, हालांकि C ++ केवल चाल कर सकता है।
फिर से, आपके उत्तर और आपकी अंतर्दृष्टि के लिए सभी का धन्यवाद।