न्यूनतमवाद (कंप्यूटिंग)
कम्प्यूटिंग में, न्यूनतमवाद कंप्यूटर हार्डवेयर और सॉफ़्टवेयर के डिजाइन और उपयोग में न्यूनतम दर्शन और सिद्धांतों के अनुप्रयोग को संदर्भित करता है। इस संदर्भ में, न्यूनतमवाद का अर्थ उन प्रणालियों को डिजाइन करना है जो कम से कम हार्डवेयर और सॉफ्टवेयर संसाधनों का उपयोग करते हैं।
इतिहास
1970 के दशक के अंत और 1980 के दशक की प्रारंभ में, प्रोग्रामर सामान्य प्लेटफार्मों के अपेक्षाकृत महंगे और सीमित संसाधन (कंप्यूटर विज्ञान) के सीमा में काम करते थे। सामान्यतः आठ या सोलह किलोबाइट रैंडम एक्सेस मेमोरी सामान्य थी; 64 किलोबाइट को विशाल माना जाता था और व्यक्तिगत कंप्यूटर की प्रारंभिक पीढ़ियों में पहुंचने वाली 8 बिट सीपीयू के लिए यह संपूर्ण पता स्थान पहुंच योग्य था। सबसे सामान्य स्टोरेज माध्यम 5.25 इंच फ्लॉपी डिस्क थी जो 88 से 170 किलोबाइट तक क्षमता होती थी। पाँच से दस मेगाबाइट क्षमता वाली हार्ड ड्राइव की मूल्य हजारों डॉलर होती है।
समय के साथ, व्यक्तिगत कंप्यूटर की मेमोरी क्षमताएं अनुक्रमिक रूप से विस्तारित हुईं और मुख्यधारा के प्रोग्रामर्स ने इस अतिरिक्त संग्रह का लाभ उठाया, जिससे वे अपने सॉफ़्टवेयर की क्षमताओं को बढ़ा सकें और उच्च स्तर की भाषाओं का उपयोग करके विकास को आसान बना सकें। इसके विपरीत, विरासत सॉफ्टवेयर के लिए प्रणाली आवश्यकताएँ समान रहीं। इसके परिणामस्वरूप, भूतकाल के सबसे विस्तृत, सुविधाओं से भरपूर प्रोग्राम वर्तमान सॉफ़्टवेयर के मुकाबले मिनिमलिस्ट दिखते हैं। इनमें से कई प्रोग्रामों को अब परित्यागवेयर के रूप में मान्यता प्राप्त कर रहे हैं।
प्रोग्राम का उदाहरण जिसकी प्रणाली आवश्यकताओं ने बार इसे भारी प्रतिष्ठा दी थी, वह जीएनयू एमएसीएस टेक्स्ट एडिटर है, जिसने उस युग में आठ मेगाबाइट और लगातार स्वैपिंग का संक्षिप्त नाम प्राप्त किया था जब 8 मेगाबाइट बहुत अधिक रैम थी।[1] आज, Emacs का मुख्य रूप से पाठ्य डेटा बफ़र-आधारित प्रतिमान डेस्कटॉप रूपक जीयूआई एकीकृत विकास वातावरण की समानता में बहुत कम संसाधनों का उपयोग करता है, जिसमें एक्लिप्स (सॉफ़्टवेयर) या नेटबीन्स जैसी तुलनीय सुविधाएँ होती हैं।[2] 2002 के अंतर्राष्ट्रीय लिस्प सम्मेलन में भाषण में, रिचर्ड स्टॉलमैन ने संकेत दिया कि लिस्प (प्रोग्रामिंग भाषा) के साथ उनके अनुभवों और उस समय के लो-एंड मिनी कंप्यूटर के प्रणाली विनिर्देशों के आधार पर, जीएनयू और एमएसीएस के उनके विकास में अतिसूक्ष्मवाद चिंता का विषय था।[3]
1980 और 1990 के दशक में जैसे-जैसे सामान्य डेस्कटॉप सॉफ्टवेयर और ऑपरेटिंग प्रणाली की क्षमताएं और प्रणाली आवश्यकताएं बढ़ती गईं, और जैसे-जैसे सॉफ्टवेयर विकास पर परस्पर विरोधी, फ़ड्डीश सॉफ्टवेयर विकास पद्धतियों का समर्थन करने वाली टीमों का वर्चस्व होता गया, कुछ डेवलपर्स ने दर्शन के रूप में अतिसूक्ष्मवाद को अपनाया और अपने कार्यक्रमों को सीमित करने का न्याय किया। पूर्व निर्धारित आकार या सीमा ।[4] सॉफ़्टवेयर अनुकूलन पर ध्यान केंद्रित करने से न्यूनतम सॉफ़्टवेयर प्राप्त हो सकता है, क्योंकि प्रोग्रामर गति निष्पादन के लिए अपने प्रोग्राम द्वारा किए जाने वाले संचालन की संख्या कम कर देते हैं।[5]
21वीं सदी की प्रारंभिक में, कंप्यूटिंग में नए विकास ने अतिसूक्ष्मवाद को सबसे आगे ला दिया है। जिसे पीसी के बाद का युग कहा गया है, उसमें केवल सामान्य कंप्यूटिंग कार्यों को करने के लिए हाई-एंड व्यक्तिगत कंप्यूटर खरीदना आवश्यक नहीं रह गया है।[6] मोबाइल कंप्यूटिंग डिवाइस, जैसे स्मार्टफोन्स , टेबलेट कंप्यूटर, अपने कंप्यूटर और कंप्यूटर प्लग करें में अधिकांशतः छोटी मेमोरी क्षमता, कम-सक्षम ग्राफिक्स सबप्रणाली और धीमे प्रोसेसर होते हैं, जब व्यक्तिगत कंप्यूटर की समानता में उन्हें बदलने की उम्मीद की जाती है। इसके अतिरिक्त , अल्फा सम्मिश्रण जैसे ग्राफिक्स प्रभावों का भारी उपयोग फ्लैट यूआई की समानता में बैटरी को तेजी से खत्म करता है।[7] इन उपकरणों की बढ़ती लोकप्रियता ने अतिसूक्ष्मवाद को महत्वपूर्ण डिज़ाइन चिंता बना दिया है।
गूगल के गूगल क्रोम और क्रोमओएस को अधिकांशतः न्यूनतम डिज़ाइन के उदाहरण के रूप में उद्धृत किया जाता है।[8][9] विंडोज 8 में, माइक्रोसॉफ्ट ने सरल, चौकोर मेट्रो (डिज़ाइन भाषा) उपस्थिति के पक्ष में ग्राफिक्स-सघन विंडोज़ एयरो यूजर इंटरफेस को छोड़ने का फैसला किया, जिसके लिए कम प्रणाली संसाधनों की आवश्यकता थी। यह परिवर्तन आंशिक रूप से छोटे, बैटरी चालित उपकरणों के उदय और बिजली बचाने की आवश्यकता के कारण किया गया था।[10][11][12] एप्पल इंक. के iOS संस्करण 7 में उपयोगकर्ता अनुभव कारणों से इसी प्रकार के बदलाव किए गए हैं।[13]
उपयोग
डेवलपर्स संभावित रूप से उपयोगकर्ता को भ्रमित करने वाले बटन (कंप्यूटिंग) और संवाद बॉक्स को हटाकर उपयोगकर्ता इंटरफ़ेस को यथासंभव सरल बना सकते हैं। मिनिमलिस्म का उपयोग कभी-कभी मिनिमलिस्म में किया जाता है, विशेष रूप से हार्डवेयर डिवाइस या थीम (कंप्यूटिंग) के औद्योगिक डिजाइन में किया जाता है।
कुछ डेवलपर्स ने कोड की सबसे कम पंक्तियों में, या किसी दिए गए प्लेटफ़ॉर्म पर संभवतः सबसे छोटे संकलित निष्पादन योग्य आकार में विशेष कार्य करने के लिए प्रोग्राम बनाने का प्रयास किया है।[14][15] कुछ लिनक्स वितरण लक्ष्य के रूप में अतिसूक्ष्मवाद का उल्लेख करते हैं। अल्पाइन लिनक्स, आर्क लिनक्स, पिल्ला लिनक्स, बोधि लिनक्स, क्रंचबैंग लिनक्स, डायनबोलिक[16] और टिनी कोर लिनक्स इसके उदाहरण हैं। यूनिक्स प्रणाली का प्रारंभिक विकास कम-शक्ति वाले हार्डवेयर पर हुआ, और डेनिस रिची और केन थॉम्पसन ने अपनी राय दी है कि इस बाधा ने प्रणाली के डिजाइन की सुंदरता में योगदान दिया।[17]
प्रोग्रामिंग भाषा डिजाइनर वाक्यात्मक शर्करा और व्यापक प्रोग्रामिंग लाइब्रेरी को छोड़कर न्यूनतम प्रोग्रामिंग भाषाएं बना सकते हैं। सामान्य प्रोग्रामिंग कार्यों के लिए मानक समर्थन प्रदान नहीं करने के कारण ऐसी भाषाएँ ट्यूरिंग टारपिट हो सकती हैं। न्यूनतम लिस्प दुभाषिया (कंप्यूटिंग) बनाना कंप्यूटर विज्ञान के छात्रों के सामने रखा जाने वाला सामान्य शिक्षण कार्य है।[18] अलोंजो चर्च द्वारा विकसित लैम्ब्डा कैलकुलस न्यूनतम प्रोग्रामिंग भाषा है जो केवल फ़ंक्शन परिभाषाओं और फ़ंक्शन अनुप्रयोगों का उपयोग करती है।[19][20] योजना (प्रोग्रामिंग भाषा),[21][22] फोर्थ (प्रोग्रामिंग भाषा),[23] और गो (प्रोग्रामिंग भाषा)[24][25] इन्हें व्यावहारिक, न्यूनतम प्रोग्रामिंग भाषाओं के उदाहरण के रूप में उद्धृत किया जाता है।
कोड गोल्फ के प्रोग्रामिंग शौक का परिणाम न्यूनतम सॉफ्टवेयर है,[26] किन्तु ये सामान्यतः अभ्यास या कोड कविता हैं, प्रयोग करने योग्य एप्लिकेशन सॉफ़्टवेयर नहीं होता है।
जॉन मिलर कैरोल ने अपनी पुस्तक न्यूनतमवाद बियॉन्ड द नूर्नबर्ग फ़नल|नूर्नबर्ग फ़नल में बताया है कि अतिसूक्ष्मवाद के उपयोग से वीडियो गेम, स्वचालित टेलर मशीन, वोटिंग मशीन और इलेक्ट्रॉनिक कियोस्क जैसे तत्काल उपयोग वाले उपकरणों में बहुत कम या कोई सीख नहीं मिलती है। वक्र जिसके लिए उपयोगकर्ता को मैनुअल पढ़ने की आवश्यकता नहीं होती है।[27] उपयोगकर्ता इंटरफ़ेस शोधकर्ताओं ने ऐसे प्रयोग किए हैं जो सुझाव देते हैं कि अतिसूक्ष्मवाद, जैसा कि ओकाम के रेजर और पारदर्शिता (मानव-कंप्यूटर इंटरैक्शन) के डिजाइन सिद्धांतों द्वारा दर्शाया गया है, दक्षता और सीखने की क्षमता को बढ़ाता है।[28] न्यूनतमवाद यूनिक्स दर्शन में अंतर्निहित है कि हर चीज पाठ धारा है और काम करो और इसे अच्छी प्रकार से करो, चूंकि आधुनिक यूनिक्स/लिनक्स वितरण इस दर्शन को इतनी कठोरता से नहीं रखते हैं।[29]
यह भी देखें
- कोड ब्लोट
- कोड रीफैक्टरिंग
- संक्षिप्तता: संक्षिप्त, सारगर्भित।
- अपने आप को मत दोहराओ
- अनवरत वृद्धि अनियंत्रित विस्तार
- चुंबन सिद्धांत
- हल्के वजन वाला लिनक्स वितरण
- मंटजिंग
- पेरेटो सिद्धांत 80:20 नियम
- कम से कम शक्ति का नियम
- सॉफ़्टवेयर ब्लोट
- यूनिक्स दर्शन
- विर्थ का नियम
- बुरा ही अच्छा है
- ज़विंस्की का सॉफ्टवेयर आवरण का नियम
- ग्रीनब्राउज़र
संदर्भ
- ↑ Hagen, William von (13 May 2010). Ubuntu Linux Bible: Featuring Ubuntu 10.04 LTS. ISBN 9780470881804.
- ↑ "Five reasons why Emacs will always be better".
- ↑ "मेरे लिस्प अनुभव और GNU Emacs का विकास".
...I aimed to make the absolute minimal possible Lisp implementation. The size of the programs was a tremendous concern. There were people in those days, in 1985, who had one-megabyte machines without virtual memory. They wanted to be able to use GNU Emacs. This meant I had to keep the program as small as possible. For instance, at the time the only looping construct was while, which was extremely simple. There was no way to break out of the 'while' statement, you just had to do a catch and a throw, or test a variable that ran the loop. That shows how far I was pushing to keep things small. We didn't have 'caar' and 'cadr' and so on; "squeeze out everything possible" was the spirit of GNU Emacs, the spirit of Emacs Lisp, from the beginning.
- ↑ "dwm - dynamic window manager".
- ↑ ne has been written with sparing resource use as a basic goal. Every possible effort has been made to reduce the use of CPU time and memory, the number of system calls, and the number of characters output to the terminal. -- ne info page
- ↑ Strickland, Jonathan (12 February 2009). "हाउस्टफवर्क्स "नोटबुक, नेटबुक और अल्ट्रा-मोबी के बीच क्या अंतर है"". Computer.howstuffworks.com. Retrieved 8 July 2013.
- ↑ "5 ways to improve battery life in your app".
- ↑ "Google Chrome Cr-48, Paragon of Minimalist Design". PC Magazine. 13 December 2010.
- ↑ Pilcher, Pat (13 July 2009). "Battle of the browsers - which is master of the web?". The Independent. London. Archived from the original on 15 May 2022.
- ↑ Chang, Alexandra (21 May 2012). "Microsoft Drops 'Aero Glass' User Interface in Windows 8 | Gadget Lab". Wired. Wired.com. Retrieved 8 July 2013.
- ↑ McCracken, Harry (22 May 2012). "Windows Aero: Why I'm Glad It's Dead | TIME.com". Time. Techland.time.com. Retrieved 8 July 2013.
- ↑ In 2009, desktops were 44% of the worldwide market and laptops were 56%. Just 3 years later, over 61% of the PCs sold are laptops and the trend is accelerating—this is globally, measuring all Windows PCs sold. Among consumers in the United States buying a PC this year, more than 76% will purchase laptops—the absolute number of all US desktops sold will be fewer than the number of tablets in 2012!
- ↑ "Why Jony Ive Is Killing Skeuomorphism In iOS 7". 10 June 2013.
- ↑ "Crafting a Tiny Mach-O Executable".
- ↑ "Minimalist Cocoa programming".
- ↑ "पर्यावरण के अनुकूल". Archived from the original on 2 February 2014. Retrieved 31 January 2014.
This operating system is designed to run on Pentium2 processors with 256MB RAM, not even an harddisk is needed. Unleash the full potential of computers even with a second hand PC.
- ↑ "यूनिक्स प्रोग्रामिंग की कला".
A 1974 paper in Communications of the ACM gave Unix its first public exposure. In that paper, its authors described the unprecedentedly simple design of Unix, reported over 600 Unix installations. All were on machines underpowered even by the standards of that day, but (as Ritchie and Thompson wrote) "constraint has encouraged not only economy, but also a certain elegance of design."
- ↑ "Build Your Own Lisp".
- ↑ Stuart, Tom (15 May 2013). संगणना को समझना. ISBN 9781449330118.
- ↑ "7 lines of code, 3 minutes: Implement a programming language from scratch".
- ↑ "लिस्प का विकास" (PDF).
The initial report on Scheme [Sussman, 1975b] describes a very spare language, with a minimum of primitive constructs, one per concept. (Why take two when one will do?)
- ↑ "Scheme-faq-general".
स्कीम लिस्प की एक बोली है जो वैचारिक लालित्य और सरलता पर जोर देती है।
- ↑ Biancuzzi, Federico; Chromatic (21 March 2009). Masterminds of Programming: Conversations with the Creators of Major Programming Languages. ISBN 9780596555504.
फोर्थ न्यूनतम वाक्यविन्यास वाली एक कंप्यूटर भाषा है
- ↑ "जाना".
जाना is an open source programming language that makes it easy to build simple, reliable, and efficient software.
- ↑ "केन थॉम्पसन के साथ साक्षात्कार".
...we started off with the idea that all three of us had to be talked into every feature in the language, so there was no extraneous garbage put into the language for any reason.
- ↑ "Wik Wiki A Wiki in 1287 characters of PHP".
- ↑ John Millar Carroll (1998). नूर्नबर्ग फ़नल से परे न्यूनतमवाद. Cambridge, Mass.: MIT Press. ISBN 0-262-03249-X. Retrieved 21 November 2007.
- ↑ Wren, C.; Reynolds, C. (2004). "Minimalism in Ubiquitous Interface Design" (PDF). Personal and Ubiquitous Computing. Springer. 8 (5): 370–373. doi:10.1007/s00779-004-0299-2. S2CID 14851897. Retrieved 29 July 2008.
- ↑ "Uzbl - वेब इंटरफ़ेस उपकरण जो यूनिक्स दर्शन का पालन करते हैं।".
The general idea is that Uzbl by default is very bare bones.