न्यूनतमवाद (कंप्यूटिंग): Difference between revisions
No edit summary |
No edit summary |
||
Line 8: | Line 8: | ||
समय के साथ, पर्सनल कंप्यूटर की मेमोरी क्षमताएं अनुक्रमिक रूप से विस्तारित हुईं और मुख्यधारा के प्रोग्रामर्स ने इस अतिरिक्त संग्रह का लाभ उठाया, ताकि वे अपने सॉफ़्टवेयर की क्षमताओं को बढ़ा सकें और उच्च स्तर की भाषाओं का उपयोग करके विकास को आसान बना सकें। इसके विपरीत, [[विरासत सॉफ्टवेयर]] के लिए सिस्टम आवश्यकताएँ समान रहीं। इसके परिणामस्वरूप, भूतकाल के सबसे विस्तृत, सुविधाओं से भरपूर प्रोग्राम वर्तमान सॉफ़्टवेयर के मुकाबले मिनिमलिस्ट दिखते हैं। इनमें से कई प्रोग्रामों को अब परित्यागवेयर के रूप में मान्यता प्राप्त कर रहे हैं। | समय के साथ, पर्सनल कंप्यूटर की मेमोरी क्षमताएं अनुक्रमिक रूप से विस्तारित हुईं और मुख्यधारा के प्रोग्रामर्स ने इस अतिरिक्त संग्रह का लाभ उठाया, ताकि वे अपने सॉफ़्टवेयर की क्षमताओं को बढ़ा सकें और उच्च स्तर की भाषाओं का उपयोग करके विकास को आसान बना सकें। इसके विपरीत, [[विरासत सॉफ्टवेयर]] के लिए सिस्टम आवश्यकताएँ समान रहीं। इसके परिणामस्वरूप, भूतकाल के सबसे विस्तृत, सुविधाओं से भरपूर प्रोग्राम वर्तमान सॉफ़्टवेयर के मुकाबले मिनिमलिस्ट दिखते हैं। इनमें से कई प्रोग्रामों को अब परित्यागवेयर के रूप में मान्यता प्राप्त कर रहे हैं। | ||
प्रोग्राम का उदाहरण जिसकी सिस्टम आवश्यकताओं ने बार इसे भारी प्रतिष्ठा दी थी, वह [[जीएनयू एमएसीएस]] टेक्स्ट एडिटर है, जिसने उस युग में आठ मेगाबाइट और लगातार स्वैपिंग का [[संक्षिप्त नाम]] प्राप्त किया था जब 8 मेगाबाइट बहुत अधिक रैम थी।<ref>{{cite book|url=https://books.google.com/books?id=rsSlrQLB8-gC&pg=PT328|title=Ubuntu Linux Bible: Featuring Ubuntu 10.04 LTS|isbn=9780470881804|last1=Hagen|first1=William von|date=13 May 2010}}</ref> आज, Emacs का मुख्य रूप से पाठ्य [[डेटा बफ़र]]-आधारित प्रतिमान [[डेस्कटॉप रूपक]] [[GUI]] एकीकृत विकास वातावरण की | प्रोग्राम का उदाहरण जिसकी सिस्टम आवश्यकताओं ने बार इसे भारी प्रतिष्ठा दी थी, वह [[जीएनयू एमएसीएस]] टेक्स्ट एडिटर है, जिसने उस युग में आठ मेगाबाइट और लगातार स्वैपिंग का [[संक्षिप्त नाम]] प्राप्त किया था जब 8 मेगाबाइट बहुत अधिक रैम थी।<ref>{{cite book|url=https://books.google.com/books?id=rsSlrQLB8-gC&pg=PT328|title=Ubuntu Linux Bible: Featuring Ubuntu 10.04 LTS|isbn=9780470881804|last1=Hagen|first1=William von|date=13 May 2010}}</ref> आज, Emacs का मुख्य रूप से पाठ्य [[डेटा बफ़र]]-आधारित प्रतिमान [[डेस्कटॉप रूपक]] [[GUI|जीयूआई]] एकीकृत विकास वातावरण की समानता में बहुत कम संसाधनों का उपयोग करता है, जिसमें एक्लिप्स (सॉफ़्टवेयर) या [[Netbeans|नेटबीन्स]] जैसी तुलनीय सुविधाएँ होती हैं।<ref>{{cite web|url=http://www.sigasi.com/content/five-reasons-why-emacs-will-always-be-better|title=Five reasons why Emacs will always be better}}</ref> 2002 के अंतर्राष्ट्रीय लिस्प सम्मेलन में भाषण में, [[रिचर्ड स्टॉलमैन]] ने संकेत दिया कि [[लिस्प (प्रोग्रामिंग भाषा)]] के साथ उनके अनुभवों और उस समय के लो-एंड [[मिनी कंप्यूटर]] के सिस्टम विनिर्देशों के आधार पर, [[जीएनयू]] और एमएसीएस के उनके विकास में अतिसूक्ष्मवाद चिंता का विषय था।<ref>{{cite web|url=https://www.gnu.org/gnu/rms-lisp.html|title=मेरे लिस्प अनुभव और GNU Emacs का विकास|quote=...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.}}</ref> | ||
1980 और 1990 के दशक में जैसे-जैसे सामान्य डेस्कटॉप सॉफ्टवेयर और ऑपरेटिंग सिस्टम की क्षमताएं और सिस्टम आवश्यकताएं बढ़ती गईं, और जैसे-जैसे सॉफ्टवेयर विकास पर परस्पर विरोधी, सनकी सॉफ्टवेयर विकास पद्धतियों का समर्थन करने वाली टीमों का वर्चस्व होता गया, कुछ डेवलपर्स ने दर्शन के रूप में अतिसूक्ष्मवाद को अपनाया और अपने कार्यक्रमों को सीमित करने का फैसला किया। पूर्व निर्धारित आकार या | 1980 और 1990 के दशक में जैसे-जैसे सामान्य डेस्कटॉप सॉफ्टवेयर और ऑपरेटिंग सिस्टम की क्षमताएं और सिस्टम आवश्यकताएं बढ़ती गईं, और जैसे-जैसे सॉफ्टवेयर विकास पर परस्पर विरोधी, सनकी सॉफ्टवेयर विकास पद्धतियों का समर्थन करने वाली टीमों का वर्चस्व होता गया, कुछ डेवलपर्स ने दर्शन के रूप में अतिसूक्ष्मवाद को अपनाया और अपने कार्यक्रमों को सीमित करने का फैसला किया। पूर्व निर्धारित आकार या सीमा ।<ref>{{cite web|url=http://dwm.suckless.org/|title=dwm - dynamic window manager}}</ref> सॉफ़्टवेयर अनुकूलन पर ध्यान केंद्रित करने से न्यूनतम सॉफ़्टवेयर प्राप्त हो सकता है, क्योंकि प्रोग्रामर गति निष्पादन के लिए अपने प्रोग्राम द्वारा किए जाने वाले संचालन की संख्या कम कर देते हैं।<ref>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 | 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 | memory, the number of system calls, and the number of characters output | ||
to the terminal. -- ne info page</ref> | to the terminal. -- ne info page</ref> | ||
21वीं सदी की | 21वीं सदी की प्रारंभिक में, कंप्यूटिंग में नए विकास ने अतिसूक्ष्मवाद को सबसे आगे ला दिया है। जिसे [[पीसी के बाद का युग]] कहा गया है, उसमें केवल सामान्य कंप्यूटिंग कार्यों को करने के लिए हाई-एंड पर्सनल कंप्यूटर खरीदना आवश्यक नहीं रह गया है।<ref>{{cite web|last=Strickland |first=Jonathan |url=http://computer.howstuffworks.com/notebook-vs-netbook-vs-ultra-mobile-pc.htm/printable |title=हाउस्टफवर्क्स "नोटबुक, नेटबुक और अल्ट्रा-मोबी के बीच क्या अंतर है"|publisher=Computer.howstuffworks.com |date= 12 February 2009|accessdate=8 July 2013}}</ref> [[मोबाइल कंप्यूटिंग]] डिवाइस, जैसे [[ स्मार्टफोन्स |स्मार्टफोन्स]] , [[टेबलेट कंप्यूटर]], [[अपने कंप्यूटर]] और [[ कंप्यूटर प्लग करें |कंप्यूटर प्लग करें]] में अधिकांशतः छोटी मेमोरी क्षमता, कम-सक्षम ग्राफिक्स सबसिस्टम और धीमे प्रोसेसर होते हैं, जब पर्सनल कंप्यूटर की समानता में उन्हें बदलने की उम्मीद की जाती है। इसके अतिरिक्त , [[ अल्फा सम्मिश्रण |अल्फा सम्मिश्रण]] जैसे ग्राफिक्स प्रभावों का भारी उपयोग फ्लैट यूआई की समानता में बैटरी को तेजी से खत्म करता है।<ref>{{cite web|url=http://radar.oreilly.com/2014/04/5-ways-to-improve-battery-life-in-your-app.html|title=5 ways to improve battery life in your app}}</ref> इन उपकरणों की बढ़ती लोकप्रियता ने अतिसूक्ष्मवाद को महत्वपूर्ण डिज़ाइन चिंता बना दिया है। | ||
[[Google]] के [[Google Chrome]] और [[ | [[Google|गूगल]] के [[Google Chrome|गूगल क्रोम]] और [[Google Chrome|क्रोम]]ओएस को अधिकांशतः न्यूनतम डिज़ाइन के उदाहरण के रूप में उद्धृत किया जाता है।<ref>{{cite news| url=https://www.pcmag.com/article2/0,2817,2374276,00.asp | work=PC Magazine | title=Google Chrome Cr-48, Paragon of Minimalist Design | date=13 December 2010}}</ref><ref>{{cite news| url=https://www.independent.co.uk/life-style/gadgets-and-tech/features/battle-of-the-browsers--which-is-master-of-the-web-1743947.html |archive-url=https://ghostarchive.org/archive/20220515/https://www.independent.co.uk/life-style/gadgets-and-tech/features/battle-of-the-browsers--which-is-master-of-the-web-1743947.html |archive-date=15 May 2022 |url-access=subscription |url-status=live | location=London | work=The Independent | first=Pat | last=Pilcher | date=13 July 2009|title=Battle of the browsers - which is master of the web? }}</ref> [[विंडोज 8]] में, [[माइक्रोसॉफ्ट]] ने सरल, चौकोर [[मेट्रो (डिज़ाइन भाषा)]] उपस्थिति के पक्ष में ग्राफिक्स-सघन [[विंडोज़ एयरो]] यूजर इंटरफेस को छोड़ने का फैसला किया, जिसके लिए कम सिस्टम संसाधनों की आवश्यकता थी। यह परिवर्तन आंशिक रूप से छोटे, बैटरी चालित उपकरणों के उदय और बिजली बचाने की आवश्यकता के कारण किया गया था।<ref>{{cite magazine|last=Chang |first=Alexandra |url=https://www.wired.com/gadgetlab/2012/05/microsoft-drops-aero-glass-ui-in-windows-8/ |title=Microsoft Drops 'Aero Glass' User Interface in Windows 8 | Gadget Lab |magazine=Wired |publisher=Wired.com |date=21 May 2012 |accessdate=8 July 2013}}</ref><ref>{{cite magazine|last=McCracken |first=Harry |url=http://techland.time.com/2012/05/22/windows-aero-why-im-glad-its-dead/ |title=Windows Aero: Why I'm Glad It's Dead | TIME.com |magazine=Time |publisher=Techland.time.com |date=22 May 2012 |accessdate=8 July 2013}}</ref><ref>[http://blogs.msdn.com/b/b8/archive/2012/05/18/creating-the-windows-8-user-experience.aspx 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!]</ref> एप्पल इंक. के [[iOS]] संस्करण 7 में उपयोगकर्ता अनुभव कारणों से इसी प्रकार के बदलाव किए गए हैं।<ref>{{cite web|url=http://www.cultofmac.com/230648/why-jony-ive-is-killing-skeuomorphism-in-ios-7/|title=Why Jony Ive Is Killing Skeuomorphism In iOS 7|date=10 June 2013}}</ref> | ||
==उपयोग== | ==उपयोग== | ||
डेवलपर्स संभावित रूप से उपयोगकर्ता को भ्रमित करने वाले [[बटन (कंप्यूटिंग)]] और संवाद बॉक्स को हटाकर उपयोगकर्ता इंटरफ़ेस को यथासंभव सरल बना सकते हैं। [[Minimalism]] का उपयोग कभी-कभी Minimalism में किया जाता है, विशेष रूप से हार्डवेयर डिवाइस या [[थीम (कंप्यूटिंग)]] के [[औद्योगिक डिजाइन]] में। | डेवलपर्स संभावित रूप से उपयोगकर्ता को भ्रमित करने वाले [[बटन (कंप्यूटिंग)]] और संवाद बॉक्स को हटाकर उपयोगकर्ता इंटरफ़ेस को यथासंभव सरल बना सकते हैं। [[Minimalism|मिनिमलिस्म]] का उपयोग कभी-कभी Minimalism में किया जाता है, विशेष रूप से हार्डवेयर डिवाइस या [[थीम (कंप्यूटिंग)]] के [[औद्योगिक डिजाइन]] में। | ||
कुछ डेवलपर्स ने कोड की सबसे कम पंक्तियों में, या किसी दिए गए प्लेटफ़ॉर्म पर संभवतः सबसे छोटे संकलित निष्पादन योग्य आकार में विशेष कार्य करने के लिए प्रोग्राम बनाने का प्रयास किया है।<ref>{{cite web|url=http://osxbook.com/blog/2009/03/15/crafting-a-tiny-mach-o-executable/|title=Crafting a Tiny Mach-O Executable}}</ref><ref>{{cite web|url=http://cocoawithlove.com/2010/09/minimalist-cocoa-programming.html|title=Minimalist Cocoa programming}}</ref> कुछ [[लिनक्स]] वितरण लक्ष्य के रूप में अतिसूक्ष्मवाद का उल्लेख करते हैं। [[अल्पाइन लिनक्स]], [[आर्क लिनक्स]], [[पिल्ला लिनक्स]], [[बोधि लिनक्स]], [[क्रंचबैंग लिनक्स]], [[डायनबोलिक]]<ref>{{cite web|url=http://www.dynebolic.org/2011/09/environment-friendly/|title=पर्यावरण के अनुकूल|quote=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.|access-date=31 January 2014|archive-url=https://web.archive.org/web/20140202101351/http://www.dynebolic.org/2011/09/environment-friendly/|archive-date=2 February 2014|url-status=dead}}</ref> और [[टिनी कोर लिनक्स]] इसके उदाहरण हैं। [[यूनिक्स]] प्रणाली का प्रारंभिक विकास कम-शक्ति वाले हार्डवेयर पर हुआ, और [[डेनिस रिची]] और [[केन थॉम्पसन]] ने अपनी राय दी है कि इस बाधा ने सिस्टम के डिजाइन की सुंदरता में योगदान दिया।<ref>{{cite web|url=http://www.catb.org/esr/writings/taoup/html/|title=यूनिक्स प्रोग्रामिंग की कला|quote=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."}}</ref> | कुछ डेवलपर्स ने कोड की सबसे कम पंक्तियों में, या किसी दिए गए प्लेटफ़ॉर्म पर संभवतः सबसे छोटे संकलित निष्पादन योग्य आकार में विशेष कार्य करने के लिए प्रोग्राम बनाने का प्रयास किया है।<ref>{{cite web|url=http://osxbook.com/blog/2009/03/15/crafting-a-tiny-mach-o-executable/|title=Crafting a Tiny Mach-O Executable}}</ref><ref>{{cite web|url=http://cocoawithlove.com/2010/09/minimalist-cocoa-programming.html|title=Minimalist Cocoa programming}}</ref> कुछ [[लिनक्स]] वितरण लक्ष्य के रूप में अतिसूक्ष्मवाद का उल्लेख करते हैं। [[अल्पाइन लिनक्स]], [[आर्क लिनक्स]], [[पिल्ला लिनक्स]], [[बोधि लिनक्स]], [[क्रंचबैंग लिनक्स]], [[डायनबोलिक]]<ref>{{cite web|url=http://www.dynebolic.org/2011/09/environment-friendly/|title=पर्यावरण के अनुकूल|quote=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.|access-date=31 January 2014|archive-url=https://web.archive.org/web/20140202101351/http://www.dynebolic.org/2011/09/environment-friendly/|archive-date=2 February 2014|url-status=dead}}</ref> और [[टिनी कोर लिनक्स]] इसके उदाहरण हैं। [[यूनिक्स]] प्रणाली का प्रारंभिक विकास कम-शक्ति वाले हार्डवेयर पर हुआ, और [[डेनिस रिची]] और [[केन थॉम्पसन]] ने अपनी राय दी है कि इस बाधा ने सिस्टम के डिजाइन की सुंदरता में योगदान दिया।<ref>{{cite web|url=http://www.catb.org/esr/writings/taoup/html/|title=यूनिक्स प्रोग्रामिंग की कला|quote=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."}}</ref> | ||
Line 26: | Line 26: | ||
[[प्रोग्रामिंग भाषा]] डिजाइनर [[वाक्यात्मक शर्करा]] और व्यापक [[प्रोग्रामिंग लाइब्रेरी]] को छोड़कर न्यूनतम प्रोग्रामिंग भाषाएं बना सकते हैं। सामान्य प्रोग्रामिंग कार्यों के लिए मानक समर्थन प्रदान नहीं करने के कारण ऐसी भाषाएँ [[ट्यूरिंग टारपिट]] हो सकती हैं। न्यूनतम लिस्प [[दुभाषिया (कंप्यूटिंग)]] बनाना [[कंप्यूटर विज्ञान]] के छात्रों के सामने रखा जाने वाला सामान्य शिक्षण कार्य है।<ref>{{cite web|url=http://www.buildyourownlisp.com/chapter1_introduction|title=Build Your Own Lisp}}</ref> [[अलोंजो चर्च]] द्वारा विकसित [[लैम्ब्डा कैलकुलस]] न्यूनतम प्रोग्रामिंग भाषा है जो केवल फ़ंक्शन परिभाषाओं और फ़ंक्शन अनुप्रयोगों का उपयोग करती है।<ref>{{cite book|url=https://books.google.com/books?id=TN7UAZTKqccC&pg=PA162|title=संगणना को समझना|isbn=9781449330118|last1=Stuart|first1=Tom|date=15 May 2013}}</ref><ref>{{cite web|url=http://matt.might.net/articles/implementing-a-programming-language/|title=7 lines of code, 3 minutes: Implement a programming language from scratch}}</ref> [[योजना (प्रोग्रामिंग भाषा)]],<ref>{{cite web|url=http://www.dreamsongs.com/Files/HOPL2-Uncut.pdf|title=लिस्प का विकास|quote=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?)}}</ref><ref>{{cite web|url=http://community.schemewiki.org/?scheme-faq-general|quote=स्कीम लिस्प की एक बोली है जो वैचारिक लालित्य और सरलता पर जोर देती है।|title=Scheme-faq-general}}</ref> [[फोर्थ (प्रोग्रामिंग भाषा)]],<ref>{{cite book|url=https://books.google.com/books?id=yB1WwURwBUQC&pg=PA60|title=Masterminds of Programming: Conversations with the Creators of Major Programming Languages|quote=फोर्थ न्यूनतम वाक्यविन्यास वाली एक कंप्यूटर भाषा है|isbn=9780596555504|last1=Biancuzzi|first1=Federico|author2=Chromatic|date=21 March 2009}}</ref> और गो (प्रोग्रामिंग भाषा)<ref>{{cite web|url=http://golang.org/|title=जाना|quote=जाना is an open source programming language that makes it easy to build simple, reliable, and efficient software.}}</ref><ref>{{cite web|url=http://www.drdobbs.com/open-source/interview-with-ken-thompson/229502480|title=केन थॉम्पसन के साथ साक्षात्कार|quote=...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.}}</ref> इन्हें व्यावहारिक, न्यूनतम प्रोग्रामिंग भाषाओं के उदाहरण के रूप में उद्धृत किया जाता है। | [[प्रोग्रामिंग भाषा]] डिजाइनर [[वाक्यात्मक शर्करा]] और व्यापक [[प्रोग्रामिंग लाइब्रेरी]] को छोड़कर न्यूनतम प्रोग्रामिंग भाषाएं बना सकते हैं। सामान्य प्रोग्रामिंग कार्यों के लिए मानक समर्थन प्रदान नहीं करने के कारण ऐसी भाषाएँ [[ट्यूरिंग टारपिट]] हो सकती हैं। न्यूनतम लिस्प [[दुभाषिया (कंप्यूटिंग)]] बनाना [[कंप्यूटर विज्ञान]] के छात्रों के सामने रखा जाने वाला सामान्य शिक्षण कार्य है।<ref>{{cite web|url=http://www.buildyourownlisp.com/chapter1_introduction|title=Build Your Own Lisp}}</ref> [[अलोंजो चर्च]] द्वारा विकसित [[लैम्ब्डा कैलकुलस]] न्यूनतम प्रोग्रामिंग भाषा है जो केवल फ़ंक्शन परिभाषाओं और फ़ंक्शन अनुप्रयोगों का उपयोग करती है।<ref>{{cite book|url=https://books.google.com/books?id=TN7UAZTKqccC&pg=PA162|title=संगणना को समझना|isbn=9781449330118|last1=Stuart|first1=Tom|date=15 May 2013}}</ref><ref>{{cite web|url=http://matt.might.net/articles/implementing-a-programming-language/|title=7 lines of code, 3 minutes: Implement a programming language from scratch}}</ref> [[योजना (प्रोग्रामिंग भाषा)]],<ref>{{cite web|url=http://www.dreamsongs.com/Files/HOPL2-Uncut.pdf|title=लिस्प का विकास|quote=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?)}}</ref><ref>{{cite web|url=http://community.schemewiki.org/?scheme-faq-general|quote=स्कीम लिस्प की एक बोली है जो वैचारिक लालित्य और सरलता पर जोर देती है।|title=Scheme-faq-general}}</ref> [[फोर्थ (प्रोग्रामिंग भाषा)]],<ref>{{cite book|url=https://books.google.com/books?id=yB1WwURwBUQC&pg=PA60|title=Masterminds of Programming: Conversations with the Creators of Major Programming Languages|quote=फोर्थ न्यूनतम वाक्यविन्यास वाली एक कंप्यूटर भाषा है|isbn=9780596555504|last1=Biancuzzi|first1=Federico|author2=Chromatic|date=21 March 2009}}</ref> और गो (प्रोग्रामिंग भाषा)<ref>{{cite web|url=http://golang.org/|title=जाना|quote=जाना is an open source programming language that makes it easy to build simple, reliable, and efficient software.}}</ref><ref>{{cite web|url=http://www.drdobbs.com/open-source/interview-with-ken-thompson/229502480|title=केन थॉम्पसन के साथ साक्षात्कार|quote=...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.}}</ref> इन्हें व्यावहारिक, न्यूनतम प्रोग्रामिंग भाषाओं के उदाहरण के रूप में उद्धृत किया जाता है। | ||
[[कोड गोल्फ]] के प्रोग्रामिंग शौक का परिणाम न्यूनतम सॉफ्टवेयर है,<ref>{{cite web|url=http://c2.com/cgi/wiki?WikWiki|title=Wik Wiki A Wiki in 1287 characters of PHP}}</ref> | [[कोड गोल्फ]] के प्रोग्रामिंग शौक का परिणाम न्यूनतम सॉफ्टवेयर है,<ref>{{cite web|url=http://c2.com/cgi/wiki?WikWiki|title=Wik Wiki A Wiki in 1287 characters of PHP}}</ref> किन्तु ये सामान्यतः अभ्यास या [[कोड कविता]] हैं, प्रयोग करने योग्य एप्लिकेशन सॉफ़्टवेयर नहीं। | ||
[[जॉन मिलर कैरोल]] ने अपनी पुस्तक न्यूनतमवाद बियॉन्ड द नूर्नबर्ग फ़नल|नूर्नबर्ग फ़नल में बताया है कि अतिसूक्ष्मवाद के उपयोग से वीडियो गेम, स्वचालित टेलर मशीन, [[वोटिंग मशीन]] और [[इलेक्ट्रॉनिक कियोस्क]] जैसे तत्काल उपयोग वाले उपकरणों में बहुत कम या कोई सीख नहीं मिलती है। वक्र जिसके लिए उपयोगकर्ता को मैनुअल पढ़ने की आवश्यकता नहीं होती है।<ref>{{cite book|url=https://books.google.com/books?id=LvXiZJEUJjAC&q=minimalism+atm+machines&pg=PA400|author=John Millar Carroll|title=नूर्नबर्ग फ़नल से परे न्यूनतमवाद|isbn=0-262-03249-X|accessdate=21 November 2007|year=1998|publisher=MIT Press|location=Cambridge, Mass.}}</ref> उपयोगकर्ता इंटरफ़ेस शोधकर्ताओं ने ऐसे प्रयोग किए हैं जो सुझाव देते हैं कि अतिसूक्ष्मवाद, जैसा कि ओकाम के रेजर और पारदर्शिता (मानव-कंप्यूटर इंटरैक्शन) के डिजाइन सिद्धांतों द्वारा दर्शाया गया है, दक्षता और सीखने की क्षमता को बढ़ाता है।<ref>{{Cite journal | [[जॉन मिलर कैरोल]] ने अपनी पुस्तक न्यूनतमवाद बियॉन्ड द नूर्नबर्ग फ़नल|नूर्नबर्ग फ़नल में बताया है कि अतिसूक्ष्मवाद के उपयोग से वीडियो गेम, स्वचालित टेलर मशीन, [[वोटिंग मशीन]] और [[इलेक्ट्रॉनिक कियोस्क]] जैसे तत्काल उपयोग वाले उपकरणों में बहुत कम या कोई सीख नहीं मिलती है। वक्र जिसके लिए उपयोगकर्ता को मैनुअल पढ़ने की आवश्यकता नहीं होती है।<ref>{{cite book|url=https://books.google.com/books?id=LvXiZJEUJjAC&q=minimalism+atm+machines&pg=PA400|author=John Millar Carroll|title=नूर्नबर्ग फ़नल से परे न्यूनतमवाद|isbn=0-262-03249-X|accessdate=21 November 2007|year=1998|publisher=MIT Press|location=Cambridge, Mass.}}</ref> उपयोगकर्ता इंटरफ़ेस शोधकर्ताओं ने ऐसे प्रयोग किए हैं जो सुझाव देते हैं कि अतिसूक्ष्मवाद, जैसा कि ओकाम के रेजर और पारदर्शिता (मानव-कंप्यूटर इंटरैक्शन) के डिजाइन सिद्धांतों द्वारा दर्शाया गया है, दक्षता और सीखने की क्षमता को बढ़ाता है।<ref>{{Cite journal | ||
Line 44: | Line 44: | ||
| s2cid=14851897 | | s2cid=14851897 | ||
| accessdate=29 July 2008 | | accessdate=29 July 2008 | ||
}}</ref> न्यूनतमवाद [[यूनिक्स दर्शन]] में अंतर्निहित है कि हर चीज पाठ धारा है और काम करो और इसे अच्छी | }}</ref> न्यूनतमवाद [[यूनिक्स दर्शन]] में अंतर्निहित है कि हर चीज पाठ धारा है और काम करो और इसे अच्छी प्रकार से करो, चूंकि आधुनिक यूनिक्स/लिनक्स वितरण इस दर्शन को इतनी कठोरता से नहीं रखते हैं।<ref>{{cite web|url=http://www.uzbl.org/readme.php|title=Uzbl - वेब इंटरफ़ेस उपकरण जो यूनिक्स दर्शन का पालन करते हैं।|quote=The general idea is that Uzbl by default is very bare bones.}}</ref> | ||
==यह भी देखें== | ==यह भी देखें== | ||
*[[कोड ब्लोट]] | *[[कोड ब्लोट]] |
Revision as of 22:40, 14 July 2023
कम्प्यूटिंग में, न्यूनतमवाद कंप्यूटर हार्डवेयर और सॉफ़्टवेयर के डिजाइन और उपयोग में न्यूनतम दर्शन और सिद्धांतों के अनुप्रयोग को संदर्भित करता है। इस संदर्भ में, न्यूनतमवाद का अर्थ उन प्रणालियों को डिजाइन करना है जो कम से कम हार्डवेयर और सॉफ्टवेयर संसाधनों का उपयोग करते हैं।
इतिहास
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]
उपयोग
डेवलपर्स संभावित रूप से उपयोगकर्ता को भ्रमित करने वाले बटन (कंप्यूटिंग) और संवाद बॉक्स को हटाकर उपयोगकर्ता इंटरफ़ेस को यथासंभव सरल बना सकते हैं। मिनिमलिस्म का उपयोग कभी-कभी Minimalism में किया जाता है, विशेष रूप से हार्डवेयर डिवाइस या थीम (कंप्यूटिंग) के औद्योगिक डिजाइन में।
कुछ डेवलपर्स ने कोड की सबसे कम पंक्तियों में, या किसी दिए गए प्लेटफ़ॉर्म पर संभवतः सबसे छोटे संकलित निष्पादन योग्य आकार में विशेष कार्य करने के लिए प्रोग्राम बनाने का प्रयास किया है।[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.