शीतल प्रश्न: अजगर तस्वीर में कहाँ फिट बैठता है?


9

इसलिए मैं इस बात पर बहस कर रहा हूं कि मुझे पायथन सीखने में परेशान होना चाहिए या नहीं। मेरे प्राध्यापकों के साथ बोलने से लेकर, मतलाब सामान्य भाषा में प्रयुक्त गणित / कम्प्यूटेशनल विज्ञान में प्रयुक्त होने वाली भाषा प्रतीत होती है जहाँ तक अकादमिक का संबंध है; उद्योग में रहते हुए , मेरे प्रोफेसरों (esp। जिन्होंने उद्योग में काम किया है) ने कहा है कि c ++ सीखना सबसे सुरक्षित मार्ग है।

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

अद्यतन : ज्योफ एक अच्छा बिंदु लाता है, मुझे शायद कुछ और विवरण देना चाहिए:

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


1
आपका प्रश्न एक अच्छा है, लेकिन शायद थोड़ा बहुत खुला हुआ और अस्पष्ट है। आप किस अनुशासन का अध्ययन कर रहे हैं, और आपको क्या लगता है कि आप क्या करना चाहते हैं?
जियोफ ऑक्सबेरी

1
उन चीज़ों के उदाहरण के लिए जिन्हें पायथन के साथ किया जा सकता है जो MATLAB या शुद्ध C ++ में अच्छा काम नहीं करेगा: epubs.siam.org/doi/abs/10.1137/110856976 । (बेशर्म आत्म-प्रचार चेतावनी)
डेविड केचेसन

जवाबों:


15

इस प्रकार के किसी भी प्रश्न के साथ एक कठिनाई यह है कि इसका उत्तर अत्यधिक समुदाय-निर्भर है।

आपके कुछ सवालों का जवाब देने के लिए

MATLAB का उपयोग शिक्षा और उद्योग दोनों में बहुत किया जाता है। इसका एक कारण यह है कि उद्योग में इसका उपयोग बहुत कम किया जाता है क्योंकि यह एकेडेमिया में पढ़ाया जाता है। मुझे पता है कि MATLAB का उपयोग लिंकन प्रयोगशाला में और ड्यूपॉन्ट के अनुसंधान और विकास प्रभागों में किया जाता है।

पायथन में लिखे गए सॉफ्टवेयर पैकेज हैं जो प्रतीकात्मक गणना में अच्छे हैं, जैसे कि सिम्पी और SAGE। आपकी विशेष रुचियों, फ़ीचर आवश्यकताओं, और व्यक्तिगत प्राथमिकताओं के आधार पर, इन पैकेजों से Mathematica (या मेपल, या अन्य कंप्यूटर बीजगणित प्रणालियाँ) बेहतर हो सकती हैं।

MATLAB में एक प्रतीकात्मक गणित टूलबॉक्स है जिसका उपयोग कुछ प्रतीकात्मक संगणनाओं के लिए किया जा सकता है, लेकिन इसकी प्रतीकात्मक हेरफेर क्षमताओं, मेरे अनुभव में, गणितज्ञ और पायथन की तुलना में कमजोर हैं। कुछ प्रतीकात्मक हेरफेर सैद्धांतिक रूप से C ++ में किया जा सकता था, लेकिन यह अस्पष्ट है। MATLAB भी एक सामान्य सामान्य भाषा नहीं है। यह रैखिक बीजगणित और संख्यात्मक गणित को अच्छी तरह से करता है, लेकिन इसमें अच्छा इनपुट / आउटपुट क्षमताएं नहीं हैं। इसमें C ++ या Python की तुलना में अच्छी समांतर क्षमताएं नहीं हैं (भले ही समानांतर MATLAB, MATLAB Star-P, और Parallel Computing Toolbox जैसे वेरिएंट हैं)। यहां तक ​​कि इसकी ग्राफिक्स क्षमताएं कुछ काम का उपयोग कर सकती हैं। MATLAB भी महंगा है जब तक कि आप उस संस्था से संबद्ध न हों जिसके पास लाइसेंस है। प्रत्येक टूलबॉक्स खरीदना महंगा है, और आमतौर पर सैकड़ों से हजारों डॉलर के ऑर्डर पर खर्च होता है।

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

पायथन एक सामान्य सामान्य भाषा है जिसे सीखना और प्रयोग करने में आसान माना जाता है। इसका उपयोग बड़े सुपर कंप्यूटरों पर किया जाता है (देखें, उदाहरण के लिए, PyClaw, Petsc4py, mpi4py, और अन्य), और अच्छी तरह से तराजू। यह भी उच्च माना संख्यात्मक पैकेज (जैसे कि NumPy और SciPy) है; एक बड़ा, सक्रिय समुदाय; अच्छा इनपुट / आउटपुट प्रोसेसिंग क्षमता; और अच्छे ग्राफिक्स पुस्तकालय, पुस्तकालयों के एक बड़े भंडार (PyPI की जाँच करें) के साथ। यह ऊपर उल्लेखित मालिकाना पैकेजों की तुलना में मुफ़्त है। आप आसानी से उपलब्ध पायथन पैकेजों में MATLAB या गणितज्ञ की अधिकांश कार्यक्षमता पा सकते हैं। पायथन का मुख्य नुकसान यह है कि यह C ++ जैसी संकलित भाषाओं की तुलना में धीमा हो जाता है, हालांकि यह नुकसान साइथन, नुम्बा और PyPy के निरंतर विकास के साथ कम हो रहा है; इसे C (या C ++, या Fortran) कोड के साथ धीमी पायथन कोड को बदलकर और उचित रूप से लिखे गए पायथन रैपर से भी कम किया जा सकता है। व्याख्या की जा रही है, कई लोग संकलित भाषाओं की तुलना में पायथन के साथ उच्च उत्पादकता की रिपोर्ट करते हैं। यह काफी लोकप्रिय है, और यदि आपके पास समय है तो शायद सीखने लायक है।

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

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


जहाँ तक एकेडेमिया का सवाल है, तो क्या आप C ++ के बजाय पायथन सीखने में समय लगाना बेहतर कहेंगे?
एलन हाउस

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

मैं ज्योफ के साथ सहमत हूं कि पहले अजगर सीखना एक अच्छा विचार है, क्योंकि यह आपको बहुत तेजी से आगे बढ़ेगा। C ++ एक अच्छी भाषा है, लेकिन सीखने की अवस्था काफी अधिक है और इसे आधे-अधूरे मन से सीखना बिल्कुल भी बुरा नहीं है।
लेक्लेविन

"C ++ में इसकी उन्नत विशेषताओं के बारे में जानने के लिए एक मजबूत सीखने की अवस्था है, और मैंने वर्षों से लोगों को यह महसूस करने के बारे में सुना है कि उन्होंने पूरी भाषा सीखी है।" हाँ मैं और अधिक सहमत नहीं हो सकता था। मुझे लगता है कि अपने नमक के लायक किसी भी प्रोग्रामर को अपने जीवन में कुछ समय c / c ++ सीखना चाहिए, लेकिन यह निश्चित रूप से आपको उनके साथ एक विशेषज्ञ की तरह महसूस करने में 10000 घंटे लगेगा। +1
जेम्स

11

जैसा कि मिशा और ज्योफ ऑक्सीबेरी ने बताया, गणितज्ञ का वास्तव में एक अलग ध्यान केंद्रित है (सिर्फ इसलिए कि आप एक पेचकश के साथ नाखून में पाउंड कर सकते हैं इसका मतलब यह नहीं है कि आपको चाहिए)। इसलिए मैं आपके प्रश्न के रूप में लेता हूं "अगर मैं मतलूब को जानता हूं, तो मुझे पायथन क्यों सीखना चाहिए?" [संपादित करें: और हां, जाहिरा तौर पर, आपने]

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

कहा जा रहा है, यदि आप मज़े और लाभ के लिए एक और उच्च-स्तरीय भाषा सीखना चाहते हैं, तो आप पायथन से भी बदतर कर सकते हैं। ज्योफ ने जो सूचीबद्ध किया उसके अलावा कुछ कारण:

  • पायथन में बाहरी कार्यक्रमों और पुस्तकालयों के साथ इंटरफेस करना बहुत आसान है। कोई और अधिक फ़ाइलें!

  • यदि आप अपने डेस्कटॉप से ​​दूर हैं, तो पायथन + न्यूमपी / साइपीपी को प्राप्त करना और मैटलैब लाइसेंस तक पहुँच पाने की तुलना में बहुत आसान है।

  • न्यूपे की तुलना में मतलाब तेज़ होने का मुख्य कारण यह है कि यह रैखिक बीजगणित (एमकेएल, एसीएमएल) के लिए अनुकूलित वेंडर लाइब्रेरीज़ को बंडल करता है। यह संभव है ( यदि थोडा थकाऊ ) अपनी खुद की न्यूमपी का निर्माण करें और इसे समान पुस्तकालयों के खिलाफ लिंक करें और लगभग समान प्रदर्शन (और मल्टीथ्रेडिंग) प्राप्त करने के लिए मैटलैब के रूप में रैखिक बीजगणित के लिए, प्लस सब कुछ के लिए पायथन का बेहतर प्रदर्शन। (हालांकि उस पाठ्यक्रम में शैक्षणिक उपयोग के लिए भी लाइसेंस की आवश्यकता होती है, इस प्रकार मुफ्त सॉफ्टवेयर बोनस की उपेक्षा करना, यह अभी भी एक दिलचस्प विकल्प है कि एक नियोक्ता द्वारा प्रायोजित एक ही कोड काम कर रहा है जो कार्यालय में त्वरित रूप से स्थापित है और साथ ही ऑफ-द-शेल्फ भी है अपने घर की मशीन या नोटबुक पर स्थापित करें।)

  • जबकि मैटलैब के टूलबॉक्स उसके विक्रय बिंदुओं में से एक हैं, कुछ क्षेत्र ऐसे हैं जहाँ पायथन आगे है; विशेष रूप से, SymPy और FEniCS ने एक विस्तृत अंतर से Symbolic और PDE टूलबॉक्स को हराया।

  • मज़ेदार भाग (शब्दार्थ व्हाट्सएप और नेम बाइंडिंग नॉट अंडरस्टैंडिंग) को न भूलें : मैंने कई सहयोगियों को पायथन बग से काटते हुए देखा है, और पायथन में अपने एल्गोरिथ्म को लिखने में वास्तव में कुछ अजीब तरह से संतोषजनक है जो कि मतलाब में नहीं है ( हालांकि यह सिर्फ एक विदेशी भाषा सीखने की खुशी हो सकती है) :)

(यदि आप NumPy से शुरू करते हैं, तो आपको यह पृष्ठ उपयोगी लग सकता है ।)


5

Python c ++ और Matlab दोनों के लिए प्रतिस्थापन हो सकता है। यह शिक्षा और उद्योग दोनों में अच्छी तरह से फैला हुआ है। उद्योग में इसे कभी-कभी निचले स्तर की भाषाओं के लिए गोंद के रूप में उपयोग किया जाता है, ज्यादातर सी / सी ++। गणितज्ञ पूरी तरह से एक और कहानी है। इसका मुख्य लाभ वह है जहाँ अन्य सभी (c / c ++; मतलूब; अजगर) अच्छे नहीं हैं: प्रतीकात्मक संगणना में।

तो, सभी चार पूरी तरह से अलग हैं: सी ++ पुरानी और स्थिर अपेक्षाकृत निम्न स्तर की प्रोग्रामिंग भाषा है; अजगर नया और उच्च स्तरीय कंप्यूटर भाषा विकसित कर रहा है; मतलाब एक संख्यात्मक कम्प्यूटेशनल वातावरण है जिसमें वेक्टर बीजगणित पर एक मजबूत उच्चारण है (हालांकि यह कम या ज्यादा सब कुछ करने में सक्षम है); Mathematica प्रतीकात्मक संगणनाओं पर एक मजबूत उच्चारण (matlab के साथ एक ही टिप्पणी) के साथ एक कंप्यूटर बीजगणित प्रणाली है। इस प्रकार, वे प्रतिस्पर्धी नहीं हैं।


वास्तव में; मैं अक्सर हैरान रह जाता हूं (और कभी-कभी आश्चर्यचकित हो जाता हूं) जब मैं देखता हूं कि लोग वैज्ञानिक कंप्यूटिंग के लिए गणितज्ञ का उपयोग करते हैं ...
ईसाई क्लैसन

@ChristianClason और Misha: यह एक गलत धारणा है कि Mathematica मुख्य रूप से एक कंप्यूटर बीजगणित प्रणाली है। यदि आप यह देखते हैं कि लोग वास्तव में इसका उपयोग कैसे करते हैं , तो इसका अधिकांश प्रतीकात्मक बीजगणित नहीं है, और कई संख्यात्मक क्षेत्रों में यह MATLAB और R. जैसे उपकरण के साथ प्रतिस्पर्धात्मक है (व्यक्तिगत रूप से मैं इन दो सबसे अधिक संख्यात्मक ऊर्जा प्रसंस्करण कार्यों के लिए Mma को चुनूंगा। , लेकिन यह निश्चित रूप से एक व्यक्तिगत प्राथमिकता है।) कुछ क्षेत्रों में, संख्यात्मक एकीकरण या विज़ुअलाइज़ेशन की तरह, यह MATLAB से आगे लगता है। पीडीई को हल करने के लिए दूसरों की तरह यह पीछे है।
शेजाबल्क्स

किसी ऐसे व्यक्ति के लिए जिसका एकमात्र अभिकलित्र संख्यात्मक अभिकलन में है, पायथन MATLAB का एक विकल्प है जो अपेक्षाकृत उच्च स्तर की भाषा है जो कि रैखिक बीजगणित, फारेस्ट ट्रांसफॉर्मर, विशेष कार्यों, आदि से युक्त मानकीकृत संगणनाओं को संभालने के लिए लाइब्रेरी रूटीन का उपयोग करने की क्षमता के समान है। हाँ, पायथन बहुत अधिक व्यापक रूप से लागू है, लेकिन यह MATLAB में आपके द्वारा किए जा सकने वाले हर काम को कवर करता है।
ब्रायन बोरचर्स

4

मुझे पता है कि आपका प्रश्न अजगर के उपयोग के बारे में है, लेकिन आपने कहा था कि आप "संख्यात्मक विश्लेषण या संभावना" में रुचि रखते थे। मुझे नहीं पता कि क्या आपने R पर विचार किया है , लेकिन इसे विशेष रूप से इस तरह के काम के लिए डिज़ाइन किया गया है। आर संभावना और आँकड़ों के लिए एक बहुत ही शक्तिशाली भाषा है, और गणितज्ञों और वैज्ञानिकों का एक बहुत बड़ा और सक्रिय उपयोगकर्ता आधार है।

आर मतलब से इस मायने में अलग है कि यह ओपन-सोर्स है, इसमें एक आँकड़े हैं, और कुछ बहुत प्रभावशाली प्लॉट्स बनाते हैं ( ggplot2 देखें )। आप आर में लगभग सब कुछ कर सकते हैं जो आप मतलाब में कर सकते हैं, लेकिन मेरा पसंदीदा पहलू उपयोगकर्ता का योगदान है। अधिकांश योगदान पुस्तकालयों को वैज्ञानिकों द्वारा लिखा गया है और एक सांख्यिकीय पत्रिका में प्रकाशित किया गया है। उनके पास बहुत अच्छी तरह से लिखित गाइड (संदर्भ और विगनेट्स) भी हैं। मेरा नया पसंदीदा पुस्तकालय देता है CUDA समर्थन पर बनाया गया CULA पुस्तकालयों (शैक्षणिक उपयोग के लिए नि: शुल्क)। संभावना सिद्धांत के रूप में अच्छी तरह से ( यहां देखें ) के लिए एक विलक्षण मात्रा में मौजूद है ।

वैसे भी, R निश्चित रूप से आपके काम की लाइन के लिए विशेष रूप से डिज़ाइन किया गया है, इसलिए इसे देखें और इसे अपने टूलकिट में जोड़ने पर विचार करें :) याद रखें, आपके R के भीतर R स्क्रिप्ट्स, और Python स्क्रिप्ट्स को R के अंदर निष्पादित कर सकते हैं, और आसानी से आउटपुट कैप्चर कर सकते हैं।

शुभकामनाएँ!


2

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

दूसरी ओर, यदि आप वैज्ञानिक कंप्यूटिंग में उचित हैं (उदाहरण के लिए, एक एयरोफिल के चारों ओर प्रवाह का अनुकरण, एक प्लाज्मा में परमाणु संलयन का अनुकरण, पृथ्वी मेंटल में संवहन अनुकरण) या मन में ऐसे अनुप्रयोगों के साथ संख्यात्मक तरीकों को विकसित करने में, तो लिंगुआ फ्रैंक सी ++ है। हर बड़े पैमाने पर वैज्ञानिक कंप्यूटिंग पैकेज आज C ++ (या C) में लिखा है, बेहतर या बदतर के लिए, और इसी तरह यह आने वाले लंबे समय तक रहने वाला है। बस कुछ उदाहरणों को नाम देने के लिए, पेट्सक और अविश्वसनीय रूप से बड़े और विविध ट्रिलिनो पैकेज क्रमशः सी और सी ++ में लिखे गए हैं। बड़े खुले स्रोत परिमित तत्व पुस्तकालयों में से मैं (libMesh, deal.II, oofem, freefem) के बारे में सोच सकता हूं, हर एक C ++ में लिखा गया है। विज़ुअलाइज़ेशन प्रोग्राम्स में, दो सबसे बड़े (विजिट एंड पैराव्यू) C ++ में लिखे गए हैं। मैं सूची का विस्तार कर सकता हूं।

बिंदु यह है कि यदि आप छोटे पैमाने पर सिमुलेशन के साथ संतुष्ट हैं, तो लोग एक भाषा का उपयोग करते हैं, लेकिन जब भी गंभीर, शायद समानांतर संगणना की बात आती है, तो वे सभी कुछ और उपयोग करते हैं। यह सुनिश्चित करने के लिए एक सामुदायिक चीज़ है, लेकिन यह भी अंतर-योग्य होने के साथ - अगर PETSc और Trilinos C और C ++ में लिखे गए हैं, तो मैं (Deal.II के लेखक होने के नाते) आसानी से किसी भी अन्य भाषा को नहीं चुन सकता, भले ही मैं चाहता था कि मुझे PETSc और Trilinos के साथ काम करने की आवश्यकता है।


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

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

1

मेरे दो सेंट जोड़ने के लिए, मुझे हाल ही में दोनों शैक्षणिक अनुभव (एक ताजा पीएचडी ग्रेड :)) और उद्योग का अनुभव (एक सर्वेक्षण उपकरण निर्माता) मिला है।

हम कमजोर एम्बेडेड प्रोसेसर (मोबाइल फोन प्रोसेसर सोचते हैं) पर बहुत सारे संख्यात्मक गणना करते हैं। एआरएम के लिए कोई MATLAB नहीं होने के अलावा, C ++ इस दुनिया में राजा है - कई एम्बेडेड संकलक सुइट्स में FORTAN शामिल नहीं है!

जब भी हमारे पास MATLAB लाइसेंस की सीमित संख्या होती है, तो उत्पाद को बनाने के लिए आवश्यकता होती है 2 वाट्स पॉवर स्केज़ हमारे विकास कार्य को C ++ के पक्ष में, (प्रयोग करके)।

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