क्या मुझे C ++ सीखने से पहले C सीखना चाहिए? [बन्द है]


116

मैंने आज एक विश्वविद्यालय सीएस विभाग के खुले दिन का दौरा किया और प्रयोगशालाओं के दौरे में हम स्नातक छात्रों से कुछ अंतिम-वर्षीय परियोजनाओं के साथ खेलने के लिए बैठ गए। एक विशेष रूप से अच्छा था - एक प्रकार का एफपीएस क्षुद्रग्रह खेल। मैंने srcसी ++ में किया गया था खोजने के लिए निर्देशिका में एक तिरछी नज़र रखने का फैसला किया (अधिकांश अन्य परियोजनाएं जावा 3 डी ऐप थीं)।

मैंने पहले कोई C नहीं किया है, लेकिन मैंने पहले कुछ C कोड के माध्यम से देखा है। मैंने इस गेम में .cpp कोड में जो देखा उससे यह बहुत अलग नहीं लगा।

मुझे C या C ++ सीखने में दिलचस्पी है, लेकिन संभवतः बाद में दूसरे को सीखेंगे। क्या मुझे एक के बाद एक सीखने का कोई फायदा है और यदि ऐसा है तो कौन सा है?



7
यह वास्तव में एक डुप्लिकेट नहीं है। स्पष्ट रूप से यह प्रश्न भी पूछता है कि "क्या मुझे पहले OOP या प्रक्रियात्मक प्रोग्रामिंग सीखनी चाहिए"
बोबोबोबो

2
नीचे दिए गए उत्तर (IMO वे मंडलियों में जाते हैं) से नीचे उतरने से पहले, मुझे कुछ सलाह देने की अनुमति दें: TRUE : C ++ , C पर लागू सभी सुविधाओं और विशेषताओं को बनाए रखता है, इस प्रकार 'सी ' कंसोल को इंगित करता है (नीचे दिए गए अधिकांश उत्तरों की कोशिश) बनाना)। कैसे : C नहीं है , नहीं , DEAD नहीं है । प्रिय जीवन के लिए लोग ' दोनों सीखने की कोई जरूरत नहीं है ' पर काबू पाते हैं, लेकिन वास्तव में इसका कोई आधार नहीं है। C, C ++! = C । C ++ को जानने से आप एक योग्य C डेवलपर नहीं बन पाएंगे और इसी तरह C जानने से आप योग्य C ++ डेवलपर नहीं बन पाएंगे।
Super Cat

4
यह बात है : C ++ में सीलिंग करने से पहले C को लेने में कोई हानि नहीं है - जितना अधिक आप जानते हैं, उतना ही बेहतर है - लेकिन इसके विपरीत, C को सीखने के लिए C को सीखने की कोई आवश्यकता नहीं है अगर आप अंतिम लक्ष्य हैं । यदि आप C ++ सीखना चाहते हैं , तो C ++ जानें , और यदि आप C सीखना चाहते हैं, तो C सीखें । दोनों के पक्ष और विपक्ष हैं (C की सादगी और गहराई में-Cultra की विशेषताएं- C ++ की विशेषताएं दोनों अपने-अपने तरीकों से शाप और आशीर्वाद हैं), और दोनों का उपयोग आज भी किया जाता है (सी एम्बेडेड सिस्टम, एकता, पीएचपी, आदि के लिए) - ++ एकता के लिए भी, असत्य, आदि)।
सुपर कैट

3
सूत्र: C ++ सीखना चाहते हैं? फिर सी। छोड़ें आपको इसकी आवश्यकता नहीं है। सी सीखना चाहते हैं? फिर अच्छा है, सी सीखें। यदि आप दोनों सीखना चाहते हैं , तो पहले सी के लिए जाएं। वे दोनों दुनिया में अपना स्थान रखते हैं, इसलिए यह मत सोचो कि या तो दूसरे के लिए पर्याप्त है।
सुपर कैट

जवाबों:


121

C ++ सीखने से पहले C सीखने की कोई आवश्यकता नहीं है।

वे अलग-अलग भाषाएं हैं । यह एक आम गलत धारणा है कि C ++ किसी तरह से C पर निर्भर है और अपने आप में पूरी तरह से निर्दिष्ट भाषा नहीं है।

सिर्फ इसलिए कि C ++ एक ही वाक्यविन्यास और बहुत सारे समान शब्दार्थों को साझा करता है, इसका मतलब यह नहीं है कि आपको पहले C सीखने की जरूरत है।

यदि आप C ++ सीखते हैं तो आप अंततः C को उन भाषाओं के बीच कुछ अंतरों के साथ सीखेंगे जो आप समय के साथ सीखेंगे। वास्तव में उचित सी ++ लिखने के लिए इसकी एक बहुत कठिन बात है क्योंकि मध्यवर्ती सी ++ प्रोग्रामर सी / सी ++ लिखते हैं। यह सच है कि क्या आपने सी के साथ शुरू किया या नहीं या सी ++ से शुरू किया।

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

कृपया इस उत्तर में और तर्क देखें


33
मैं इससे ज्यादा असहमत नहीं हो सकता। C ++ सीखना सबसे पहले एक बहुत ही कठिन अनुभव के लिए बनाता है। C। C पर वापस जाना एक मौलिक, मूलभूत-केवल सिस्टम भाषा है। C ++ पूरी तरह से नया बॉलगेम है, किसी भी समस्या के लिए किसी भी भाषा में दृष्टिकोण अलग-अलग होगा। मैं सौभाग्यशाली था कि सी ++ नौकरी में आने से पहले सी के साथ छेड़छाड़ करता था। बाद में मैं मानसिक रूप से "उबालने" के लिए सक्षम हूं जो कि सी + + प्रदान करता है, और साथ ही भाषा के साथ समस्याओं का सामना कर सकता है। भाषा जोड़ी के "सामान करता है" भाग के रूप में सी की पहचान करना मेरे लिए बहुत आसान है। C ++ सीखने से पहले भ्रमित और गुमराह प्रोग्रामर को बढ़ावा मिलेगा।
मैट जॉइनर

24
@ मैट: मैंने पहले C ++ सीखा और मैं एक गुमराह प्रोग्रामर नहीं हूं। इसलिए आपका दावा सही नहीं है, उदाहरण के तौर पर काउंटर प्रूफ। और हां मेरे पास C में भी गोल्ड बैज है। इस मामले की सच्चाई यह है कि वे 2 अलग और अलग भाषाएं हैं। दूसरे को सीखने के लिए आपको निर्भरता के रूप में एक भाषा की आवश्यकता नहीं है। वह सिर्फ एक मूर्खतापूर्ण भ्रांति है।
ब्रायन आर। बॉडी

8
@Matt: मेरी लिंक्ड पोस्ट से भी: आपको C ++ पहले सीखना चाहिए, इसलिए नहीं कि C सीखने से सबसे पहले आपको नुकसान होगा, इसलिए नहीं कि आपको कुछ भी अनजान करना पड़ेगा (आप नहीं करेंगे), लेकिन क्योंकि C को सीखने में कोई लाभ नहीं है। आप अंततः C के बारे में सब कुछ वैसे भी सीखेंगे क्योंकि यह C ++ में कम या ज्यादा निहित है।
ब्रायन आर बॉडी

11
@ मैट: मुझे खेद है कि आप अभी भी नहीं समझे हैं। C और C ++ का Venn आरेख बनाएं और उन हिस्सों को देखें जो प्रतिच्छेद करते हैं। C ++ संपूर्ण C ++ सर्कल से बना है जिसे आप खींचते हैं, न कि केवल उन हिस्सों को जो प्रतिच्छेदन नहीं हैं। यदि आप C को पहले जानते हैं, तो आपके लिए अच्छा है, आप C ++ को तेजी से सीख सकते हैं। यदि आप पहले सी को जानने के लिए नहीं होते हैं, तो पहले इसे सीखने का कोई कारण नहीं है। क्या आप मानते हैं कि C ++ की प्रत्येक पुस्तक संकेत और स्मृति प्रबंधन, और स्ट्रिंग शाब्दिक, आदि को कवर नहीं करेगी? मैं अब चर्चा करना बंद करने जा रहा हूं, लेकिन अपने समापन टिप्पणियों को छोड़ने के लिए स्वतंत्र महसूस कर रहा हूं।
ब्रायन आर। बॉन्डी

11
@ मैट: C C C ++ की बेहतर समझ कैसे देता है? आमतौर पर, C प्रोग्रामर जो C ++ सीखते हैं, वे कुरूप लेखन करते हैं, त्रुटि-प्रवण "C with classes" स्टाइल कोड। मैं यह नहीं कह रहा हूं कि यह हमेशा होता है, लेकिन सी के साथ शुरू होने पर यह सबसे स्वाभाविक प्रगति है, क्योंकि सी, सी ++ की उस भयानक शैली के बहुत करीब है, क्योंकि यह "आधुनिक" सी ++ है।
जलफ

77

मुझे यह सवाल बहुत पसंद है - यह पूछने की तरह है "मुझे पहले क्या सीखना चाहिए, स्नोबोर्डिंग या स्कीइंग"? मुझे लगता है कि यह निर्भर करता है कि आप स्नोबोर्ड या स्की करना चाहते हैं। यदि आप दोनों करना चाहते हैं, तो आपको दोनों को सीखना होगा।

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


70

मैंने पहले C सीखा, और मैंने C ++ को सीखने से पहले डेटा संरचनाओं में एक कोर्स लिया, जो C का उपयोग करता था। इसने मेरे लिए अच्छा काम किया है। सी में एक डेटा संरचना पाठ्यक्रम ने मुझे संकेत और स्मृति प्रबंधन की एक ठोस समझ दी। इसने वस्तु उन्मुख प्रतिमान के लाभों को भी स्पष्ट किया, एक बार जब मैंने सीखा था कि यह क्या था।

फ्लिप साइड पर, पहले C को सीखकर, मैंने कुछ आदतों को विकसित किया है जो शुरू में मुझे खराब C ++ कोड लिखने के लिए प्रेरित करती थीं, जैसे कि पॉइंटर्स का अत्यधिक उपयोग (जब C ++ रेफरेंस करेंगे) और प्रीप्रोसेसर।

C ++ वास्तव में बहुत सारी सुविधाओं के साथ एक बहुत ही जटिल भाषा है। यह वास्तव में सी का सुपरसेट नहीं है, हालांकि। बल्कि C का एक सबसेट है, जिसमें मूलभूत प्रक्रियात्मक प्रोग्रामिंग कंस्ट्रक्शंस (लूप्स, इफ्स, और फंक्शन्स) शामिल हैं, जो C. के समान है। आपके मामले में, मैं उसी के साथ शुरू करूँगा, और फिर अधिक उन्नत कॉन्सेप्ट्स पर अपना काम करूँगा। कक्षाओं और टेम्पलेट्स की तरह।

सबसे महत्वपूर्ण बात, आईएमएचओ, विभिन्न प्रोग्रामिंग प्रतिमानों के संपर्क में आना है, जैसे प्रक्रियात्मक, वस्तु-उन्मुख, कार्यात्मक और तार्किक, जल्दी से पहले, आपका मस्तिष्क दुनिया को देखने के एक तरीके से जम जाता है। संयोग से, मैं यह भी दृढ़ता से अनुशंसा करूंगा कि आप योजना की तरह एक कार्यात्मक प्रोग्रामिंग भाषा सीखें। यह वास्तव में आपके क्षितिज का विस्तार करेगा।


18

यदि आप दोनों सीखने का फैसला करते हैं (और जैसा कि अन्य लोगों ने उल्लेख किया है, तो दोनों को सीखने की कोई स्पष्ट आवश्यकता नहीं है), पहले सी सीखें। C से C ++ तक जाना एक प्राकृतिक प्रगति की तरह लगता है; दूसरे रास्ते पर जाने से ऐसा लगता है कि जानबूझकर आपकी पीठ के पीछे एक हाथ बांध दिया गया है। :-)


13

मुझे लगता है कि आपको पहले सी सीखना चाहिए, क्योंकि मैंने पहले सी सीखा। सी ने मुझे सिंटेक्स और गॉच की एक अच्छी समझ दी, जो पॉइंटर्स जैसी चीजों के साथ थी, जो सभी सी ++ में प्रवाहित होती हैं।

मुझे लगता है कि सी ++ उन सभी गोचरों को लपेटना आसान बनाता है (एक सरणी की आवश्यकता होती है जो आपके [] ऑपरेटर और एक डोडी इंडेक्स का उपयोग करते समय अतिप्रवाह नहीं होगा? निश्चित रूप से, एक सरणी वर्ग बनाते हैं जो सीमा की जाँच करता है) लेकिन आपको यह जानना होगा कि क्या चाहिए? इससे पहले कि आप समझें कि कुछ खास तरीकों से चीजें क्यों की जाती हैं, उन्हें काट लिया जाता है।

जब सब कहा और किया जाता है, तो जिस तरह से C ++ आमतौर पर सिखाया जाता है, "C ++ वस्तुओं के साथ C है, यहां C सामान है और यहां बताया गया है कि यह सभी OO सामान कैसे काम करता है", इसलिए यदि आप किसी भी वास्तविक C ++ से पहले बुनियादी C सीखने की संभावना रखते हैं तो वैसे भी ज्यादातर ग्रंथों का पालन करें।


मैं असहमत हूं। अपने नमक के लायक C ++ प्रोग्रामिंग बुक में कोई भी "गोचैस" कम से कम कुछ को कवर करेगा, जैसे कि
सरणियां

12

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

K & R उठाओ और उसी के माध्यम से पढ़ो। यह छोटा है और आपको भाषा की पर्याप्त समझ देगा। एक बार जब आपके पास पॉइंटर्स और फ़ंक्शन कॉल की मूल बातें होती हैं, तो आप C ++ को थोड़ा आसान कर सकते हैं।


15
गलत। बहुत ज्यादा सब कुछ सी सिखाता है आप सी ++ में एक बुरा अभ्यास है। C, C ++ के दिल में नहीं है, यह सिर्फ बहुत सारे सिंटैक्स को साझा करने के लिए होता है। कृपया, दुनिया में पहले से ही पर्याप्त "सी विद क्लासेस" प्रोग्रामर हैं। या तो C या C ++ जानें। लेकिन दिखावा मत करो कि सी एक सी ++ लाइट है।
जलफ

13
मैं अपने शब्दों के साथ खड़ा हूं। C ++ C के ऊपर बनाया गया है और इस प्रकार C उसके दिल में है। C ++ में उपयोग किए जाने वाले मुहावरे C में उपयोग किए गए से बहुत अलग हैं, लेकिन वाक्यविन्यास समान है। C ++ के साथ C ++ प्राइमर को देखने के लिए C ++ प्रोग्राम शुरू करने का सही तरीका कोई भी सीख सकता है। यह मूल रूप से ऐसा करता है।
स्टीव रोवे

6
+1। C एक छोटी भाषा है, इस प्रकार सीखना आसान है। C के साथ पीछे की ओर संगत होने का प्रयास C ++ के साथ प्रमुख समस्याओं का एक स्रोत है, एक और टेम्पलेट प्रणाली है जो कि C ++ प्रोग्रामर के 90% उपयोग के लिए बहुत जटिल है।
पहाड़ी

1
चर, प्रकार की समझ [बिंदु और योग्यता सहित], कार्यक्षेत्र, कार्य, प्रीप्रोसेसर, और लिंकेज C और C ++ दोनों के लिए आवश्यक है। मैं कहूंगा कि C के साथ इन अवधारणाओं को सीखना आसान होगा ताकि आपको जानने वाली कक्षाओं के साथ एक और अर्थ static, टेम्प्लेट्स (और हास्यास्पद रूप से डराने वाले टेम्पलेट त्रुटियों का सामना करना ) आदि से निपटना न पड़े
Dreamlax

1
तुम्हारी बात तथ्य पूर्ण है। वास्तव में, C सीखना अच्छा हो सकता है ताकि आप इसके मूल के बेहतर ज्ञान के साथ C ++ पर जा सकें।
डैनियल डारनास

10

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


8

जीवन में कई अन्य सवालों के जवाब की तरह, यह निर्भर करता है। यह आपके प्रोग्रामिंग हितों और लक्ष्यों पर निर्भर करता है। यदि आप डेस्कटॉप अनुप्रयोगों को प्रोग्राम करना चाहते हैं, शायद एक जीयूआई के साथ, तो सी ++ (और ओओपी) शायद जाने का एक बेहतर तरीका है। यदि आप x86 चिपसेट के अलावा किसी अन्य चीज़ पर हार्डवेयर प्रोग्रामिंग में रुचि रखते हैं, तो C अक्सर एक बेहतर विकल्प होता है, आमतौर पर इसकी गति के लिए। यदि आप एक नया मीडिया प्लेयर बनाना चाहते हैं या एक व्यावसायिक ऐप लिखना चाहते हैं, तो मैं C ++ चुनूंगा। यदि आप आकाशगंगा टकरावों या तरल गतिकी के वैज्ञानिक सिमुलेशन करना चाहते हैं, तो C की शक्ति को देखें।


4
कई उच्च प्रदर्शन कंप्यूटिंग परिदृश्यों में, कुछ सौ घड़ी चक्र वास्तव में मायने रखते हैं।
स्कॉटी टी

1
@ एससीओटीटी: यह देखते हुए कि restrictसी के अलावा सी + + की तुलना में कोई अन्य प्रदर्शन-संबंधी सिंटैक्टिक / सिमेंटिक निर्माण नहीं है, भी, क्यों आपको लगता है कि वास्तव में सी ++ कोड, अपने समृद्ध सिंटैक्स के साथ और जैसे मेटा-प्रोग्रामिंग को धीमा कोड होना चाहिए? क्या आप अभिव्यक्ति के खाके भी जानते हैं?
सेबस्टियन मच

1
@phresnel: प्रासंगिकता। C ++ एक अत्यंत जटिल भाषा है जिसमें ऐसी विशेषताएं हैं जो अक्सर खरीदने के लायक नहीं होती हैं। एक सामान्य नियम के रूप में, C जटिलता में काफी कम लागत पर C ++ के समान प्रदर्शन के अवसर प्रदान करता है।
मैट जॉइनर

1
@MattJoiner: रखरखाव / एक्स्टेंसिबिलिटी भी प्रदर्शन कारक हैं, हालांकि मुझे लगता है कि वैज्ञानिक कोड अक्सर एक-शॉट होता है। हालाँकि, अभिव्यक्ति-टेम्पलेट्स-तर्क (उदाहरण के रूप में) को दोहराते हुए, मैं कहता हूं कि C ++ में अधिक अनुकूलन के अवसर हैं, (यह भी क्योंकि यह आंतरिक-कोड की तुलना में अभिव्यक्ति-टेम्पलेट-कोड लिखना आसान है), एक अपवाद के साथ ( restrict, जो कि हालांकि सभी प्रमुख C ++ कंपाइलर एक एक्सटेंशन के रूप में प्रदान करते हैं)। और क्या आपको वास्तव में लगता है कि, समान कोड को देखते हुए, C ++ और C के बीच समान संकलक के प्रदर्शन में कोई अंतर होगा? [...]
सेबस्टियन मच

1
@MattJoiner: [...], और जब मैं "C ++ को नापसंद करता हूं" जैसे कथनों को पढ़ता हूं, तो मुझे लगता है कि आप इस चर्चा में थोड़े पक्षपाती हैं। आपको क्या लगता है कि C ++ कोड अधिक खराब प्रदर्शन करता है? यदि C के समान प्रदर्शन-अवसर हैं, तो अभिव्यक्ति टेम्पलेट, सामान्य रूप से टेम्पलेट, गैर-आंतरिक डेटाटाइप, फंक्शनल पर संकलन-समय गणना के बराबर क्या है? और लागत / रखरखाव-कारक को जोड़ना: RAII, ऑपरेटर / फ़ंक्शन ओवरलोडिंग, सामान्य मानक कंटेनर, मानक धागे, सामान्य मानक एल्गोरिदम, संदर्भ?
सेबेस्टियन मच

8

लर्निंग सी आपको अपने कोड को लिखने के समय बुनियादी डेटा प्रकारों के स्पष्ट और निहित स्मृति प्रबंधन या भंडारण आकार जैसे कुछ मुद्दों के बारे में कठिन सोचने के लिए मजबूर करता है।

एक बार जब आप एक बिंदु पर पहुंच जाते हैं, जहां आप सी के फीचर्स और मिसफ्रीचर के बारे में सहज महसूस करते हैं , तो आपको शायद C ++ में सीखने और लिखने में कम परेशानी होगी।

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


8

मुझे लगता है कि पहले C सीखना एक अच्छा विचार है।

वहाँ एक कारण COMP विज्ञान पाठ्यक्रम अभी भी सी का उपयोग है।

मेरी राय में, विषय के सभी "भीड़" से बचने के लिए ओओपी वहन करने की बाध्यता मायने रखती है।

मुझे लगता है कि प्रक्रियात्मक प्रोग्रामिंग सबसे पहले प्रोग्रामिंग सीखने का सबसे स्वाभाविक तरीका है। मुझे लगता है कि यह सच है क्योंकि दिन के अंत में आपके पास जो है: एक के बाद एक कोड निष्पादित करने की लाइनें।

कई पाठ आज "ऑब्जेक्ट्स फर्स्ट" दृष्टिकोण पर जोर दे रहे हैं और एरे को पेश करने से पहले कारों और गियरशिफ्ट के बारे में बात करना शुरू करते हैं।


4
ऐसा लगता है कि इन दिनों कई COMP विज्ञान पाठ्यक्रम जावा का उपयोग करते हैं, जो उस समस्या को बढ़ा देता है जिसके बारे में आप बात कर रहे हैं।
दीमा

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

1
दूसरी ओर, यदि आप गणित में बुरे नहीं हैं, तो कार्यात्मक प्रोग्रामिंग अधिक स्वाभाविक हो सकती है, क्योंकि यह अधिक परिचित दिखती है और काम करती है।
सेबस्टियन मच

2
"वहाँ एक कारण COMP विज्ञान पाठ्यक्रम अभी भी सी का उपयोग करते हैं।" हाँ, क्योंकि अधिकांश COMP विज्ञान पाठ्यक्रम खराब तरीके से पढ़ाए जाते हैं।
ऑर्बिट

8

नहीं।

यह C ++ सीखने के लिए आम तौर पर अधिक उपयोगी है क्योंकि यह सबसे आधुनिक OO- आधारित भाषाओं की तरह है, जैसे एफिल या C #।

यदि आपका लक्ष्य C ++ सीखना है, तो पहले स्थान पर आधुनिक, मानक C ++ सीखें। मल्कोस को एक तरफ छोड़ दें।


लेकिन स्टीव रोवे के पास एक बिंदु है ...


C ++ आजकल O # भाषाओं के करीब नहीं है जैसे C # या Eifel।
ईनपोकलम

7

उन लोगों को देखा जा सकता है, जिन्होंने पहले जावा को सीखा है, सी ++ में पॉइंटर्स और मेमोरी मैनेजमेंट की अवधारणाओं के साथ संघर्ष करते हैं, मैं कहूंगा कि सी पहले सीखना एक अच्छा विचार है, इन दो अवधारणाओं को समझने के लिए, अन्य सी ++ की जटिलताओं से अलग किया गया है। विशेषताएं।


6

मेरे दो सेंट:

मैं पहले सी सीखने का सुझाव देता हूं, क्योंकि:

  • यह एक मौलिक भाषा है - बहुत सी भाषाएँ सी से उतरीं
  • अधिक प्लेटफ़ॉर्म C ++ की तुलना में C कंपाइलर का समर्थन करता है, - यह एम्बेडेड सिस्टम, GPU चिप्स, आदि हो।
  • TIOBE इंडेक्स C के अनुसार C ++ की तुलना में अभी भी लगभग 2 गुना अधिक लोकप्रिय है।

3

मुझे लगता है कि सी एक बहुत अच्छी प्रोग्रामिंग भाषा है, यह कॉम्पैक्ट और सीखने में आसान है। लेकिन अगर आप केवल c ++ सीखना चाहते हैं तो c ++ से शुरू करें। लेकिन मैं आपको दोनों को सीखने का सुझाव देता हूं। और यदि आप ऐसा करना चाहते हैं; मुझे लगता है कि सी के साथ शुरू करना बेहतर है। जैसा कि पहले कहा गया था: यह छोटा है और कुछ हद तक सीखना आसान है। c ++ की तरह अधिक जटिल प्रोग्रामिंग भाषा के लिए एक अच्छा कदम हो सकता है। (चूंकि सी आपको कुछ मूल बातें प्रदान करता है)

सौभाग्य।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.