के रूप में mouviciel और Emilio Garavaglia ने कहा, अवधारणा कंप्यूटिंग से पहले है। हालांकि, एक का पहला उदाहरण सॉफ्टवेयर पाश पाश था एडीए Lovelace गणना के लिए इस्तेमाल Bernoulli संख्या में वर्णित है, नोट जी की उसके अनुवाद के चार्ल्स बैबेज द्वारा आविष्कार किया विश्लेषणात्मक इंजन के स्केच , द्वारा वामो Menabrea । एनालिटिकल इंजन की लूप की क्षमता को मेनाब्रिया द्वारा शीघ्रता से नोट किया गया है:
यह समझा जा रहा है, आइए, हम उन श्रृंखलाओं की शुरुआत में, जिन्हें हम निष्पादित करना चाहते हैं, डिविजन 2 पर सुई C, डिवीजन 5 पर सुई B और डिवीजन 9 पर सुई A रखें। आइए हम अनुमति देते हैं। हड़ताल करने के लिए डायल सी का हथौड़ा; यह दो बार हड़ताल करेगा, और एक ही समय में सुई बी दो डिवीजनों से गुजरेगी। बाद वाला नंबर 7 का संकेत देगा, जो पहले अंतर के कॉलम में नंबर 5 को सफल बनाता है। यदि हम अब डायल बी के हथौड़ा को अपनी बारी में हड़ताल करने की अनुमति देते हैं, तो वह सात बार हड़ताल करेगा, जिसके दौरान सुई ए सात डिवीजनों को आगे बढ़ाएगा; ये पहले से चिह्नित नौ में जोड़े गए हैं, यह संख्या 16 देगा, जो वर्ग संख्या लगातार 9 है। अगर हम अब इन ऑपरेशनों की सिफारिश करते हैं, तो सुई सी के साथ शुरू होती है, जिसे हमेशा विभाजन 2 पर छोड़ दिया जाता है।
एनालिटिकल इंजन के लूपिंग तंत्र को सीधे यूसुफ मैरी जैक्वार्ड के मैकेनिकल लूम (1801) से विरासत में मिला है , जैसा कि मेनाब्रिया द्वारा संस्मरण में उल्लेखित है:
अब यह पूछताछ की जाएगी कि मशीन स्वयं कैसे कर सकती है, और मनुष्य के हाथ में संभोग किए बिना, परिचालन के अनुकूल क्रमिक विवादों को मान लें। इस समस्या का समाधान जैक्वार्ड के उपकरण से लिया गया है, जिसका उपयोग ब्रोकेड सामान के निर्माण के लिए किया जाता है, निम्न तरीके से: -
धागे की दो प्रजातियां आमतौर पर बुने हुए सामान में प्रतिष्ठित होती हैं; एक ताना या अनुदैर्ध्य धागा है, दूसरा वाह या अनुप्रस्थ धागा है, जिसे शटल नामक उपकरण द्वारा संप्रेषित किया जाता है, और जो अनुदैर्ध्य धागे या ताना को पार करता है। जब एक ब्रोकेड सामान की आवश्यकता होती है, तो कुछ धागे को वूफ को पार करने से रोकने के लिए आवश्यक होता है, और यह एक उत्तराधिकार के अनुसार होता है जो कि डिजाइन की प्रकृति द्वारा निर्धारित किया जाता है जिसे पुन: पेश किया जाना है। पूर्व में यह प्रक्रिया लंबी और कठिन थी, और यह अपेक्षित था कि वर्कमैन, जिस डिजाइन को कॉपी करना था, उसमें भाग लेकर, थ्रेड्स लेने के लिए आंदोलनों को खुद को विनियमित करना चाहिए। सामान के इस विवरण की उच्च कीमत का कारण बना, खासकर अगर विभिन्न रंगों के धागे कपड़े में प्रवेश करते थे। इस निर्माण को सरल बनाने के लिए, जैक्वार्ड ने उन समूहों के प्रत्येक समूह को जोड़ने की योजना तैयार की, जो उस समूह के लिए विशेष रूप से संबंधित एक अलग लीवर के साथ मिलकर कार्य करते थे। ये सभी लीवर छड़ में समाप्त हो जाते हैं, जो एक बंडल में एक साथ होते हैं, आमतौर पर एक आयताकार आधार के साथ समानांतर के रूप में होता है। छड़ बेलनाकार होते हैं, और एक-दूसरे से छोटे अंतराल द्वारा अलग होते हैं। इस प्रकार थ्रेड्स बढ़ाने की प्रक्रिया को इन विभिन्न लीवर-आर्म्स को अपेक्षित क्रम में स्थानांतरित करने का संकल्प लिया जाता है। इसे प्रभावित करने के लिए, पेस्टबोर्ड का एक आयताकार शीट लिया जाता है, जो लीवर-आर्म्स के बंडल के एक खंड की तुलना में आकार में कुछ बड़ा होता है। यदि इस शीट को बंडल के आधार पर लागू किया जाता है, और एक गति को आगे बढ़ाया जाता है, तो इसे पेस्टबोर्ड पर संचारित किया जाता है, यह बाद में बंडल के सभी छड़ों के साथ चलेगा, और परिणामस्वरूप धागे उनमें से प्रत्येक के साथ जुड़े हुए हैं। लेकिन अगर पेस्टबोर्ड, सादे होने के बजाय, लीवर के छोरों के अनुरूप छेद के साथ छेद किया गया, जो इसे मिलते हैं, तो, चूंकि प्रत्येक लीवर बाद की गति के दौरान पेस्टबोर्ड से गुजरता है, वे सभी अपने में बने रहेंगे स्थानों। हम इस प्रकार देखते हैं कि पेस्टबोर्ड में छिद्रों की स्थिति निर्धारित करना इतना आसान है, कि किसी भी समय, लीवर की एक निश्चित संख्या होगी, और परिणामस्वरूप थ्रेड्स के पार्सल, उठाए गए, जबकि बाकी वे जहां रहते हैं थे। मान लें कि इस प्रक्रिया को सफलतापूर्वक निष्पादित किए जाने वाले पैटर्न द्वारा दर्शाए गए कानून के अनुसार दोहराया जाता है, तो हम अनुभव करते हैं कि इस पैटर्न को सामान पर पुन: प्रस्तुत किया जा सकता है। इस प्रयोजन के लिए हमें आवश्यक कानून के अनुसार कार्ड की एक श्रृंखला की आवश्यकता है, और उन्हें एक के बाद एक उपयुक्त क्रम में व्यवस्थित करें; फिर, उन्हें एक बहुभुज बीम के ऊपर से गुजरने से, जो कि शटल के प्रत्येक स्ट्रोक के लिए एक नया चेहरा मोड़ने के लिए जुड़ा हुआ है, जो तब चेहरे को लीवर-आर्म्स के बंडल के खिलाफ समानांतर रूप से खुद को लगाया जाएगा, को ऊपर उठाने का संचालन। धागे नियमित रूप से प्रदर्शन किया जाएगा। इस प्रकार हम देखते हैं कि ब्रोकेड के ऊतकों को एक सटीक और कठोरता के साथ निर्मित किया जा सकता है जो पूर्व में प्राप्त करना मुश्किल होता है।
जैक्वार्ड का करघा बार-बार उत्पादन करने के लिए मशीन को ऑर्डर करने के संदर्भ में लूप का एक बहुत ही प्रारंभिक अनुप्रयोग है :
जैक्वार्ड-लूम के पीछे का विचार पंच कार्ड और हुक की एक प्रणाली थी। कार्ड बहुत मोटे बनाए गए थे और उनमें आयताकार छेद थे। बुनाई में उपयोग किए जाने वाले हुक और सुइयों को कार्डबोर्ड में इन छेदों द्वारा निर्देशित किया गया था। जब हुक कार्ड के संपर्क में आए तो उन्हें स्थिर रखा गया जब तक कि उन्हें छिद्रित छिद्रों में से एक का सामना नहीं करना पड़ा। तब हुक एक और धागा डालने वाली सुई के साथ छेद से गुजरने में सक्षम था, इस प्रकार वांछित पैटर्न का गठन किया। कई पैटर्न एक के बाद एक और / या बार-बार उपयोग किए जाने से जटिल पैटर्न हासिल किए गए थे।
जैक्वार्ड के करघा को एक संग्रहीत कार्यक्रम के बहुत प्रारंभिक रूप के रूप में भी पहचाना जाता है :
यदि गणना की गई मशीनों के विकास के बहुत पीछे के अंक संख्यात्मक अभिकलन से उत्पन्न हुए थे, तो यह प्रेरणा कि 'संग्रहित प्रोग्राम' के शुरुआती रूप में एक बहुत ही अलग स्रोत से आया था: कपड़ा उद्योग। हमने पहले देखा है कि कम्प्यूटेशनल प्रणालियों के मूलभूत पहलुओं में से एक सूचना का प्रतिनिधित्व करने की अवधारणा है और, हालांकि हमने ऐसा स्पष्ट रूप से नहीं किया है, इस विचार के आवेदन को उन सभी कलाकृतियों में देखा जा सकता है जिनकी हमने अब तक जांच की है: सांख्यिक मूल्यों के लिए लिखित अभ्यावेदन के विकास और इनसे उगने वाले यांत्रिक समानताएं। इस प्रकार, एक एबाकस फ्रेम पर कंकड़ के संरेखण, एक स्लाइड-शासन पर चलती तराजू का रस और सियार्ड, पास्कल और लीबनीज के उपकरणों पर ढके हुए गियर का विन्यास प्रतिनिधित्वात्मक तकनीकों के सभी उदाहरण हैं जो अंतर्निहित अंकगणित कार्यों की जटिल प्रक्रियाओं को सरल बनाने की कोशिश करते हैं। हालाँकि, जानकारी की श्रेणियां, और इसके अलावा, संख्या के अलावा, जिन पर कम्प्यूटेशनल प्रक्रियाएं की जा सकती हैं। 1801 में जोसेफ-मैरी जैक्वार्ड द्वारा विकसित बुनाई तकनीक इस तरह की एक श्रेणी का उदाहरण देती है।
चार्ल्स बैबेज ने भी जेकोक्वार्ड के भंडारण की प्रक्रिया को एनालिटिकल इंजन में बदल दिया , एक छेद की उपस्थिति या अनुपस्थिति ने मशीन को एक सरल ऑन-ऑफ कमांड का संचार किया:
विश्लेषणात्मक इंजन में आधुनिक डिजिटल कंप्यूटर में कई आवश्यक विशेषताएं हैं। कपड़ा में जटिल पैटर्न बुनाई के लिए इस्तेमाल किए जाने वाले जैक्वार्ड लूम से उधार लिया गया एक विचार, छिद्रित कार्ड का उपयोग करने के लिए यह प्रोग्राम योग्य था। इंजन में एक 'स्टोर' था जहां संख्या और मध्यवर्ती परिणाम हो सकते थे, और एक अलग 'मिल' जहां अंकगणितीय प्रसंस्करण किया जाता था। इसमें चार अंकगणितीय कार्यों के आंतरिक प्रदर्शनों की सूची थी और वे प्रत्यक्ष गुणा और भाग कर सकते थे। यह उन कार्यों के लिए भी सक्षम था जिनके लिए हमारे पास आधुनिक नाम हैं: सशर्त शाखाकरण, लूपिंग (पुनरावृत्ति), माइक्रोप्रोग्रामिंग, समानांतर प्रसंस्करण, पुनरावृत्ति, लाचिंग, मतदान और दूसरों के बीच, पल्स-शेपिंग, हालांकि बैबेज ने इन शर्तों का उपयोग नहीं किया है। इसमें हार्डकॉपी प्रिंटआउट, छिद्रित कार्ड सहित विभिन्न प्रकार के आउटपुट थे,
विश्लेषणात्मक इंजन की सशर्त शाखाएं जैक्वार्ड से प्रेरित यांत्रिक छोरों और भंडारण प्रक्रिया के साथ संयुक्त रूप से आपके उदाहरण के लिए चुनौतीपूर्ण (समान रूप से) हैं, खासकर अगर हम बैबेज के प्रिंटर को मिश्रण के लिए जोड़ते हैं , print "...";
भागों के लिए।
जाहिर है यांत्रिक छोरों जैकर्ड के करघा, एक में काम करने के लिए पहली ज्ञात डिवाइस से पहले बन पाश फैशन जा रहा है एंटीकाइथेरा प्रणाली (100 ई.पू.), और अगर हम इतिहास (और बुरी विषय बंद उद्यम) में भी आगे देखो, धूप संभवतः प्राचीनतम मानव निर्मित तंत्र हैं जहां लूप की समझ स्पष्ट है, निश्चित रूप से सूर्य और अन्य तारकीय निकायों की कक्षाओं के दोहराव पैटर्न के बाद।
हालाँकि मुझे लगता है कि कंप्यूटिंग के संदर्भ में (और गणना या कुछ और नहीं), एनालिटिकल इंजन और एडीए के बर्नौली संख्याओं की गणना एल्गोरिदम को लूप्स शुरू करने के लिए श्रेय दिया जा सकता है, जैक्वार्ड के लूम के साथ कम से कम कुछ क्रेडिट साझा करते हुए, सीधे अवधारणा को अनुकूलित किया। यह।