न्यूनतमवाद (कंप्यूटिंग)

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

इतिहास
1970 के दशक के अंत और 1980 के दशक की प्रारंभ में, प्रोग्रामर सामान्य प्लेटफार्मों के अपेक्षाकृत महंगे और सीमित संसाधन (कंप्यूटर विज्ञान) के दायरे में काम करते थे। सामान्यतः आठ या सोलह किलोबाइट रैंडम एक्सेस मेमोरी सामान्य थी; 64 किलोबाइट को विशाल माना जाता था और पर्सनल कंप्यूटर की प्रारंभिक पीढ़ियों में पहुंचने वाली 8 बिट सीपीयू के लिए यह संपूर्ण पता स्थान पहुंच योग्य था। सबसे सामान्य स्टोरेज माध्यम 5.25 इंच फ्लॉपी डिस्क थी जो 88 से 170 किलोबाइट तक क्षमता होती थी। पाँच से दस मेगाबाइट क्षमता वाली हार्ड ड्राइव की कीमत हजारों डॉलर होती है।

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

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

1980 और 1990 के दशक में जैसे-जैसे सामान्य डेस्कटॉप सॉफ्टवेयर और ऑपरेटिंग सिस्टम की क्षमताएं और सिस्टम आवश्यकताएं बढ़ती गईं, और जैसे-जैसे सॉफ्टवेयर विकास पर परस्पर विरोधी, सनकी सॉफ्टवेयर विकास पद्धतियों का समर्थन करने वाली टीमों का वर्चस्व होता गया, कुछ डेवलपर्स ने दर्शन के रूप में अतिसूक्ष्मवाद को अपनाया और अपने कार्यक्रमों को सीमित करने का फैसला किया। पूर्व निर्धारित आकार या सीमा । सॉफ़्टवेयर अनुकूलन पर ध्यान केंद्रित करने से न्यूनतम सॉफ़्टवेयर प्राप्त हो सकता है, क्योंकि प्रोग्रामर गति निष्पादन के लिए अपने प्रोग्राम द्वारा किए जाने वाले संचालन की संख्या कम कर देते हैं।

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

गूगल के गूगल क्रोम और क्रोमओएस को अधिकांशतः न्यूनतम डिज़ाइन के उदाहरण के रूप में उद्धृत किया जाता है। विंडोज 8 में, माइक्रोसॉफ्ट ने सरल, चौकोर मेट्रो (डिज़ाइन भाषा) उपस्थिति के पक्ष में ग्राफिक्स-सघन विंडोज़ एयरो यूजर इंटरफेस को छोड़ने का फैसला किया, जिसके लिए कम सिस्टम संसाधनों की आवश्यकता थी। यह परिवर्तन आंशिक रूप से छोटे, बैटरी चालित उपकरणों के उदय और बिजली बचाने की आवश्यकता के कारण किया गया था।   एप्पल इंक. के iOS संस्करण 7 में उपयोगकर्ता अनुभव कारणों से इसी प्रकार के बदलाव किए गए हैं।

उपयोग
डेवलपर्स संभावित रूप से उपयोगकर्ता को भ्रमित करने वाले बटन (कंप्यूटिंग) और संवाद बॉक्स को हटाकर उपयोगकर्ता इंटरफ़ेस को यथासंभव सरल बना सकते हैं। मिनिमलिस्म का उपयोग कभी-कभी Minimalism में किया जाता है, विशेष रूप से हार्डवेयर डिवाइस या थीम (कंप्यूटिंग) के औद्योगिक डिजाइन में।

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

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

कोड गोल्फ के प्रोग्रामिंग शौक का परिणाम न्यूनतम सॉफ्टवेयर है, किन्तु ये सामान्यतः अभ्यास या कोड कविता हैं, प्रयोग करने योग्य एप्लिकेशन सॉफ़्टवेयर नहीं।

जॉन मिलर कैरोल ने अपनी पुस्तक न्यूनतमवाद बियॉन्ड द नूर्नबर्ग फ़नल|नूर्नबर्ग फ़नल में बताया है कि अतिसूक्ष्मवाद के उपयोग से वीडियो गेम, स्वचालित टेलर मशीन, वोटिंग मशीन और इलेक्ट्रॉनिक कियोस्क जैसे तत्काल उपयोग वाले उपकरणों में बहुत कम या कोई सीख नहीं मिलती है। वक्र जिसके लिए उपयोगकर्ता को मैनुअल पढ़ने की आवश्यकता नहीं होती है। उपयोगकर्ता इंटरफ़ेस शोधकर्ताओं ने ऐसे प्रयोग किए हैं जो सुझाव देते हैं कि अतिसूक्ष्मवाद, जैसा कि ओकाम के रेजर और पारदर्शिता (मानव-कंप्यूटर इंटरैक्शन) के डिजाइन सिद्धांतों द्वारा दर्शाया गया है, दक्षता और सीखने की क्षमता को बढ़ाता है। न्यूनतमवाद यूनिक्स दर्शन में अंतर्निहित है कि हर चीज पाठ धारा है और काम करो और इसे अच्छी प्रकार से करो, चूंकि आधुनिक यूनिक्स/लिनक्स वितरण इस दर्शन को इतनी कठोरता से नहीं रखते हैं।

यह भी देखें

 * कोड ब्लोट
 * कोड रीफैक्टरिंग
 * संक्षिप्तता: संक्षिप्त, सारगर्भित।
 * अपने आप को मत दोहराओ
 * अनवरत वृद्धि
 * चुंबन सिद्धांत
 * हल्के वजन वाला लिनक्स वितरण
 * मंटजिंग
 * पेरेटो सिद्धांत 80:20 नियम
 * कम से कम शक्ति का नियम
 * सॉफ़्टवेयर ब्लोट
 * यूनिक्स दर्शन
 * विर्थ का नियम
 * बुरा ही अच्छा है


 * ज़विंस्की का सॉफ्टवेयर आवरण का नियम
 * ग्रीनब्राउज़र