2009-08-01 15 views
9

मैंने सोचा कि मैं विश्वविद्यालय में सी ++ सीख रहा हूं, लेकिन ऐसा लगता है कि अब उन्होंने सी # को उद्योग मानक भाषा के रूप में डब किया है।10 वर्षों में सी # के भविष्य में क्या होगा?

मैंने कभी सोचा नहीं कि मैं इसके साथ परेशान हूं, लेकिन यह वास्तव में एक बहुत अच्छी भाषा है।

मेरे पास अभी एकमात्र समस्या यह है कि मैं विंडोज प्लेटफ़ॉर्म तक ही सीमित हूं।

तो हो सकता है कि जब मैं अब से विंडोज प्रोग्राम लिखूं, तो मुझे अपने पिछले WinAPI और C++ अनुभव के बजाय सी # का अभ्यास करना चाहिए?

मैंने मोनो प्रोजेक्ट के बारे में भी अच्छी खबर सुनी है, और यह भी तथ्य कि सी # यूनिटी 3 डी गेम इंजन के लिए स्क्रिप्टिंग भाषाओं में से एक है।

कोई अंतर्दृष्टि?

किसी के लिए खुला चर्चा!

+3

यह एक कॉम्यूनिटी विकी है जो मुझे लगता है –

उत्तर

12

मोनो के साथ, आप लिनक्स और मैक पर चल सकते हैं। मोनो आईफोन के लिए Mono Touch संस्करण भी कर रहा है। भविष्य में इसकी कई संभावनाएं हैं। सी # लगभग 9 साल पहले से ही रहा है और .NET का हिस्सा है। .NET के साथ सी ++, एफ #, वीबी.नेट भी भाषाओं के रूप में उपलब्ध है, मुझे लगता है कि सी # लंबे समय तक आसपास रहेगा। सी # 2003 में एक आईएसओ मानक बन गया, इसलिए यह निश्चित रूप से एक मानक भाषा है। ऐसा लगता है कि मैक या लिनक्स पर यह हमेशा दूसरी श्रेणी की भाषा होगी। एक विंडोज़ मुझे लगता है कि यह वहां होगा और लोग इसका इस्तेमाल करेंगे, लेकिन दूसरों पर प्रतिरोध होगा।

आईफोन के लिए यूनिटी गेम इंजन नए मोनो टच और सी # का उपयोग करता है, इसलिए यह तरीका हो सकता है कि यह आईफोन ऐप्स बनाने और गैर-विंडोज प्लेटफॉर्म पर सी # का उपयोग करने के लिए अधिक लोगों को मिल जाए।

+3

+1। मैंने मोनो टच के बारे में नहीं सुना था ... –

+0

http://www.mono-project.com/MonoTouch – SteveM

+0

हां, सी # एक "मानक" है, लेकिन एमएस ने उस मानक को लागू नहीं किया है और वास्तव में दिलचस्पी नहीं है एक मानक में सी # के अधिक आधुनिक संस्करण बनाने में। सामान्य विचार लिंक के लिए –

4

मुझे लगता है कि सी # का एक अच्छा भविष्य है और उपयोग में वृद्धि जारी रहेगा। दूसरी ओर, मैं सी ++ को छोड़ने के लिए बहुत तेज़ नहीं होगा: यह एक महत्वपूर्ण उद्योग भाषा है और यह बहुत लंबे समय तक जारी रहेगी।

this question पर मेरा उत्तर देखने के लिए कि कौन सी भाषाओं को सीखने में समय व्यतीत करना है, इस बारे में अधिक सामान्य विचार देखने के लिए मेरा उत्तर देखें। भाषा प्रवृत्तियों के साथ रहना एक डेवलपर के लिए एक महत्वपूर्ण दीर्घकालिक कौशल है।

+0

+1। –

1

टीएल; डॉ संस्करण: दोनों सीखें। फिर योजना सीखो। जो भी सीखो कोई भी "एक भाषा नहीं है जो हर कोई सिखाती है और यह कि प्रत्येक नियोक्ता आपको"

सी # से पहले, कई विश्वविद्यालय जावा पढ़ रहे थे। लिस्प और पायथन भी आमतौर पर सिखाया जाता है।

उच्च स्तर की भाषाओं के रूप में, सी #/जावा छात्रों को निचले स्तर वाले लोगों को पूरी तरह से मास्टर करने से पहले उच्च स्तरीय अवधारणाओं को समझने देता है, (उदाहरण के लिए, उन्हें स्मृति उत्पन्न करने के बारे में पकड़ा नहीं जाना चाहिए डेटा संरचनाओं के परिचय के लिए उनके पहले लिंक्ड लिस्ट कार्यान्वयन में लीक।

अंत में, एक अच्छी तरह से गोल सीएस शिक्षा निम्न स्तर की अवधारणाओं को भी कवर करेगी। मेरा मानना ​​है कि अधिकांश छात्र कंप्यूटर सिस्टम कोर्स के लिए कम से कम एक परिचय लेते हैं, जहां सी/सी ++ और पढ़ने के लिए कोड को पढ़ना आवश्यक है।

रिकॉर्ड के लिए, मेरी पहली सीएस कक्षा योजना में एसआईसीपी थी, इसके बाद कक्षाओं की एक श्रृंखला थी जहां हमें सी ++ या जावा की पसंद की अनुमति थी एक (और कभी-कभी योजना/पर्ल/अन्य)।

1

इतिहास से पता चलता है कि सी # बड़े उपयोग में होगा लेकिन शायद बाजार हिस्सेदारी में गिरावट के साथ।गौर करें कि उन सभी अन्य प्रमुख भाषाओं के साथ क्या हुआ है, जिनके बारे में आप जानते हैं: एक बिंदु पर, वे उद्योग के पसंदीदा (कोबोल, पीएल/1, एडा, बेसिक, सी, सी ++, यहां तक ​​कि जावा) में थे और अब अन्य भाषाएं उन्हें ग्रहण कर रही हैं। सी # शायद बहुत अच्छी तरह से पकड़ जाएगा; यह अच्छी तरह डिज़ाइन किया गया है और माइक्रोसॉफ्ट के पास इसे धक्का देने के हर कारण हैं। ओटीओएच, फिर अगली पीढ़ी कंप्यूटिंग (समांतरता, वितरित कंप्यूटिंग, सुरक्षा) की ज़रूरतें माइक्रोसॉफ्ट को इसे बदलने के लिए भी कारण बन सकती हैं (साक्षी आयरनपीथन, एफ #, ...)।

शायद इसे सीखने में आपकी परेशानी के लायक है, इस आधार पर आप इस पल में आसानी से प्रतिस्थापन का अनुमान लगाने वाले नहीं हैं और यह अभी भी दशक में उपयोगी होगा, अगर इसके अलावा कोड कोड के कारण कुछ और नहीं होगा ।

+0

सी # उपयोग घटने से पहले शायद आगे बढ़ेगा। लिनक्स पर एक पूर्ण खुले स्रोत कार्यान्वयन के साथ, 'प्रबंधित' भाषा बनने के लिए इसका बड़ा दायरा है। –

+0

सवाल यह था, "सी # 10 वर्षों में कहां होगा"। निश्चित रूप से, अगले 3-5 वर्षों में सूजन हो जाएगी। मेरा मुद्दा यह है कि इसके बाद यह गिरावट आएगी। –

6

सी # और सी ++ दोनों सीखें। ऐसा लगता है कि "सही भाषा चुनना" और इसलिए "गलत" से बचने से आपको समय बचाएगा, लेकिन यह एक झूठी अर्थव्यवस्था है। आप पढ़ना चाहिए और इन सभी भाषाओं के साथ खेलते हैं:

  • सी (this book के माध्यम से काम)
  • सी ++ (this is what I used (और अभी भी उपयोग करें), कुछ लोगों को यह मुश्किल जा रहा लगता है)
  • जावा (नहीं है पता है कि पुस्तक की सिफारिश करने, मैं सिर्फ Effective Java खरीदा लेकिन यह अभी तक नहीं आया है)
  • सी # (this book)
  • योजना (this book के माध्यम से काम)
  • हास्केल (this book)
  • जावास्क्रिप्ट (essential reading नहीं बल्कि एक से खरोंच ट्यूटोरियल)

, सही कुछ नहीं के लिए कड़ी मेहनत का एक बहुत की तरह लगता है? गलत। सबसे पहले, यह मजेदार है। दूसरा, जितना अधिक आप अन्य भाषाओं के बारे में सीखते हैं, उतना ही बेहतर आप अपनी पसंदीदा भाषा का उपयोग करते हैं। यह काफी संभावना है कि आप एक भाषा में अधिक विशेषज्ञ बन जाएंगे, लेकिन आप इसमें अन्य सभी लोगों से ज्ञान का उपयोग करने में सक्षम होंगे - सी # ने अन्य भाषाओं से विचारों को आसानी से एकीकृत करने के अपने जीवनकाल में एक महान काम किया है।

+0

अच्छी किताब के सुझाव, मैं इनमें से अधिकतर का मालिक हूं और वास्तव में उन्हें +1 की सिफारिश कर सकता हूं! – Kolky

1

एक भाषा के रूप में, सी # गले लगाने और विस्तार करने के लिए जारी रहेगा - गतिशील और कार्यात्मक एक्सटेंशन यह बढ़ रहा है, यह प्रकृति में जावा की तुलना में जावास्क्रिप्ट की तरह बन रहा है। मुझे आश्चर्य नहीं होगा कि यह अत्यधिक समवर्ती उपयोग के लिए MSFT's experimental Axum language के फीचर सेट को कम करता है।

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

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