यूनिक्स प्रोग्रामिंग का क्या मतलब है, बिल्कुल? [बन्द है]


10

मुझे लगा कि मुझे समझ में आया है कि यूनिक्स प्रोग्रामिंग शब्द का क्या अर्थ है, लेकिन अब, इसके बारे में कर्नेल / सी प्रोग्रामिंग संदर्भ में पढ़ने के बाद, मुझे लगता है कि मुझे इस शब्द के अर्थ को स्पष्ट करने की आवश्यकता है।

यह मेरे लिए स्पष्ट नहीं है अगर इसका मतलब है:

  1. शेल प्रोग्रामिंग,
  2. यूनिक्स प्रोग्रामिंग उपकरण,
  3. प्रोग्रामिंग का एक विशेष तरीका / पैटर्न यूनिक्स कमांड-लाइन टूल (उदाहरण के लिए, "यूनिक्स शेल प्रोग्रामिंग" के पाइपलाइन तरीके से सहमत होने के लिए), या
  4. कुछ और।

2
आपको थोड़ा संदर्भ देना होगा। आपने यह अभिव्यक्ति कहां पढ़ी? संदर्भ से बाहर, मैं कहूंगा कि इसका अर्थ यूनिक्स ओएस के लिए प्रोग्रामिंग है।
lgeorget

6
यह प्रश्न ऑफ-टॉपिक प्रतीत होता है क्योंकि यह मूल अंग्रेजी के बारे में है।
गिल्स एसओ- बुराई को रोकना '

1
@ गिल्स ओह, तो यह एक सीमांकक है: पी
गोल्डीलॉक्स

@Igeorget, Taoup।
पचेरियर

@goldilocks, मतलब?
पचेरियर

जवाबों:


14

"यूनिक्स प्रोग्रामिंग" एक यूनिक्स पर्यावरण के लिए स्पष्ट रूप से प्रोग्रामिंग को संदर्भित करता है। इसमें ऐसे शेल के लिए प्रोग्रामिंग शामिल होगी जो एक प्रासंगिक मानक (जैसे POSIX ) के अनुरूप हो । हालाँकि, इसमें सिस्टम इंटरफेस और संसाधनों का स्पष्ट उपयोग करते हुए किसी भी भाषा में प्रोग्रामिंग भी शामिल होगी जो समान रूप से मानकीकृत हैं, यह मानते हुए कि ये * निक्स दुनिया के लिए विशिष्ट हैं।

उदाहरण के लिए, C या C ++ में थर्ड पार्टी लाइब्रेरी के बिना नेटवर्क प्रोग्रामिंग पोर्टेबल नहीं है, क्योंकि न तो मानक इसके बारे में कुछ कहता है। C / C ++ में नेटवर्किंग ऑपरेटिंग सिस्टम द्वारा तय किए गए इंटरफ़ेस का उपयोग करके कार्यान्वित की जाती है, और जबकि * nix-ish सिस्टम पर यह अधिक-या-कम सार्वभौमिक है, आप उस कोड को अपरिवर्तित नहीं कर सकते हैं जैसे (जैसे) Windows, और इसके विपरीत। इसलिए, C या C ++ में नेटवर्क सामान करने का अर्थ है कि पोर्टेबल लाइब्रेरी का उपयोग करना, या किसी प्लेटफ़ॉर्म को लक्षित करना, और यूनिक्स बाद के मामले में एक संभावना है, इसलिए, यह "यूनिक्स प्रोग्रामिंग" (और सी या सी ++ प्रोग्रामिंग, और नेटवर्क प्रोग्रामिंग) है। 1

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


1. सी और यूनिक्स के बीच अंतरंग ऐतिहासिक संबंध के कारण, तथ्य यह है कि सी आमतौर पर ऑपरेटिंग सिस्टम लिखने के लिए सबसे अधिक इस्तेमाल की जाने वाली भाषा रही है, और एक "ऑपरेटिंग सिस्टम" की प्रकृति, श्रेणी में बहुत अधिक सामान है " OS विशिष्ट C प्रोग्रामिंग "- नेटवर्किंग के अलावा एक और रोज़मर्रा का उदाहरण फाइलसिस्टम ओरिएंटेड सामान है, जैसे कि फाइलों को पढ़ना और निर्देशिकाओं को पढ़ना। इसलिए, विभिन्न "यूनिक्स प्रोग्रामिंग इन सी" प्रकार की किताबें हैं, क्योंकि सी में बुनियादी प्रोग्रामिंग अनिवार्य रूप से बहुत सारे ओएस विशिष्ट तत्वों को शामिल करती है। यह अधिक पोर्टेबल भाषाओं जैसे पर्ल या जावा के मामले में नहीं है; इस मामले में, पुस्तक का विषय संभवतः " पर्ल में सिस्टम प्रोग्रामिंग" या अधिक संभावना है, बस सादे "पर्लिंग के साथ प्रोग्रामिंग" होगा।


1
प्रो गोल्डीलॉक्स फिर से हमला!
माइकस

@goldilocks, चूंकि लिनक्स ने यूनिक्स को मार दिया है, तो क्या आपका मतलब है कि अब शायद ही कोई "यूनिक्स प्रोग्रामिंग" करता है?
पेसियर

1
सोलारिस और बीएसडी व्यापक उपयोग में हैं (भले ही औसत पीसी उपभोक्ता को पता नहीं है कि वे क्या हैं), और तकनीकी रूप से ओएसएक्स को आधिकारिक तौर पर UNIX के अनुरूप माना जाता है (ऐसा लगता है कि नाम "macOS" पर वापस आ गया है, इसलिए मुझे करना होगा) अपने आधार से असहमत।
सुनिलॉक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.