(पूर्ण प्रकटीकरण, मैं एक पर्ल प्रोग्रामर हूँ)
Ruby C API निश्चित रूप से Perl की तुलना में बहुत अच्छे लग रहा है। यह एक नियमित सी लाइब्रेरी की तरह दिखता है जो रूबी कोड से मेल खाता है। पर्ल एपीआई मैक्रोज़ और मैजिक थ्रेडिंग झंडे के भीतर मैक्रोज़ के भीतर मैक्रोज़ की गड़बड़ है। पर्ल कोर के बाहर पर्ल एपीआई का उपयोग निश्चित रूप से एक माध्यमिक चिंता है। रूबी निश्चित रूप से डरावनी रूप से डरावनी नहीं होने पर जीतता है।
जबकि रूबी के पास एक बेहतर सी एपीआई है, पर्ल के पास इसके साथ कुछ भी करने के तरीके पर बेहतर ट्यूटोरियल हैं। जेनरेट किए गए रूबी दस्तावेज में किसी प्रकार का संयोग ट्यूटोरियल या अक्सर कोई वर्णनात्मक पाठ नहीं होता है। यह संभव है कि मैं गलत जगह but that's all that was offered देख रहा हूं। इसके विपरीत, पर्ल एपीआई दस्तावेज हाथ से लिखित गद्य है जो प्रत्येक समारोह के बारे में उपयोगी जानकारी के साथ होता है। इसके अलावा, there's over a dozen documents in the core docs about using Perl and C। मैं कहूंगा कि पर्ल डॉक्स पर जीतता है।
एफएफआई काफी प्रभावशाली दिखता है। सबसे नज़दीकी चीज पर्ल को एफएफआई है Inline::C जो एक्सएस की गड़बड़ी के आसपास एक रैपर है। इसका प्राथमिक उपयोग inline C code into your Perl program है, लेकिन आप इसे access C library functions पर भी उपयोग कर सकते हैं।
यहां नाश के गेटपीड उदाहरण के समान एक मामूली उदाहरण है।
use Inline
C => Config =>
ENABLE => "AUTOWRAP";
use Inline C => q{ int getpid(); };
print getpid();
अब, मैं धोखा दे रहा हूँ क्योंकि तकनीकी रूप से getpid रिटर्न अपने सिस्टम पर pid_t, लेकिन वह सिर्फ एक पूर्णांक है। एफएफआई के पास गेटपिड के लिए बहुत अधिक विशेष कोड कोड है, इसलिए मुझे संदेह है कि इसका उपयोग आसानी से होगा, एफएफआई ने पहले से ही इसका ख्याल रखा है या नहीं। मामूली उदाहरण तुच्छ हैं। यह देखना दिलचस्प होगा कि सामान्य जटिलताओं के दौरान क्या होता है, जैसे कि पूर्व-आवंटित स्मृति को वापस करने वाले कार्यों और विषम प्रकार होते हैं और structs के चारों ओर फेंकते हैं।
जबकि एफएफआई और इनलाइन :: सी का उपयोग एक ही काम करने के लिए किया जा सकता है, वे यह कैसे बहुत अलग दिखते हैं। इनलाइन :: सी वास्तव में संकलन और सी कोड कैशिंग है। एफएफआई किसी भी तरह संकलन नहीं कर रहा है। मुझे यकीन नहीं है कि यह वास्तव में असली है, या यदि आपके लिए सामान्य पुस्तकालयों के लिए इंस्टॉलेशन समय पर संकलन किया जाता है।
इसके अतिरिक्त, एफएफआई विभिन्न रूबी कार्यान्वयन और देशी एपीआई को कॉल करने के उनके विभिन्न तरीकों में पोर्टेबिलिटी समस्याओं को सुगम बनाता है। यह कुछ इनलाइन :: सी को करने की ज़रूरत नहीं है, और स्पष्ट रूप से यह आश्चर्यजनक है कि यह वास्तव में काम करता है। एक लाभ यह है कि एफएफआई इंटरफ़ेस इनलाइन :: सी से कहीं अधिक चिकना है। इनलाइन :: सी के साथ, यह बहुत स्पष्ट है कि आप एक सी कंपाइलर के चारों ओर एक रैपर लिख रहे हैं।
मुझे लगता है कि इसमें एक गीक लड़ाई में गिरावट की संभावना है, और गीक लड़ाई के रूप में इतनी छोटी और व्यर्थ नहीं है। और, बीटीडब्ल्यू, [एड] (http://www.gnu.org/fun/jokes/ed.msg.html) >> vi> emacs, Linux> फ्रीबीएसडी, आदि –
अभी तक कोई जवाब नहीं है - - आपके विचलित नकारात्मक अटकलों की कोई ज़रूरत नहीं है। –
यदि आप चाहते हैं कि यह पूरी तरह से व्यक्तिपरक हो, तो आपको मार्केटिंग पेज पर एक बयान से अधिक संरचना प्रदान करनी होगी। शायद सवाल दोबारा दोहराएं? "सी एक्सटेंशन के उदाहरण प्रदान करें जो रूबी के साथ लिखना आसान है"? या शायद यहां तक कि सरल ... "रूबी के साथ रूबी बढ़ाने के लिए एक अच्छा ट्यूटोरियल क्या है?" – Schwern