बड़ी, बहु-भाषा परियोजनाओं (यानी लिनक्स कर्नेल) के लिए आईडीई


11

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

एक अच्छा उदाहरण Android स्रोत है। न केवल कर्नेल के लिए एक अच्छा C / C ++ IDE आवश्यक है, बल्कि जावा और शेल स्क्रिप्ट भी है। क्या इस तरह की परियोजना के लिए कुछ भी बनाया गया है?

मैं आमतौर पर C / C ++ के लिए KDevelop का उपयोग करता हूं। मुझे यह पसंद है, हालांकि, यह लिनक्स प्रोजेक्ट जैसे विशाल प्रोजेक्ट के लिए उपयोग करते समय फट जाता है। इसके अलावा यह जावा या अजगर के लिए भी कुछ नहीं करता है।

तो जो मैं मूल रूप से देख रहा हूं, वह बड़ी परियोजनाओं के साथ काम करने के लिए IDEs / setups (यानी vim + स्क्रिप्ट) के लिए सुझाव है, जिसमें लिनक्स कर्नेल भी शामिल है।

संपादित करें :

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


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

1
Android के द्वारा, क्या आपका मतलब android java app development है? या android कर्नेल / NDK विकास?
फाल्मरी

@Falmarri - लिनक्स कर्नेल विकास के विशिष्ट मामले में मैंने जो पाया है, उससे ऐसा लगता है कि लिंक + बहुत लोकप्रिय है: sourceforge.net/projects/linkplustest
गाय एवराम

जवाबों:


5

मैं जो सलाह दूंगा, वह यह है कि आप किसी भी आईडीई के अनुसार नहीं कहेंगे। अपने कोड को फाइलसिस्टम में फ्लैट फाइल के रूप में रहने दें, और आपके द्वारा लागू किए जाने वाले ऑपरेशनों को लागू करने के लिए आपके पास स्वतंत्र उपकरण (Emacs, GCC toolchain, Ctags, आदि) का उपयोग करें। यह आपके कोडबेस आईडीई-इंडिपेंडेंट और अव्यवस्था से मुक्त रखेगा जो इसे घेरता है (जैसे कि .project फ़ाइलें, आदि)।


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

1

मैं केवल अनुभव से बात कर सकता हूं, इसलिए यह संभवतः आपके आकार के प्रोजेक्ट को शामिल नहीं करता है। मैं कोड का उपयोग करता हूं :: C और C ++ में विकास के लिए ब्लॉक

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

बड़ी मात्रा में फाइलों के प्रबंधन के लिए, फाइलसिस्टम को काम करने दें। फ़ोल्डर्स और वर्णनात्मक फ़ाइलों का उपयोग करें, साथ ही साथ अपने कोड के अंदर टिप्पणी भी करें।


1

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


2
बड़ी परियोजनाओं के लिए उपयोग करते समय ग्रहण बहुत अविश्वसनीय है। जावा डेवलपर इससे चिपके रहते हैं, क्योंकि आस-पास बहुत कम विकल्प हैं।
पोलीमोन

क्या आपने बिना परेशानी के एक बड़े प्रोजेक्ट के साथ इसका इस्तेमाल किया है?
tshepang

2
ग्रहण के साथ मुझे जो समस्या थी वह प्लगइन मानसिकता है। कई (अभी भी हैं?) असंगत और ज्यादातर असंगत उपयोगकर्ता इंटरफेस थे। जब आप कुछ "नया" करना चाहते हैं, जैसे कि एक ऐसी फ़ाइल को संपादित करें जो जावा नहीं है, तो आपको एक प्लगइन डाउनलोड और इंस्टॉल करना होगा, जिसमें काम करने की पूरी स्थापना को अस्थिर करने की उतनी ही संभावना है।
मत्तन्ज

1

मैं एक बड़े (लाखों SLOC) के लिए विज़ुअल स्लिक एडिट का उपयोग करता हूं, विरासत बहु-भाषा, बहु-मंच, बहु विकास वातावरण। यह वाणिज्यिक और महंगा है (जब तक आप अपने समय में कारक नहीं हैं)। गंभीर जावा सत्र के लिए मैं ग्रहण पर स्विच करता हूं, लेकिन जावा में त्वरित सुधार / उपकरण के लिए, C / C ++, Ada, Python, Pearl, Scripts और कई अन्य यह एकमात्र उपकरण है जो मुझे पता है कि मैं इसे कर सकता हूं, बाहर डिब्बा।

आप अपने आप को एक परीक्षण डाउनलोड करने और यह देखने के लिए नहीं करते हैं कि यह एक असंतुष्ट होगा

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