अनडू (पूर्ववत): Difference between revisions
From Vigyanwiki
No edit summary |
No edit summary |
||
| (37 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
{{Short description|Computer command}} | {{Short description|Computer command}} | ||
अनडू इंटरेक्शन | '''अनडू''' इंटरेक्शन प्रौद्योगिकी है जिसे अनेक कंप्यूटर प्रोग्राम में स्थापित किया जाता है। यह प्रपत्र में किए गए अंतिम परिवर्तन को समाप्त कर देता है, और इसे प्राचीन स्थिति में पुनः लाता है। कुछ और उन्नत प्रोग्रामों में, जैसे कि [[ग्राफिक्स सॉफ्टवेयर]], अनडू करें संपादित की जा रही फ़ाइल पर की गई अंतिम कमांड को नहीं लेता है। अनडू करने की संभावना के साथ, उपयोगकर्ता त्रुटि के भय के बिना अन्वेषण और कार्य कर सकते हैं, क्योंकि उन्हें सरलता से अनडू किया जा सकता है। | ||
अनडू करने की अपेक्षाओं को समझना सरल है: पूर्वानुमेय कार्यक्षमता के लिए, और सभी अनडू | अनडू करने की अपेक्षाओं को समझना सरल है: पूर्वानुमेय कार्यक्षमता के लिए, और सभी अनडू कमांडों को सम्मलित करने के लिए <ref name=":0">{{Cite journal|last=Berlage|first=Thomas|date=1994-09-01|title=कमांड ऑब्जेक्ट्स के आधार पर ग्राफिकल यूजर इंटरफेस के लिए एक चयनात्मक पूर्ववत तंत्र|journal=ACM Transactions on Computer-Human Interaction|volume=1|issue=3|pages=269–294|doi=10.1145/196699.196721|s2cid=11848679|issn=1073-0516}}</ref> सामान्यतः अनडू तब तक उपलब्ध होता है जब तक कि उपयोगकर्ता सभी निष्पादित कार्यों को अनडू नहीं कर देता है। किन्तु कुछ क्रियाएं ऐसी हैं जो अनडू सूची में संग्रहीत नहीं होती हैं, और इस प्रकार उन्हें अनडू नहीं किया जा सकता है। उदाहरण के लिए, फ़ाइल को सहेजना अनडू नहीं है, किन्तु सूची में क्रमितबद्ध है, यह दिखाने के लिए कि इसे निष्पादित किया गया था। स्क्रॉलिंग या चयन क्रिया जो सामान्यतः संग्रहीत नहीं होती है, और इस प्रकार अनडू नहीं होती है।<ref>{{Cite book|last1=Myers|first1=Brad A.|last2=Kosbie|first2=David S.|date=1996-04-13|title=पुन: प्रयोज्य पदानुक्रमित कमांड ऑब्जेक्ट|publisher=ACM|pages=[https://archive.org/details/commongroundchi900chi9/page/260 260–267]|doi=10.1145/238386.238526|isbn=0897917774|s2cid=17033810|url=https://archive.org/details/commongroundchi900chi9/page/260}}</ref> | ||
अनडू | अनडू का विपरीत रिडू होता है। रीडो कमांड अनडू के विपरीत होता है ये बफर को अग्रिम स्थिति में आगे बढ़ाता है। | ||
अधिकांश [[ | अनडू कार्यक्षमता के सामान्य घटक वे कमांड्स हैं जो उपयोगकर्ता द्वारा निष्पादित किए गए थे, इतिहास बफ़र जो पूर्ण किए गए कार्यों को संग्रहीत करता है, इतिहास बफ़र को नियंत्रित करने के लिए अनडू करें I प्रबंधक, और उपयोगकर्ता के साथ इंटरैक्ट करने के लिए उपयोगकर्ता इंटरफ़ेस होता है।<ref name=":1">{{Cite journal|last1=Jakubec|first1=Karel|last2=Polák|first2=Marek|last3=Nečaský|first3=Martin|last4=Holubová|first4=Irena|date=2014|title=Undo/Redo Operations in Complex Environments|journal=Procedia Computer Science|volume=32|pages=561–570|doi=10.1016/j.procs.2014.05.461|issn=1877-0509|doi-access=free}}</ref> अधिकांश [[Microsoft Windows|माइक्रोसॉफ़्ट विंडोज़]] अनुप्रयोगों में, अनडू [[ कमान कुंजी |कमांड कुंजी]] के लिए [[ कुंजीपटल संक्षिप्त रीति |कुंजीपटल संक्षिप्त रीति]] [[Control-Z]] या Alt+Backspace होता है, और पुनः करने के लिए शॉर्टकट [[Control-Y]] या CC+[[Shift key]]+Z होता है। | ||
सभी प्लेटफॉर्म पर, अनडू | अधिकांश [[Apple macintosh|एप्पल मैकिंटोश]] अनुप्रयोगों में, अनडू कमांड का शॉर्टकट कमांड-जेड है, और रीडो के लिए शॉर्टकट कमांड-शिफ्ट-जेड है। | ||
सभी प्लेटफॉर्म पर, अनडू करके कार्यों को [[संपादन मेनू]] के माध्यम से भी एक्सेस किया जा सकता है। | |||
== इतिहास == | == इतिहास == | ||
लोगों द्वारा कंप्यूटर का उपयोग करने के | लोगों द्वारा कंप्यूटर का उपयोग करने के पश्चात् उनके उत्तर के आधार पर कंप्यूटर में किसी ऑपरेशन को अनडू करने की क्षमता का स्वतंत्र रूप से आविष्कार किया गया था।<ref>{{cite thesis|last=Moran|first=Chuktropolis Welling|title=इंटरएक्टिव समय|date=2013-01-01|url=http://roger.ucsd.edu/record=b7759913~S9|type=Ph.D.|publisher=University of California, San Diego|isbn=9781303194450|location=La Jolla}}</ref> | ||
[[ ब्राउन विश्वविद्यालय ]] में 1968 में | [[ ब्राउन विश्वविद्यालय ]] में 1968 में प्रारम्भ हुई [[ फ़ाइल पुनर्प्राप्ति और संपादन प्रणाली |फ़ाइल पुनर्प्राप्ति और संपादन प्रणाली]] के विषय में कहा जाता है कि यह प्रथम कंप्यूटर-आधारित प्रणाली है, जिसमें अनडू फीचर है।<ref>{{Cite book|url=https://books.google.com/books?id=N1qWBQAAQBAJ|title=Memory Machines: The Evolution of Hypertext|last=Barnet|first=Belinda|date=2014-12-01|quote=But the most popular development for novice users in FRESS was not its capacity to accommodate multiple displays and users; it was the 'undo' feature – the feature of which van Dam is most proud (van Dam 2011). FRESS pioneered a single-level undo for both word processing and hypertext. Every edit to a file was saved in a shadow version of the data structure, which allowed for both an 'autosave' and an undo. Brown staff and students understood immediately the importance and usefulness of this feature (van Dam 1999).|publisher=Anthem Press|isbn=9781783083442|page=108|language=en}}</ref><ref name="barnet">{{Cite journal|last=Barnet|first=Belinda|date=2010-01-01|title=Crafting the User-Centered Document Interface: The Hypertext Editing System (HES) and the File Retrieval and Editing System (FRESS)|journal=Digital Humanities Quarterly|url=http://www.digitalhumanities.org/dhq/vol/4/1/000081/000081.html|volume=4|issue=1}}</ref> | ||
[[वारेन टिटेलमैन]] ने 1971 तक अनडू कार्य के साथ बीबीएन-लिस्प के भाग के रूप में प्रोग्रामर सहायक विकसित किया है।<ref>{{Cite journal|last=Teitelman|first=Warren|date=1972-01-01|title=Automated Programmering: The Programmer's Assistant|journal=Proceedings of the December 5–7, 1972, Fall Joint Computer Conference, Part II|series=AFIPS '72 (Fall, part II)|location=New York, NY, USA|publisher=ACM|pages=917–921|doi=10.1145/1480083.1480119|s2cid=1276566}}</ref> | |||
[[ज़ेरॉक्स PARC|ज़ेरॉक्स पीएआरसी]] [[ब्रावो (सॉफ्टवेयर)]] टेक्स्ट एडिटर के निकट 1974 में अनडू कमांड था।<ref>{{cite web|title=Bravo Manual in Alto Non-Programmers Guide, p. 52 |url=http://history-computer.com/Library/AltoUsersHandbook.pdf |access-date=2014-03-29}}</ref> [[आईबीएम]] के लांस ए. मिलर और जॉन सी. थॉमस की 1976 की शोध रिपोर्ट, इंटरएक्टिव प्रणाली के उपयोग में व्यवहारिक विषय,<ref>{{Cite journal|last1=Miller|first1=Lance A.|last2=Thomas|first2=John C.|date=1977-09-01|title=इंटरएक्टिव सिस्टम के उपयोग में व्यवहार संबंधी मुद्दे|journal=International Journal of Man-Machine Studies|volume=9|issue=5|pages=509–536|doi=10.1016/S0020-7373(77)80002-3|issn=0020-7373}}</ref> नोट किया गया कि यह उपयोगकर्ताओं को अल्प से अल्प तत्काल अनडू कमांड 'वापस लेने' की अनुमति देने के लिए अधिक उपयोगी होगा।<ref>{{cite web | last=Miller | first=Lance A. |author2=John C. Thomas Jr. | title=इंटरएक्टिव सिस्टम के उपयोग में व्यवहार संबंधी मुद्दे| date=December 1976 | url=http://handle.dtic.mil/100.2/ADA043033 | archive-url=https://web.archive.org/web/20120527163155/http://handle.dtic.mil/100.2/ADA043033 | url-status=dead | archive-date=May 27, 2012 | format=PDF | access-date=2011-05-21}}</ref> पीएआरसी (कंपनी) अनुसंधान केंद्र के प्रोग्रामरों ने कीबोर्ड शॉर्टकट Ctrl-Z को अनडू कमांड दिया, जो व्यक्तिगत कंप्यूटर युग में पाठ संपादकों और वर्ड प्रोसेसर की महत्वपूर्ण विशेषता बन गई है।<ref name="BenZimmer_2009"><nowiki>{{cite web | url=</nowiki>https://www.nytimes.com/2009/09/20/magazine/20FOB-onlanguage-t.html | title=पूर्ववत करने का युग| access-date=2013-06-02 | author=Ben Zimmer | date=2009-09-15 | work=New York Times}</ref> 1980 में, ज़ेरॉक्स पीएआरसी के [[लैरी टेस्लर]] ने एप्पल कंप्यूटर में कार्य करना प्रारम्भ किया था। वहाँ, उन्होंने और [[बिल एटकिंसन]] ने एप्पल लिसा पर मानक स्थिरता के रूप में अनडू कमांड की उपस्थिति की वकालत की थी। एटकिन्सन लिसा के एप्लिकेशन सॉफ़्टवेयर के व्यक्तिगत डेवलपर्स को अनडू और पुनः करने के एकल स्तर को सम्मलित करने में सक्षम था, किन्तु अनेक स्तरों का निरक्षण करने में असफल हो रहा था।{{Citation needed|date=October 2018}} जब एप्पल ने लिसा के उत्तराधिकारी, [[Macintosh|मैकिनटोश]] को प्रस्तुत किया है, तो यह निर्धारित किया गया कि सभी मानक अनुप्रयोगों में "एडिट" मेनू में पूर्व कमांड के रूप में "अनडू करें" सम्मलित होना चाहिए,<ref>{{cite book | title=मैकिंटोश के अंदर, खंड I| last=Apple Computer, Inc. | date=1984 | chapter=User Interface}}</ref> जो वर्तमान [[macOS|मैकओएस]] और [[Windows|विंडोज]] पर मानक बना हुआ है। | |||
== मॉडल अनडू करें और | बहु-स्तरीय अनडू कमांड 1980 के दशक में प्रस्तुत किए गए थे, जिससे उपयोगकर्ता न केवल सबसे अग्रिम जबकि अनेक कार्यों को वापस ले सकते थे।<ref name="BenZimmer_2009" />पर्सनल कंप्यूटर सॉफ़्टवेयर से पूर्व [[EMACS|ईएमएसीएस]] और अन्य टाइमशेयर स्क्रीन संपादकों के निकट यह था। [[सिग्नस एड]] प्रथम अमीगा पाठ संपादक था जिसमें असीमित अनडू/पुनः सुविधा थी। [[AtariWriter|अटारीराइटर (AtariWriter]]), 1982 में प्रस्तुत किया गया, यह वर्ड-प्रोसेसिंग एप्लिकेशन है, जिसमे अनडू चित्रित किया गया है। न्यूवर्ड, 1984 में न्यूस्टार द्वारा जारी किया गया अन्य वर्ड-प्रोसेसिंग प्रोग्राम था, जिसमें अनरेज़ कमांड था।<ref name="BenZimmer_2009" /> आईबीएम के विसीवर्ड के निकट अनडिलीट कमांड भी था। | ||
अनडू मॉडल को रैखिक या | |||
== मॉडल अनडू करें और पुनः करें == | |||
अनडू मॉडल को रैखिक या अन्य-रैखिक के रूप में वर्गीकृत किया जा सकता है। अन्य-रैखिक अनडू मॉडल को स्क्रिप्ट मॉडल, यूएस के मॉडल, ट्रायडिक मॉडल और चयनात्मक अनडू में उप-वर्गीकृत किया जा सकता है।<ref name=":0" /> | |||
मॉडल के कुछ सामान्य गुण हैं: | मॉडल के कुछ सामान्य गुण हैं: | ||
* स्थिर निष्पादन संपत्ति: | * स्थिर निष्पादन संपत्ति: राज्य को कमांडों की कमांडित सूची के रूप में दर्शाया गया है। इसका तात्पर्य यह है कि मूल निष्पादन के पश्चात् जिस स्थिति में पहुंचा था, उस राज्य में कमांड सदैव अनडू किया जाता है।<ref name=":1" /> अप्रबल स्थिर निष्पादन: इसका तात्पर्य यह है कि यदि अनडू निष्पादित किया जाता है तो सभी कमांड जो अनडू कमांड पर निर्भर करते हैं। | ||
* स्थिर परिणाम संपत्ति: सूची को | * स्थिर परिणाम संपत्ति: सूची को त्यागकर इस संपत्ति का अर्थ स्थिर निष्पादन संपत्ति के समान होता है। कमांडों की कमांडित सूची में सम्मलित है कि उन्हें केवल कमांडों के अतिरिक्त निष्पादित किया गया था। | ||
* क्रमविनिमेय: इसका | * क्रमविनिमेय: इसका तात्पर्य है कि दो भिन्न-भिन्न कमांडों को अनडू और पुनः करने के पश्चात् पहुंची हुई स्थिति समान होती है जब उन्हें विपरीत क्रम में निष्पादित किया जाता है। | ||
* न्यूनतर अनडू गुण: यह वर्णन करता है कि कमांड C का अनडू संचालन केवल कमांड C को अनडू करता है और C से छोटे सभी | * न्यूनतर अनडू गुण: यह वर्णन करता है कि कमांड C का अनडू संचालन केवल कमांड C को अनडू करता है और C से छोटे सभी कमांड जो C पर निर्भर हैं।<ref name=":1" /> | ||
=== रैखिक अनडू करें === | === रैखिक अनडू करें === | ||
रैखिक अनडू | रैखिक अनडू स्टैक (डेटा संरचना) के साथ कार्यान्वित किया जाता है जो सभी निष्पादित कमांडों का इतिहास संग्रहीत करता है। जब अन्य नया कमांड निष्पादित किया जाता है तो इसे स्टैक के शीर्ष पर जोड़ दिया जाता है। इसलिए, केवल अंतिम निष्पादित कमांड को अनडू किया जा सकता है और इतिहास से विस्थापित किया जा सकता है। अनडू को तब तक दोहराया जा सकता है जब तक कि इतिहास रिक्त न हो जाये।<ref name=":0" /> | ||
==== प्रतिबंधित रैखिक मॉडल ==== | ==== प्रतिबंधित रैखिक मॉडल ==== | ||
प्रतिबंधित रेखीय मॉडल रेखीय अनडू मॉडल का | प्रतिबंधित रेखीय मॉडल रेखीय अनडू मॉडल का संवर्द्धन है। यह रैखिक अनडू करने के लिए ऊपर वर्णित स्थिर निष्पादन संपत्ति को संतुष्ट करता है, क्योंकि यह मॉडल संपत्ति को नहीं रखता है यदि अन्य कमांड किया जाता है जबकि इतिहास सूची में अन्य कमांड सम्मलित होते हैं। नया कमांड जोड़ने से पूर्व प्रतिबंधित रेखीय मॉडल इतिहास सूची को स्वच्छ करता है। किन्तु अन्य प्रतिबंध भी उपलब्ध हैं। उदाहरण के लिए, इतिहास सूची का आकार प्रतिबंधित किया जा सकता है या जब परिभाषित आकार तक पहुँच जाता है, तो पूर्व निष्पादित कमांड को सूची से विस्थापित कर दिया जाता है।<ref name=":0" /> | ||
=== अन्य-रेखीय अनडू करें === | |||
रैखिक अनडू और अन्य-रैखिक अनडू के मध्य मुख्य अंतर यह है कि उपयोगकर्ता द्वारा निष्पादित कमांडों को स्वेच्छानुसार क्रम में अनडू करने की संभावना होती है। उनके निकट सबसे अग्रिम कमांड को अनडू करने का संयोग नहीं है जबकि सूची से कमांड का चयन करने का संयोग है।<ref name=":1" />अन्य रेखीय मॉडल के लिए उपवर्ग हैं जो इस मॉडल को प्रस्तावित करते हैं। | |||
=== | |||
रैखिक अनडू और | |||
==== स्क्रिप्ट मॉडल ==== | ==== स्क्रिप्ट मॉडल ==== | ||
स्क्रिप्ट मॉडल उपयोगकर्ता क्रियाओं को कमांड की स्क्रिप्ट संपादित करने के रूप में संभालता है। निष्पादित | स्क्रिप्ट मॉडल उपयोगकर्ता क्रियाओं को कमांड की स्क्रिप्ट संपादित करने के रूप में संभालता है। निष्पादित कमांडों की इतिहास सूची को स्क्रिप्ट के रूप में व्याख्या की जाती है, अनडू प्रभाव को उसी प्रकार परिभाषित किया जाता है जैसे कि अनडू के सापेक्ष गतिविधियों के पूर्व में कभी नहीं हुई थी।<ref name=":0" />राज्य को अनडू करने के परिणाम के रूप में ऐसा होना चाहिए जैसे कि अनडू कमांड को कभी निष्पादित नहीं किया गया था। इस मॉडल की हानि यह है कि साइड इफेक्ट से बचने के लिए उपयोगकर्ता को अनडू कमांड और वर्तमान स्थिति के मध्य संबंध को जानना होगा। इनमें से उदाहरण के लिए दोहराव हो सकता है। अन्य समस्याएँ यह हैं कि यदि पश्चात् के कमांडों को भिन्न स्थिति में पुनः किया जाता है कि वे मूल रूप से प्रत्यक्ष हेरफेर इंटरफेस में निष्पादित किए गए थे, तो मूल उपयोगकर्ता क्रिया की यह पुनर्व्याख्या सदैव स्पष्ट या उत्तम प्रकार से परिभाषित नहीं होती है।<ref name=":0" /> | ||
==== यूएस एंड आर मॉडल ==== | ==== यूएस एंड आर मॉडल ==== | ||
इस मॉडल की | इस मॉडल की विशेष बात यह है कि इसमें कमांड को स्किप करने का विकल्प है। इसका तात्पर्य है कि कमांड को पुनः करना त्यागा जा सकता है। स्किप की गई कमांड को स्किप के रूप में चिह्नित किया गया है किन्तु डिलीट नहीं किया गया है। जब नए कमांड निष्पादित किए जाते हैं, तो इतिहास सूची को उपस्थित रखा जाता है, इसलिए निष्पादित कमांडों का क्रम उसके साथ पुन: उत्पन्न किया जा सकता है। आदेश को इतिहास के वृक्ष के माध्यम से वर्णित किया जा सकता है जो निर्देशित ग्राफ है, क्योंकि ग्राफ में लिंक बनाने वाली दूसरी शाखा से कमांडों को पुनः निरंतर रखना संभव है।<ref name=":0" />भले ही कमांडों का सेट समझने में सरल है, जब उपयोगकर्ता अधिक चरणों को अनडू करना चाहता है, तो लंघन और शाखाओं को जोड़ने वाली जटिल संरचना को समझना और याद रखना कठिन होता है।<ref name=":0" /> | ||
==== ट्रायडिक मॉडल ==== | ==== ट्रायडिक मॉडल ==== | ||
इस | इस अन्य-रैखिक अनडू मॉडल में घुमाने की संभावना अनडू और पुनः करने के अतिरिक्त है। इसकी डेटा संरचना है जो उपर्युक्त मॉडल के रूप में इतिहास सूची और भिन्न रीडो सूची है जिसमें रीडो ऑपरेशन सम्मलित हैं। रोटेट ऑपरेशन उसके सामने रीडो लिस्ट की अंतिम कमांड सेट करता है। एक ओर, इसका तात्पर्य यह है कि अग्रिम कमांड को पुनः करने के लिए इसे सामने रखकर चयन किया जा सकता है। दूसरी ओर, रोटेशन का उपयोग रीडो सूची में उस स्थान का चयन करने के लिए किया जा सकता है जहां अग्रिम अनडू ऑपरेशन कमांड का उपयोग किया जाता है।<ref name=":0" />इसलिए रीडो की सूची अनियंत्रित है। पृथक कमांड को अनडू करने के लिए, उपयोगकर्ता को अनेक चरणों को अनडू करना होगा, पुनः सूची को घुमाना होगा और अनेक चरणों को पुनः करना होगा।<ref name=":0" />पुनः करने के लिए सूची को तब तक घुमाना पड़ता है जब तक वांछित कमांड ऊपर न हो। | ||
=== चयनात्मक अनडू करें === | === चयनात्मक अनडू करें === | ||
जकुबेक एट | जकुबेक एट अल कहते हैं कि चयनात्मक अनडू ऐसी विशेषता है जो मॉडल प्रस्तुत कर सकती है किन्तु चयनात्मक अनडू के लिए अन्य स्पष्ट परिभाषा नहीं है।<ref name=":1" />लेखकों ने उन कार्यों का चयन किया जो मॉडल के निकट होना चाहिए जब वह चयनात्मक अनडू का समर्थन करता है। इतिहास बफ़र में किसी भी निष्पादित क्रिया को अनडू करना संभव होना चाहिए। अनडू के सापेक्ष गतिविधियों से स्वतंत्र क्रियाओं को अस्पृष्ट त्याग देना चाहिए।<ref name=":1" />ठीक वैसे ही किसी भी अनडू कमांड के लिए पुनः करना संभव है। चयनात्मक अनडू के लिए तीसरा कार्य यह है कि प्रत्यक्ष उपयोगकर्ता के अनुरोध के बिना इतिहास बफ़र से अन्य भी कमांड स्वचालित रूप से बहिष्कृत नहीं किया जा सकता है।<ref name=":1" />चयनात्मक अनडू के लिए प्रारम्भ होता है कि अनडू और पुनः करना किसी भी संदर्भ के प्रत्येक निष्पादन योग्य है। तीन मुख्य उद्देश्य हैं। प्रथम यह है कि | ||