2010-12-16 26 views
13
के समकक्ष थे

मैं Python's standard library पर निर्भर है, दोनों उपयोगी डाटा संरचनाओं और manipulators (जैसे, collections और itertools) के लिए और उपयोगिताओं (जैसे, optparse, json, और logging), बॉयलरप्लेट छोड़ के लिए और बस चीजें हो गई। सी ++ मानक पुस्तकालय पर दस्तावेज़ीकरण के माध्यम से देखकर, यह पूरी तरह से डेटा संरचनाओं के बारे में लगता है, जिसमें पाइथन की मानक लाइब्रेरी में "बैटरी शामिल" के रास्ते में बहुत कम है।C/C++ पायथन मानक पुस्तकालय

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

क्या सी ++ के लिए वहां अन्य खुले स्रोत पुस्तकालय हैं जो "बैटरी" प्रदान करते हैं? यदि नहीं, तो आप सी ++ प्रोग्रामर के रूप में क्या करते हैं: व्यक्तिगत उपयोगिता पुस्तकालयों के लिए शिकार (और यदि ऐसा है, तो कैसे), या बस अपना खुद का रोल करें (जो परेशान और अपमानजनक लगता है)?

+4

यदि आपको थोड़ा ओवरहेड नहीं लगता है (और आप पाइथन पर भारी भरोसा करते हैं), तो आप हमेशा अपने सी ऐप में पाइथन दुभाषिया को एम्बेड कर सकते हैं :) http://docs.python.org/extending/embedding.html –

+2

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

+0

@gotgenes: "यदि इनमें से कई उपकरणों के बराबर कोई प्रत्यक्ष सी/सी ++ नहीं है तो मैं पूरी तरह से परेशान होगा"। नहीं तुम नहीं करोगे आप पाइथन चला रहे होंगे। बिल्कुल कोई परेशानी नहीं होगी। सी में पायथन को एम्बेड करना मतलब है कि आप अभी भी पायथन का उपयोग कर रहे हैं। –

उत्तर

5

Poco library अन्य भाषाओं के मानक पुस्तकालयों की तरह अधिक है।

असल में पोको वेब साइट का लोगो कहता है "सी ++ अब बैटरी शामिल है!", जो ठीक है, जो आप पूछ रहे हैं।

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

लेकिन बहुत से लोग & कंपनियां इसका उपयोग कर रहे हैं, इसलिए ऐसा लगता है कि मैं अल्पसंख्यक हूं और आपको शायद यह बहुत उपयोगी लगेगा।

इसके अलावा, के रूप में दूसरों का उल्लेख किया है, डेटा संरचनाओं, पारसर्स, और वास्तव में अजगर के लिए एक इंटरफेस !, और इस तरह के सामान के लिए, Boost की जाँच करें।

चीयर्स & hth।,

+1

धन्यवाद, मैंने पोको के बारे में नहीं सुना था। क्या मैं पूछ सकता हूं कि आप इसके बजाय क्या घायल हो गए हैं? – gotgenes

1

http://www.boost.org/doc/libs/1_45_0/?view=categorized

बूस्ट बस के बारे में डेटा संरचनाओं नहीं है - यह बैटरी आप चाहते हैं के बहुत सारे है - पार्स, धागे, संग्रह, प्रवेश, आदि

+0

असल में, जैसा कि एएए ने बताया, लॉगिंग बूस्ट पुस्तकालयों का हिस्सा नहीं है (अभी तक)। http://boost-log.sourceforge.net/libs/log/doc/html/ – gotgenes

4

सी ++ आराम के लिए बढ़ा दी के कई की पेशकश करता है ओओ यह एक बहुत ही सरल मानक पुस्तकालय रखता है। सी ++ में एसटीएल और बूस्ट है। ये बहुत अच्छे हैं, और इसके बाद केवल डेटास्ट्रक्चर हैं।

यदि आपकी आवश्यकताएं प्रोटीोटाइपिंग या तीव्र (सापेक्ष अवधि) गति आवश्यकताओं के बिना आवेदन करने के लिए उच्च आदेश कार्यों के इस प्रकार हैं तो सी/सी ++ शायद आपके लिए सही विकल्प नहीं है। मेरा मानना ​​है कि आप पाएंगे कि ज्यादातर परियोजनाओं के लिए उच्च स्तर की भाषाएं आपकी आवश्यकताओं के लिए पर्याप्त तेज़ी से होंगी। यदि आप किसी ऐसे एप्लिकेशन पर काम कर रहे हैं जिसके लिए सी/सी ++ गति (और मानक विचलन के साथ) की आवश्यकता है तो आपको संभवतया अपना व्यक्तिगत समय पुस्तकालय चुनने का समय सावधानीपूर्वक निवेश करना चाहिए।

+2

सी ++ में "एसटीएल नहीं है"। एसटीएल, वास्तविक तृतीय-पक्ष की चीज़ के रूप में, ** बहुत ** पुराना (सी ++ 98 मानकीकरण से पुराना) है, और * लगभग सभी * सी ++ मानक पुस्तकालय में पाया जाता है (उस मानकीकरण के अनुसार)। अधिकांश लोगों द्वारा क्रेडिट देने के लिए सी ++ अधिक व्यापक मानक लाइब्रेरी प्रदान करता है। (बूस्ट के कई टुकड़े सी ++ 0x मानक लाइब्रेरी में भी पाए जाते हैं।) –

0

सी और सी के साथ ++ आप आमतौर पर एक "कर यह सब" पुस्तकालय नहीं मिलेगा, इसके बजाय आप अलग-अलग पुस्तकालयों कि अलग अलग बातें करते हैं का उपयोग करेंगे। आप एक लाइब्रेरी का उपयोग कर सकते हैं जो JSON पार्सिंग करता है, जो क्रिप्टो करता है, जो लॉगिंग करता है, इत्यादि।

बूस्ट और क्यूटी केवल एक ही हैं जो "इसे सब करें" लाइब्रेरी से अधिक होंगे।

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