जब योएल Spolsky और जेफ Atwood कि क्या प्रोग्रामर सी सीखना चाहिए उनके पॉडकास्ट में असहमति शुरू किया, उनके उद्योग और वितरण के मंच की परवाह किए बिना, यह डेवलपर समुदाय है कि शायद आज भी कुछ समूहों के बीच प्रबल होती जा रही भीतर काफी एक विस्फोटक बहस चमकते थे। मैं इस मामले पर उनके साथ कई प्रोग्रामर ब्लॉगर्स से कई मार्ग पढ़ रहा हूं। दोनों तरफ से तर्क निश्चित रूप से वजन ले जाने के, दोनों क्या मैं नहीं मिला एक परिप्रेक्ष्य है जो विशिष्ट दृष्टिकोण से angled है डेवलपर्स सिर्फ .नेट फ्रेमवर्क पर ध्यान केंद्रित है। व्यावहारिक रूप से वे सभी एक सामान्य प्रोग्रामर दृष्टिकोण पर टिप्पणी कर रहे थे।क्या .NET डेवलपर * वास्तव में * निम्न स्तर के एक्सपोजर के लिए सी सीखने का समय खर्च कर रहे हैं?
क्या मैं कम से प्राप्त करने की कोशिश कर रहा हूँ? जेफ Atwood की राय है कि इस तरह के उच्च स्तर पर समय डेवलपर्स के सबसे खर्च होता है, व्यापार/डोमेन सीखने जो कुछ उन डोमेन आवश्यकताओं को प्राप्त करने के प्रौद्योगिकियों जानने के लिए की जरूरत है की चोटी पर पर होगा याद। मेरे कामकाजी अनुभव में जो कई लोगों के कामकाजी जीवन का एक बहुत सटीक वर्णन है। अब मान लीजिए कि .NET डेवलपर्स "अतिरिक्त पाठ्यचर्या" सीखने के लिए समय निकाल सकते हैं, सी होना चाहिए?
रिकॉर्ड के लिए, मैं सी अपने आप सीखा है स्कूल में वापस आ गया है, और मैं बिल्कुल ही समझ सकते हैं क्या समर्थकों के लिए तर्क कर रहे हैं कर सकते हैं। लेकिन, जब चीजें के माध्यम से सोच, मैं व्यक्तिगत रूप से महसूस नेट डेवलपर्स सी में सीधे गोता नहीं करना चाहिए, क्योंकि बात मैं अधिक डेवलपर्स इच्छा कुछ समय जानने के लिए है ले जाएगा - MSIL और CLR।
शायद मैं उनके सहयोगियों का एक असामान्य समूह के साथ अटक कर रहा हूँ, मैं नहीं जानता कि, लेकिन मुझे लगता है कि कई लोगों को एक सचेत जागरूकता कि उनके C# या VB कोड आईएल में संकलित नहीं रखते पहले से पहले JIT आता है में और कच्चे मशीन कोड बनाता है। अधिकांश आईएल नहीं जानते हैं, और बिल्कुल में कोई रूचि नहीं है सीएलआर उनके द्वारा लिखे गए कोड को संभालता है। जेफरी रिचटर के सीएलआर सी # के माध्यम से पढ़ना बहुत सारे क्षेत्रों में मेरे लिए काफी शॉक था; खुशी है कि मैंने इसे "बहुत कम स्तर" के रूप में खारिज करने वाले सहयोगियों के बावजूद इसे पढ़ा। मैं आईएल में कोई विशेषज्ञ नहीं हूं लेकिन बुनियादी बातों के ज्ञान के साथ, मैंने खुद को अपने पाठ को आसान बनाने के बाद पाया क्योंकि मैं पहले से ही आईएल के ढेर व्यवहार से परिचित था। जब मैं कुछ कोड लिखता हूं तो आईएल कैसे निकलता है यह देखने के लिए मैं खुद को असेंबली को अलग करता हूं।
मैं सीएलआर और एमएसआईएल सीखता हूं क्योंकि मुझे पता है कि मेरे नीचे सीधी परत है। परत जो मुझे काम की अपनी परत को पूरा करने की अनुमति देती है। सी, वास्तव में आगे नीचे है। हमारी "वास्तविकता" के करीब सीएलआर और एमएसआईएल है। यही कारण है कि मैं दूसरों को उन पर जाने की सलाह दूंगा, क्योंकि मुझे उस परत पर आने वाले पर्याप्त लोगों को नहीं दिख रहा है। या, क्या आपकी टीम एमएसआईएल के साथ पहले से ही सभी बातचीत कर रही है?
हां यह एक उल्लेखनीय क्षेत्र है जहां WIN32 ज्ञान बहुत मदद करता है। – icelava
मुझे लगता है कि यह उत्तर सी प्रोग्रामिंग भाषा की बजाय Win32 API को संदर्भित करता है। – MarkJ
@ मार्कज मुझे लगता है कि आपको याद रखना होगा कि यह विंडोज़ में डेल किए गए .NET डेवलपर्स के व्यावहारिक दृष्टिकोण से पूछा जाता है। – icelava