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

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

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

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

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

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

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

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

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

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

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

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

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

यह भी देखें

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


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