যেমন মাউভিচিল এবং এমিলিও গারাভাগলিয়া উল্লেখ করেছেন, ধারণাটি কম্পিউটিংয়ের পূর্বে রয়েছে। তবে প্রথম উদাহরণস্বরূপ সফ্টওয়্যার লুপ লুপ ছিল অ্যাডা লাভলেস নিরূপণ করতে ব্যবহৃত Bernoulli সংখ্যার বর্ণনা অনুযায়ী, নোট জি তার অনুবাদ চার্লস Babbage দ্বারা আবিষ্কৃত বিশ্লেষণাত্নক ইঞ্জিন স্কেচ দ্বারা এলএফ Menabrea । অ্যানালিটিক্যাল ইঞ্জিনের লুপ করার ক্ষমতাটি প্রথম দিকে মেনাব্রিয়া দ্বারা চিহ্নিত করা হয়েছিল:
এটি বোঝা যাচ্ছে, আসুন, আমরা যে ক্রিয়াকলাপ চালাতে চাই তার ক্রমগুলির শুরুতে, সূচিকে সি 2, বিভাগ 5 এবং সূচিকে বিভাগ 9 এ রাখি the আসুন অনুমতি দিন ধর্মঘট করার জন্য ডায়াল সি এর হাতুড়ি; এটি দু'বার আঘাত করবে এবং একই সময়ে সুই বি দুটি বিভাগের উপর দিয়ে যাবে। পরেরটি পরে 7 নম্বরটি নির্দেশ করবে, যা প্রথম পার্থক্যের কলামে 5 নম্বর সাফল্য লাভ করে। যদি আমরা এখন ডায়াল বি এর হাতুড়িটিকে তার পালা স্ট্রাইক করার অনুমতি দিই, তবে এটি সাতবার আঘাত করবে, এই সময় সুই এ সাতটি বিভাগকে অগ্রসর করবে; এটি ইতিমধ্যে চিহ্নিত নয়টিতে যোগ করা এটি 16 সংখ্যাটি দেবে, যা ধারাবাহিকভাবে 9 এর 9 এবং বর্গ সংখ্যাটি এখন যদি আমরা এই ক্রিয়াকলাপগুলি পুনরায় শুরু করি, সূচ সি দিয়ে শুরু করে যা সর্বদা বিভাগ 2 এ রেখে দেওয়া হবে,
অ্যানালিটিক্যাল ইঞ্জিনের লুপিং মেকানিজমটি জোসেফ মেরি জ্যাকার্ডের যান্ত্রিক তাঁত (১৮০১) থেকে সরাসরি উত্তরাধিকার সূত্রে প্রাপ্ত , যেমন মেনাব্রেয়ার স্মৃতিচারণে উল্লেখ করা হয়েছে:
এটি এখন অনুসন্ধান করা হবে যে মেশিনটি কীভাবে নিজের মতো করে নিতে পারে এবং মানুষের হাত ধরে না গিয়ে ক্রমান্বয়ে স্বভাবগুলি অপারেশনের পক্ষে উপযুক্ত বলে ধরে নেয়। এই সমস্যার সমাধান ব্র্যাককেড স্টাফস তৈরির জন্য ব্যবহৃত জ্যাকার্ডের যন্ত্রপাতি থেকে নেওয়া হয়েছে, নিম্নলিখিত পদ্ধতিতে: -
থ্রেড দুটি প্রজাতি সাধারণত বোনা স্টাফ মধ্যে পৃথক করা হয়; একটি হ'ল ওয়ার্প বা দ্রাঘিমাংশীয় থ্রেড, অন্যটি ওয়ুফ বা ট্রান্সভার্স থ্রেড, যা শাটল নামে পরিচিত যন্ত্র দ্বারা পৌঁছে দেওয়া হয়, এবং এটি দ্রাঘিমাংশীয় সুতোর বা রেখাকে অতিক্রম করে। যখন একটি ব্রোকেড স্টাফের প্রয়োজন হয় তখন নির্দিষ্ট থ্রেডগুলি উওফ পেরিয়ে যাওয়া রোধ করার জন্য এটি প্রয়োজন এবং এটি একটি উত্তরসূরি অনুসারে যা পুনরুত্পাদনযোগ্য ডিজাইনের প্রকৃতির দ্বারা নির্ধারিত হয়। পূর্বে এই প্রক্রিয়াটি দীর্ঘ এবং কঠিন ছিল, এবং এটি প্রয়োজনীয় ছিল যে কারিগর, যে নকশাটি অনুলিপি করতে হবে তাতে উপস্থিত হয়ে, থ্রেডগুলি গ্রহণ করা উচিত সেগুলি নিজেই নিয়ন্ত্রণ করতে হবে। স্টাফগুলির এই বর্ণনার উচ্চমূল্যটি উত্থাপিত হয়েছিল, বিশেষত যদি বিভিন্ন রঙের থ্রেড ফ্যাব্রিকের মধ্যে প্রবেশ করে। এই উত্পাদন সহজতর করতে, জ্যাকার্ড সেই থ্রেডের প্রতিটি গ্রুপকে সংযুক্ত করার পরিকল্পনা তৈরি করেছিলেন যা একচেটিয়াভাবে কাজ করা হয়েছিল, সেই গোষ্ঠীর সাথে একচেটিয়া স্বতন্ত্র লিভারের সাথে। এই সমস্ত লিভারগুলি রডগুলিতে সমাপ্ত হয় যা সাধারণত একটি আয়তক্ষেত্রাকার বেসের সাথে সমান্তরাল রূপ ধারণ করে একটি বান্ডলে একত্রিত হয়। রডগুলি নলাকার, এবং ছোট বিরতিতে একে অপরের থেকে পৃথক হয়। থ্রেডগুলি উত্থাপনের প্রক্রিয়াটি এইভাবে বিভিন্ন ক্রমবর্ধমান অস্ত্রটিকে প্রয়োজনীয় ক্রমে সরিয়ে নিয়ে যাওয়া হয়। এটি প্রভাবিত করার জন্য, পেস্টবোর্ডের একটি আয়তক্ষেত্রাকার শীট নেওয়া হয়, যা লিভার-আর্মসের বান্ডিলের একটি অংশের চেয়ে আকারে কিছুটা বড়। যদি এই শীটটি বান্ডিলের গোড়ায় প্রয়োগ করা হয়, এবং অগ্রিম গতিটি তার পরে পেস্টবোর্ডে জানানো হয়, তবে পরবর্তীকটি এটির সাথে বান্ডেলের সমস্ত কাঠিগুলি নিয়ে যাবে, এবং ফলস্বরূপ থ্রেডগুলি যার সাথে প্রতিটি সংযুক্ত রয়েছে। তবে যদি পেস্টবোর্ডটি সরল হওয়ার পরিবর্তে লিভারের চূড়ান্ত অংশগুলির সাথে মিলিত গর্তগুলির সাথে ছিদ্র করা হয়, তবে যেহেতু প্রতিটি লিভারগুলি উত্তরোত্তরের গতির সময় পেস্টবোর্ডের মধ্য দিয়ে যায়, তারা সমস্ত তাদের মধ্যে থাকবে জায়গা. আমরা এইভাবে দেখতে পাই যে পেস্টবোর্ডের গর্তের অবস্থান নির্ধারণ করা এত সহজ, যে কোনও মুহুর্তে, নির্দিষ্ট সংখ্যক লিভার থাকবে এবং ফলস্বরূপ থ্রেডের পার্সেলগুলি উত্থাপিত হবে, এবং বাকিগুলি যেখানে থাকবে সেখানে ছিলেন। ধরা যাক এই প্রক্রিয়াটি কার্যকরভাবে সম্পাদিত হওয়ার প্যাটার্ন দ্বারা নির্দেশিত আইন অনুসারে ধারাবাহিকভাবে পুনরাবৃত্তি হয়, আমরা বুঝতে পারি যে এই প্যাটার্নটি স্টাফগুলিতে পুনরুত্পাদন করা হতে পারে। এই উদ্দেশ্যে আমাদের প্রয়োজন আইন অনুযায়ী কেবল একটি সিরিজ কার্ড রচনা করা দরকার, এবং একের পর এক যথাযথভাবে সাজিয়ে রাখুন; তারপরে, তাদের একটি বহুভুজ রশ্মির উপর দিয়ে যাওয়ার ফলে যা শাটলের প্রতিটি স্ট্রোকের জন্য একটি নতুন মুখ ঘুরিয়ে দেওয়ার জন্য সংযুক্ত থাকে, যার মুখটি তখন লিভার-বাহুগুলির বান্ডিলের বিরুদ্ধে সমান্তরালভাবে নিজেকে প্ররোচিত করা হবে, উত্থাপনের ক্রিয়াকলাপ the থ্রেডগুলি নিয়মিত সম্পাদিত হবে। সুতরাং আমরা দেখতে পাচ্ছি যে ব্রোকেড টিস্যুগুলি নির্ভুলতা এবং দ্রুততার সাথে উত্পাদন করা যেতে পারে যা পূর্বে অর্জন করা কঠিন।
জ্যাকার্ডের তাঁতটি কোনও মেশিনকে বারবার আউটপুট উত্পাদন করার আদেশ দেওয়ার প্রসঙ্গে একটি লুপের খুব প্রাথমিক প্রয়োগ :
জ্যাকার্ড-তাঁতের পিছনে ধারণাটি ছিল পাঞ্চ কার্ড এবং হুকের ব্যবস্থা। কার্ডগুলি খুব ঘন করা হয়েছিল এবং সেগুলিতে আয়তক্ষেত্রাকার ছিদ্র ছিল ched তাঁতে ব্যবহৃত হুক এবং সূঁচগুলি কার্ডবোর্ডের এই গর্তগুলির দ্বারা পরিচালিত হয়েছিল। হুকগুলি কার্ডের সংস্পর্শে এলে তারা কোনও স্থির ছিদ্রের মুখোমুখি না হলে তারা স্থির ছিল। তারপরে হুকটি একটি সূঁচ দিয়ে অন্য থ্রেড serোকানো দিয়ে গর্তটি পেরিয়ে যেতে সক্ষম হয়েছিল, এটি পছন্দসই প্যাটার্নটি গঠন করেছিল। একের পর এক এবং / বা বারবার ব্যবহার করার সাথে অনেকগুলি কার্ড সাজিয়ে জটিল পদ্ধতিতে নিদর্শন অর্জন করা হয়েছিল।
জ্যাকার্ডের তাঁতটি একটি সঞ্চিত প্রোগ্রামের খুব প্রাথমিক রূপ হিসাবেও স্বীকৃত :
এখন অবধি আলোচিত গণনা মেশিনগুলির বিকাশের বেশিরভাগ উত্সাহটি যদি সংখ্যার গণনা থেকে উদ্ভূত হয়, তবে "সঞ্চিত প্রোগ্রাম" এর প্রাথমিকতম রূপটির দিকে পরিচালিত করা অনুপ্রেরণাটি খুব ভিন্ন উত্স থেকে আসা ছিল: টেক্সটাইল শিল্প। আমরা এর আগে দেখেছি যে গণনা সিস্টেমের অন্যতম মৌলিক বিষয় হ'ল তথ্য উপস্থাপনের ধারণা এবং যদিও আমরা এতটা স্পষ্টভাবে না করি, এখন পর্যন্ত আমরা যে সমস্ত নিদর্শনগুলি পরীক্ষা করেছি সেগুলির মধ্যে এই ধারণার প্রয়োগটি উপলব্ধি করা যেতে পারে: সংখ্যার মানগুলির জন্য লিখিত উপস্থাপনার বিকাশ এবং এগুলি থেকে উদ্ভূত যান্ত্রিক সমান্তরালতা। সুতরাং, অ্যাবাকাস ফ্রেমে নুড়িগুলির প্রান্তিককরণ, স্লাইড-রুলের উপর সরানো আইশের সংযোজন এবং শিকার্ড, পাস্কাল এবং লাইবনিজের ডিভাইসে কোগড গিয়ার্সের কনফিগারেশন, প্রতিনিধিত্বমূলক কৌশলগুলির সমস্ত উদাহরণ যা গাণিতিক কার্যগুলি অন্তর্নিহিত জটিল প্রক্রিয়াগুলি সহজ করার চেষ্টা করে। তথ্যের বিভাগ এবং এর উপস্থাপনা রয়েছে তবে গণ্য প্রক্রিয়া সম্পাদন করা যেতে পারে এমন সংখ্যা ব্যতীত। 1801 সালে জোসেফ-মেরি জ্যাকার্ডের বিকাশযুক্ত বুনন প্রযুক্তি এই জাতীয় বিভাগের একটি উদাহরণ চিত্রিত করে।
চার্লস ব্যাবেজ জ্যাকার্ডের স্টোরিং পদ্ধতিটিকে অ্যানালিটিক্যাল ইঞ্জিনেও রূপান্তরিত করেছিল , কোনও গর্ত উপস্থিতি বা অনুপস্থিতি মেশিনে একটি সহজ অন-অফ কমান্ডকে জানিয়েছিল:
অ্যানালিটিক্যাল ইঞ্জিনটিতে আধুনিক ডিজিটাল কম্পিউটারে অনেকগুলি প্রয়োজনীয় বৈশিষ্ট্য রয়েছে। এটি পাঞ্চ কার্ডগুলি ব্যবহার করে প্রোগ্রামযোগ্য ছিল, যা টেক্সটাইলগুলিতে জটিল নিদর্শনগুলি বুনানোর জন্য ব্যবহৃত জ্যাকার্ডার্ড তাঁতের কাছ থেকে নেওয়া একটি ধারণা। ইঞ্জিনটির একটি 'স্টোর' ছিল যেখানে সংখ্যা এবং মধ্যবর্তী ফলাফল রাখা যেতে পারে এবং পৃথক 'মিল' যেখানে পাটিগণিত প্রক্রিয়াজাতকরণ করা হয়েছিল। এটির চারটি পাটিগণিত ফাংশনের অভ্যন্তরীণ তথ্যভাণ্ডার ছিল এবং এটি সরাসরি গুণ এবং বিভাগ সম্পাদন করতে পারে। এটি এমন ফাংশনগুলির জন্যও সক্ষম ছিল যার জন্য আমাদের আধুনিক নাম রয়েছে: শর্তসাপেক্ষ শাখা, লুপিং (পুনরাবৃত্তি), মাইক্রোপ্রোগ্রামিং, সমান্তরাল প্রক্রিয়াজাতকরণ, পুনরাবৃত্তি, ল্যাচিং, পোলিং এবং নাড়ির আকার দেওয়ার মতো অন্যদের মধ্যে, যদিও ব্যাবেজ এই শব্দগুলি কোথাও ব্যবহার করেন নি। এটির হার্ডকপি প্রিন্টআউট, খোঁচা কার্ড,
অ্যানালিটিক্যাল ইঞ্জিনের শর্তসাপেক্ষ শাখাগুলি জ্যাকার্ডে অনুপ্রাণিত যান্ত্রিক লুপগুলি এবং সংরক্ষণের পদ্ধতির সাথে মিলিয়ে আপনার উদাহরণের সাথে একইভাবে (ধারণাগতভাবে) অনুরূপ, বিশেষত যদি আমরা অংশগুলির জন্য মিশ্রণে ব্যাবেজের প্রিন্টার যুক্ত করি print "...";
।
স্পষ্টতই যান্ত্রিক লুপগুলি জ্যাকওয়ার্ডের তাঁতকে আটকায়, এন্টিকিথেরা মেকানিজম (100 বিসিই) বলে একটি লুপ ফ্যাশনে কাজ করার জন্য প্রথম পরিচিত ডিভাইস , এবং যদি আমরা আরও ইতিহাসের দিকেও লক্ষ্য করি (এবং ভয়ঙ্কর বিষয়টি বন্ধ করে দেওয়া হয়), সানডিয়ালগুলি সম্ভবত সবচেয়ে প্রাচীনতম মানুষ তৈরির প্রক্রিয়া অবশ্যই সূর্যের এবং অন্যান্য নক্ষত্রের দেহের কক্ষপথগুলির পুনরাবৃত্তি প্যাটার্ন অনুসরণ করে লুপগুলির একটি বোঝা স্পষ্ট।
তবে আমি মনে করি যে কম্পিউটিংয়ের প্রসঙ্গে (এবং গণনা করা বা অন্য কিছু নয়) বিশ্লেষণাত্মক ইঞ্জিন এবং অ্যাডা বার্নোল্লি নম্বরগুলি অ্যালগরিদম গণনা করে জ্যাকার্ডের তাঁতের সাথে অন্তত কিছুটা ক্রেডিট ভাগ করে নেওয়া থেকে ধারণাটি সরাসরি রূপান্তরিত করার জন্য জমা দেওয়া যেতে পারে from এটা।