2008-09-24 9 views
15

जब योएल Spolsky और जेफ Atwood कि क्या प्रोग्रामर सी सीखना चाहिए उनके पॉडकास्ट में असहमति शुरू किया, उनके उद्योग और वितरण के मंच की परवाह किए बिना, यह डेवलपर समुदाय है कि शायद आज भी कुछ समूहों के बीच प्रबल होती जा रही भीतर काफी एक विस्फोटक बहस चमकते थे। मैं इस मामले पर उनके साथ कई प्रोग्रामर ब्लॉगर्स से कई मार्ग पढ़ रहा हूं। दोनों तरफ से तर्क निश्चित रूप से वजन ले जाने के, दोनों क्या मैं नहीं मिला एक परिप्रेक्ष्य है जो विशिष्ट दृष्टिकोण से angled है डेवलपर्स सिर्फ .नेट फ्रेमवर्क पर ध्यान केंद्रित है। व्यावहारिक रूप से वे सभी एक सामान्य प्रोग्रामर दृष्टिकोण पर टिप्पणी कर रहे थे।क्या .NET डेवलपर * वास्तव में * निम्न स्तर के एक्सपोजर के लिए सी सीखने का समय खर्च कर रहे हैं?

क्या मैं कम से प्राप्त करने की कोशिश कर रहा हूँ? जेफ Atwood की राय है कि इस तरह के उच्च स्तर पर समय डेवलपर्स के सबसे खर्च होता है, व्यापार/डोमेन सीखने जो कुछ उन डोमेन आवश्यकताओं को प्राप्त करने के प्रौद्योगिकियों जानने के लिए की जरूरत है की चोटी पर पर होगा याद। मेरे कामकाजी अनुभव में जो कई लोगों के कामकाजी जीवन का एक बहुत सटीक वर्णन है। अब मान लीजिए कि .NET डेवलपर्स "अतिरिक्त पाठ्यचर्या" सीखने के लिए समय निकाल सकते हैं, सी होना चाहिए?

रिकॉर्ड के लिए, मैं सी अपने आप सीखा है स्कूल में वापस आ गया है, और मैं बिल्कुल ही समझ सकते हैं क्या समर्थकों के लिए तर्क कर रहे हैं कर सकते हैं। लेकिन, जब चीजें के माध्यम से सोच, मैं व्यक्तिगत रूप से महसूस नेट डेवलपर्स सी में सीधे गोता नहीं करना चाहिए, क्योंकि बात मैं अधिक डेवलपर्स इच्छा कुछ समय जानने के लिए है ले जाएगा - MSIL और CLR

शायद मैं उनके सहयोगियों का एक असामान्य समूह के साथ अटक कर रहा हूँ, मैं नहीं जानता कि, लेकिन मुझे लगता है कि कई लोगों को एक सचेत जागरूकता कि उनके C# या VB कोड आईएल में संकलित नहीं रखते पहले से पहले JIT आता है में और कच्चे मशीन कोड बनाता है। अधिकांश आईएल नहीं जानते हैं, और बिल्कुल में कोई रूचि नहीं है सीएलआर उनके द्वारा लिखे गए कोड को संभालता है। जेफरी रिचटर के सीएलआर सी # के माध्यम से पढ़ना बहुत सारे क्षेत्रों में मेरे लिए काफी शॉक था; खुशी है कि मैंने इसे "बहुत कम स्तर" के रूप में खारिज करने वाले सहयोगियों के बावजूद इसे पढ़ा। मैं आईएल में कोई विशेषज्ञ नहीं हूं लेकिन बुनियादी बातों के ज्ञान के साथ, मैंने खुद को अपने पाठ को आसान बनाने के बाद पाया क्योंकि मैं पहले से ही आईएल के ढेर व्यवहार से परिचित था। जब मैं कुछ कोड लिखता हूं तो आईएल कैसे निकलता है यह देखने के लिए मैं खुद को असेंबली को अलग करता हूं।

मैं सीएलआर और एमएसआईएल सीखता हूं क्योंकि मुझे पता है कि मेरे नीचे सीधी परत है। परत जो मुझे काम की अपनी परत को पूरा करने की अनुमति देती है। सी, वास्तव में आगे नीचे है। हमारी "वास्तविकता" के करीब सीएलआर और एमएसआईएल है। यही कारण है कि मैं दूसरों को उन पर जाने की सलाह दूंगा, क्योंकि मुझे उस परत पर आने वाले पर्याप्त लोगों को नहीं दिख रहा है। या, क्या आपकी टीम एमएसआईएल के साथ पहले से ही सभी बातचीत कर रही है?

उत्तर

6

मुझे पहले से ही पता है और जिसने मुझे 1.1 दिनों के दौरान मदद की है जहां बहुत सी चीजें हैं जो अभी तक .NET में नहीं हैं आधार पुस्तकालयों और मुझे प्लेटफॉर्म एसडीके से कुछ पी/आमंत्रित करना है।

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

+0

हां यह एक उल्लेखनीय क्षेत्र है जहां WIN32 ज्ञान बहुत मदद करता है। – icelava

+0

मुझे लगता है कि यह उत्तर सी प्रोग्रामिंग भाषा की बजाय Win32 API को संदर्भित करता है। – MarkJ

+0

@ मार्कज मुझे लगता है कि आपको याद रखना होगा कि यह विंडोज़ में डेल किए गए .NET डेवलपर्स के व्यावहारिक दृष्टिकोण से पूछा जाता है। – icelava

0

CLR एक आभासी मशीन इसलिए यदि उस सभी यह जानने में है, तो आप केवल पता है कि एक आभासी स्तर पर हो रहा है है।

सी सीखना आप, जहाँ तक स्मृति के उपयोग से चला जाता है शारीरिक मशीन के बारे में अधिक सिखा देगा जो के रूप में आप का उल्लेख क्या CLR के नीचे का उपयोग करता है। सीखना कि सीएलआर कैसे काम करता है, आपको सी सीखने के रूप में कचरा संग्रह, कचरा संग्रह के रूप में ज्यादा अंतर्दृष्टि नहीं देगा, आप वास्तव में मेमोरी प्रबंधन में क्या शामिल है इसकी सराहना करते हैं।

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

35

बेशक आपको चाहिए। अत्यधिक विशिष्ट और एकल दिमागी बनने का सबसे बढ़िया तरीका (और, संगत रूप से, सीमित विपणन योग्य कौशल है) केवल एक ही प्रकार की भाषा के साथ काम करना है और अन्य सभी को "अपने वर्तमान कार्य से संबंधित नहीं" के रूप में छोड़ना है।

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

+1

मुझे वास्तव में यह जवाब पसंद है लेकिन आपको शायद अनुच्छेदों को फ़्लिप करना चाहिए, क्योंकि यह आपको लगता है जैसे हर कोई सोचता है 'सी' पता होना चाहिए। फिर भी मैं इस तथ्य से बहुत सहमत हूं कि सभी प्रकार की भाषाओं का अनुभव करना एक महान डेवलपर होने की कुंजी है, न सिर्फ एक अच्छा। मुझे याद नहीं है कि मैंने काम पर कितनी बार उल्लेख किया है कि भाषा एक्स में कुछ बेहतर किया जाएगा, और लोग बस मुझ पर स्पष्ट रूप से देखते हैं। – msarchet

5

सच है, सी श्रृंखला के नीचे रास्ता है। एमएसआईएल को जानना देवताओं को अपने ऐप्स को बेहतर तरीके से अनुकूलित करने में मदद कर सकता है। सी या एमएसआईएल सीखने के लिए, दोनों क्यों नहीं? :)

+0

याद रखें, यह उपलब्ध समय के बारे में है। उच्च स्तरीय ऐप डेवलपर्स के रूप में हम व्यवसाय/डोमेन मामलों पर काफी समय बिताते हैं। – icelava

1

एमएसआईएल सीखना बुरा विचार नहीं हो सकता है, लेकिन एक तरह से यह सिर्फ एक और .NET भाषा है, लेकिन बुरा वाक्यविन्यास के साथ। हालांकि, यह एक और परत है, और मुझे लगता है कि लोगों को कम से कम सभी परतों की कुछ अस्पष्ट समझ होनी चाहिए।

सी, कुछ हद तक नीदर सिंटैक्स के साथ असेंबली भाषा की तरह होने के नाते, बहुत कम स्तर पर क्या हो रहा है इसका विचार पाने का एक अच्छा तरीका है (हालांकि कुछ चीजें अभी भी आपसे छिपी हुई हैं)।

और दूसरी तरफ, मुझे लगता है कि हर किसी को हास्केल या लिस्प जैसे कुछ उच्च स्तर की सामग्री का विचार प्राप्त करने के बारे में कुछ पता होना चाहिए (और कुछ विचारों को क्लीनर फॉर्म में सी # 3 में पेश किया जा रहा है)

3

मेरा लेना यह है कि कुछ संकलित भाषा और असेंबली सीखना होना चाहिए। इसके बिना, आपको भाषाओं और ढेर के बीच स्विच करने के लिए आवश्यक बहुमुखी प्रतिभा नहीं मिलेगी।

अधिक विशिष्ट होना करने के लिए - मुझे लगता है कि किसी भी अच्छे/महान प्रोग्रामर प्रत्यक्ष अनुभव से इन बातों को पता होना चाहिए:

  • एक रजिस्टर और एक चर के बीच क्या अंतर है?
  • डीएमए क्या है?
  • स्क्रीन पर एक पिक्सेल कैसे रखा जाता है (निम्न स्तर पर)?
  • इंटरप्ट क्या हैं?
  • ...

इन बातों को जानने का एक प्रणाली के साथ काम कर आप को समझते हैं और एक प्रणाली है कि, तुम सब को पता है के लिए, जादू से काम करता है के बीच का अंतर है।:)

कुछ टिप्पणियों को संबोधित करने के

आप डेवलपर्स के दो विभिन्न प्रकार के होने अंत:

  • लोगों की है कि एक या दो भाषाओं
  • लोगों में 10 तरीके में एक बात कर सकते हैं जो 10 अलग-अलग भाषाओं में एक या दो तरीकों से एक चीज कर सकता है

मुझे दृढ़ता से लगता है कि दूसरा समूह समग्र डेवलपर्स समग्र हैं।

+1

मैं भावना की सराहना करता हूं, हालांकि क्रॉस प्लेटफार्म का आगमन, बहुभाषी रनटाइम (मोनो की तरह) वास्तव में एक अनावश्यक धारणा बना रहा है। –

+0

याद रखें कि मैं व्यवसाय/उद्यम स्तर के अनुप्रयोग विकास के बारे में बात कर रहा हूं। निश्चित रूप से हमेशा उन विशेष आवश्यकताओं जो अद्वितीय हार्डवेयर और उपकरणों से निपटते हैं, लेकिन अधिकांश मामलों में यह उपयोगकर्ता इनपुट, डेटाबेस, वेब सेवाओं के साथ बातचीत करने के बारे में है। व्यापार और ग्राहक बातचीत, हार्डवेयर नहीं। – icelava

+1

मैं इसे स्वीकार करने में संकोच करता हूं, लेकिन मुझे जादू पसंद है :) – Benjol

2

मुझे हर साल एक नई भाषा सीखना पसंद है। इसे मास्टर करने के लिए जरूरी नहीं है, लेकिन मेरे दिमाग को विभिन्न तरीकों से सोचने के लिए मजबूर करना है।

मुझे लगता है कि सी सीखना असेंबली में कोडिंग के दर्द के बिना निम्न स्तर की अवधारणाओं के बारे में जानने के लिए एक अच्छी भाषा है।

हालांकि मुझे लगता है कि हास्केल, अजगर, और यहां तक ​​कि यकीनन regex जैसी भाषाओं से सबक सीखने (नहीं वास्तव में एक भाषा है, लेकिन आप मेरी बहाव पकड़?) के रूप में महत्वपूर्ण है के रूप में सबक सी

से

बटोरा जा करने के लिए तो मैं कहता हूं, नौकरी पर सीएलआर और एमएसआईएल के बारे में जानें यदि आपका क्षेत्र है, और आपके खाली समय में, हर बार एक बार अलग भाषा चुनने का प्रयास करें। यदि यह इस साल सी होता है, तो आपके लिए अच्छा होता है और पॉइंटर्स के साथ खेलने का आनंद लेता है;)

+0

मैंने आईएल/सीएलआर सीखने के लिए अपना खाली समय इस्तेमाल किया। मैंने नौकरी के लिए सीधे आवश्यक अन्य तकनीकी सूट सीखने के लिए ओवरटाइम काम किया। :- डी – icelava

+0

: -D हालांकि यह आपके लिए काम करता है!महत्वपूर्ण बात यह है कि अच्छे प्रोग्रामर पहले स्थान पर सीखने के लिए अतिरिक्त समय देते हैं। –

3

मैं इस तरह यह के बारे में सोच:

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

किस प्रकार का स्कूल? यदि आपका मतलब व्यावसायिक है, तो मैं सहमत हूं। यदि आप सीएस डिग्री के बारे में बात कर रहे हैं तो नहीं, एक डिग्री सिद्धांत के बारे में है और यह समझती है कि कंप्यूटर कैसे काम करता है, इसे सुंदर चीजें नहीं बनाते हैं। वास्तव में – tloach

1

यदि आप स्वयं को प्रोग्रामर मानते हैं, तो मैं हाँ कहूंगा, सी सीखो।

कोड लिखने वाले बहुत से लोग स्वयं प्रोग्रामर नहीं मानते हैं। मैं .NET ऐप्स को दिन में 3 घंटे काम पर लिखता हूं, लेकिन मैं खुद को "प्रोग्रामर" लेबल नहीं करता हूं। मैं बहुत सी चीजें करता हूं जिनके पास प्रोग्रामिंग के साथ कुछ लेना देना नहीं है।

यदि आप अपना पूरा दिन प्रोग्रामिंग या प्रोग्रामिंग के बारे में सोचते हैं, और आप अपने पूरे करियर को प्रोग्रामिंग के आसपास घूमने जा रहे हैं, तो आप बेहतर ढंग से सुनिश्चित कर लें कि आप अपनी सामग्री जानते हैं। लर्निंग सी शायद ज्ञान का आधार बनाने में मदद करेगा जो उपयोगी होगा यदि आप प्रोग्रामिंग कौशल में बहुत गहरी जा रहे हैं।

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

+0

। जितना मैं एक शुद्ध प्रोग्रामर बनना चाहता हूं, मैं व्यावहारिक रूप से एक डेवलपर और परामर्शदाता हूं। प्रौद्योगिकी और व्यापार/डोमेन ज्ञान को संतुलित करने के लिए एक चुनौती है। दुर्भाग्य से ग्राहकों की आवश्यकताओं को पहले आते हैं। – icelava

4

.NET डेवलपर्स को सीएलआर के बारे में जानना चाहिए। लेकिन उन्हें सी सीखना चाहिए। मुझे नहीं पता कि कोई भी वास्तव में कैसे समझ सकता है कि सीएलआर नंगे धातु पर क्या होता है, इसकी कुछ निम्न स्तर की समझ के बिना काम करता है।

उच्च स्तरीय अवधारणाओं के बारे में सीखने का समय निश्चित रूप से फायदेमंद है, लेकिन यदि आप निम्न स्तर के खर्च पर उच्च स्तर पर बहुत अधिक ध्यान केंद्रित करते हैं, तो आप उन "वास्तुकार" लोगों में से एक बनने का जोखिम उठाते हैं जो बक्से खींच सकते हैं और व्हाइटबोर्ड पर लाइनें लेकिन जो कोई वास्तविक कोड लिखने में असमर्थ हैं।

सी सीखकर आप जो सीखते हैं वह आपके करियर के शेष के लिए उपयोगी होगा। सीएलआर के बारे में आप जो सीखते हैं वह अप्रचलित हो जाएगा क्योंकि माइक्रोसॉफ्ट ने अपने मंच को बदल दिया है।

+0

यदि मैं कोड सी # और आईएल जारी रखना जारी रखता हूं, तो क्या मैं एक वास्तुकार बन जाऊंगा? :-) मुझे लगता है कि आप तीसरे मार्ग में क्या इंगित करते हैं। – icelava

+2

सीएलआर (या जावा जैसे किसी अन्य आधुनिक वीएम) में अवधारणा निश्चित रूप से कार्यान्वयन को खत्म कर देगी। मुझे उम्मीद नहीं है कि एप्लिकेशन डेवलपर्स भविष्य में एक अप्रबंधित वातावरण में वापस जा रहे हैं - इसलिए सीएलआर सीखना आपके करियर के बाकी हिस्सों के लिए भी उपयोगी होगा। –

1

क्या नेट डेवलपर्स सी सीखना चाहिए? मैं "जरूरी नहीं," कहूंगा, लेकिन हमें हमेशा अपनी व्यावसायिक bailiwick के बाहर कुछ भाषा में डबलिंग करना चाहिए क्योंकि हर भाषा इसे समस्याओं के बारे में सोचने का एक नया तरीका लाती है। एक .net (और इससे पहले, वीबी 2-6) डेवलपर के रूप में मेरे पेशेवर करियर के दौरान, मैंने पास्कल, एलआईएसपी, सी, सी ++, पीएचपी, जावास्क्रिप्ट, रूबी और पायथन में छोटी परियोजनाएं लिखी हैं और वर्तमान में लुआ में डबलिंग कर रही हूं और पर्ल।

सी ++ के अलावा, मैं उनमें से किसी भी को अपने रेज़्यूमे पर सूचीबद्ध नहीं करता क्योंकि मैं उनमें से किसी एक में पेशेवर नहीं दिख रहा हूं। इसके बजाय, मैं अपने .NET- आधारित काम में उपयोग करने के लिए उनमें से प्रत्येक से दिलचस्प विचार वापस लाता हूं।

सी दिलचस्प है कि यह वास्तव में आपको ओएस के करीब ले जाता है, लेकिन यह शायद ही एकमात्र स्तर है जिसे आपको एक अच्छा प्रोग्रामर बनने के बारे में जानने की आवश्यकता है।

2

मुझे कोई कारण नहीं दिखता कि उन्हें क्यों चाहिए। जावा और सी # जैसी भाषाएं डिज़ाइन की गई थीं ताकि आपको निम्न-स्तर के विवरणों के बारे में चिंता न करें। यह पूछने जैसा ही है कि WinForms डेवलपर को Win32 API सीखने में समय बिताना चाहिए क्योंकि यह नीचे क्या हो रहा है।

हालांकि इसे सीखने में कोई दिक्कत नहीं होती है, लेकिन आपको निम्न स्तर के तकनीकी विवरणों को सीखने की अच्छी आवश्यकता होने तक, उन भाषाओं और प्लेटफार्मों को सीखने में अधिक समय व्यतीत करने से अधिक लाभ होता है।

+0

प्रश्न X समय उपलब्ध है, क्या आप उस समय एमएसआईएल/सीएलआर या सी पर खर्च करना चाहिए? – icelava

0

क्या सी या एमएसआईएल सीखने का मुद्दा है, या यह अधिक मौलिक है? मैं कहूंगा कि आम तौर पर, अधिक डेवलपर्स कंप्यूटर, भौतिक या आभासी, काम के बारे में और जानने के लिए खड़े हो सकते हैं। एक व्यक्ति बॉक्स में एक भाषा और एपीआई को समझकर एक काफी सक्षम प्रोग्रामर बन सकता है। पेशे को अगले स्तर पर ले जाने के लिए, मुझे लगता है कि डेवलपर्स को वास्तव में पूरे ढेर को समझने की जरूरत है।जरूरी नहीं कि विस्तार से, लेकिन समस्याओं को हल करने में मदद करने के लिए पर्याप्त सामान्यता में।

इनमें से बहुत से कौशल के बारे में बात की जा रही है जिसे कंपाइलर्स और भाषा डिजाइन के बारे में अधिक सीखकर हासिल किया जा सकता है। आपको शायद ऐसा करने के लिए सी सीखना होगा (व्हाउप्स, स्नीकी), लेकिन संकलक लेखन सी में सीखने के लिए एक महान संदर्भ है। स्टीव येग talks about this अपने ब्लॉग पर, और मैं इस बिंदु पर काफी हद तक उससे सहमत हूं। विश्वविद्यालय में मेरा कंपाइलर लेखन पाठ्यक्रम मैंने कभी भी सबसे ज्यादा आंख खोलने वाले पाठ्यक्रमों में से एक था, और मैं वास्तव में चाहता हूं कि यह 400 स्तर के बजाय 200 स्तर का कोर्स हो।

0

मैं एक और धागा पर इस पोस्ट, लेकिन यह यहाँ पर लागू होता है:

मैं तुम्हें एक अच्छा आधार की जरूरत का मानना ​​है, लेकिन आप क्या उपयोग किया जाएगा सीखने के लिए अपने समय के सबसे समर्पित।

  • दो संख्याओं को एक साथ जोड़ने और कंसोल पर परिणाम प्रदर्शित करने के लिए पर्याप्त असेंबलर जानें। वास्तव में कंप्यूटर के साथ क्या चल रहा है इसकी एक बेहतर समझ होगी और यह समझ में आ जाएगा कि हम बाइनरी/हेक्स का उपयोग क्यों करते हैं। (यह एक दिन में किया जा सकता है और debug from cmd.exe के साथ किया जा सकता है)।
  • कुछ स्मृति आवंटित करने और पॉइंटर्स का उपयोग करने के लिए पर्याप्त सी जानें। एक साधारण linked list पर्याप्त है। (यह एक या दो दिन में किया जा सकता है)।
  • उस भाषा को सीखने में अधिक समय व्यतीत करें जिसका आप उपयोग करने जा रहे हैं। मैं आपकी रुचियों को आपको किस भाषा में ले जाऊंगा (सी #, जावा, रूबी, पायथन, आदि)।
3

सी # लिखने में पर्याप्त रूप से उन्नत होने के लिए, आपको सी में अवधारणाओं को समझने की आवश्यकता है, भले ही आप भाषा को उचित तरीके से नहीं सीखें।

अधिक आम तौर पर, यदि आप किसी भी कौशल के बारे में गंभीर हैं, तो आपको पता होना चाहिए कि आपके प्राथमिक कार्य स्तर के नीचे कम से कम एक अमूर्त स्तर क्या होता है।

  • jQuery में कोडिंग भौतिकी जानने जरूरी मांसपेशियों, हड्डियों के बारे में सीखना होगा
  • किसी भी अच्छा बास्केटबॉल खिलाड़ी, और पोषण
  • एक वायलिन वादक के बारे में जानेंगे जावास्क्रिप्ट
  • डिजाइनिंग सर्किट की समझ के साथ रखा जाना चाहिए रोसिन, घर्षण, धनुष बाल, स्ट्रिंग, और लकड़ी की सूखापन का इंटरप्ले

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^