কম্পিউটিং-এর ইতিহাস

পরিগণনামূলক কর্মকাণ্ডের ইতিহাস তথা কম্পিউটিংয়ের ইতিহাস আধুনিক স্বয়ংক্রিয় পরিগণক যন্ত্র তথা কম্পিউটার যন্ত্রের আবির্ভাবের বহু আগেই শুরু হয়েছিল। প্রাচীন যুগ থেকেই (আনুমানিক ১১০০ খ্রিস্টপূর্বাব্দ) অ্যাবাকাস যন্ত্রের মাধ্যমে বড় অঙ্কের সংখ্যা যোগ-বিয়োগ-গুণ-ভাগের পদ্ধতি প্রচলিত ছিল। অ্যাবাকাস ছিল সর্বপ্রথম দ্বি-আঙ্কিক তথা ডিজিটাল (অর্থাৎ ১ ও ০-ভিত্তিক) পরিগণক যন্ত্র; এটি বাণিজ্যিক হিসাব নিকাশের কাজে ব্যাপকভাবে ব্যবহৃত হত। এর বহু পরে ১৭শ শতকে এসে স্কটীয় গণিতবিদ জন নেপিয়ার লগারিদম পদ্ধতি আবিষ্কার করলে বিশাল অঙ্কের সংখ্যার গুণ ও ভাগ করা অনেক সহজ হয়ে যায়। ফলে যন্ত্রের মাধ্যমে পরিগণনা সম্পাদনের ইতিহাস এক নতুন দিকে মোড় নেয়। ১৬১৭ সালে স্কটীয় গণিতবিদ ও বিজ্ঞানী জন নেপিয়ার "নেপিয়ারের অস্থিসমূহ" (ইংরেজি Napier’s bones) নামক যন্ত্রের কর্মপদ্ধতির ব্যাখ্যা প্রকাশ করেন। নেপিয়ারের অস্থিসমূহ ছিল লগারিদম-ভিত্তিক গণনায় সহায়তা করার জন্য একটি হস্তচালিত যন্ত্র। এই যন্ত্রটি চলমান মাপকাঠি বা "স্লাইড রুল" (Slide Rule) নামক দ্রুত লগারিদম-ভিত্তিক হিসাবকরণ যন্ত্রের পূর্বপুরুষ ছিল। ১৬২৪ সালে জার্মান জ্যোতির্বিজ্ঞানী ভিলহেল্ম শিকার্ড একটি যান্ত্রিক গণনাযন্ত্র বা ক্যালকুলেটর উদ্ভাবন করেন যা স্বয়ংক্রিয়ভাবে সংখ্যাসমূহ যোগ ও বিয়োগ করতে পারত। এছাড়াও এটি বারংবার যোগ ও বিয়োগের মাধ্যমে গুণ ও ভাগ-ও করতে পারত। ১৬৪২ সালে ফরাসি গণিতবিদ ও বিজ্ঞানী ব্লেজ পাসকাল একটি গণনাযন্ত্র বা ক্যালকুলেটর উদ্ভাবন করেন যার নাম তিনি দেন "পাসকালিন"। এটিতে যোগ বা বিয়োগের সময় হাতে থাকা অঙ্ক পরবর্তী ঘরে নিয়ে যাওয়ার জন্য উন্নততর পদ্ধতি ব্যবহার করা হয়। কিন্তু যন্ত্রটির কয়েকটি গুচ্ছ বাজারজাত করা হলেও শেষ পর্যন্ত এটির ব্যাপক প্রচলন ঘটেনি। ১৬৭৩ সালে জার্মান গণিতবিদ গটফ্রিড ভিলহেল্ম লাইবনিৎস (যিনি আইজাক নিউটনের সাথে সমসাময়িকভাবে কলনবিদ্যা বা ক্যালকুলাস উদ্ভাবন করেছিলেন) লাইবনিৎস চক্র নামক একটি গণনাযন্ত্র বা ক্যালকুলেটর উদ্ভাবন করেন। এছাড়া তিনি দ্বি-আঙ্কিক (বাইনারি) সংখ্যা ব্যবস্থার উপরেও লেখেন, যে ব্যবস্থাটি পরবর্তীতে আধুনিক যান্ত্রিক পরিগণনের ভিত্তিতে পরিণত হয়। ১৭৮৬ সালে ইয়োহান হেলফরিখ ফন ম্যুলার নামক একজন জার্মান প্রকৌশলী একটি "ব্যবধান ইঞ্জিন" (difference engine) যা পৌনঃপুণিক যোজন বা বিয়োজনের মাধ্যমে বহুপদী রাশির সমাধান করতে পারত। ১৮০৪ সালে ফরাসি তাঁতি জোসেফ মারি জাকার এক বিশেষ ধরনের তাঁত বা বয়নযন্ত্র উদ্ভাবন করেন (যাকে পরবর্তীতে জাকার তাঁত নামে ডাকা হত)। এই যন্ত্রে তাঁত যন্ত্রটিতে ভিন্ন ভিন্ন ছিদ্রযুক্ত কার্ড প্রবিষ্ট করে সুতা ভিন্ন ভিন্ন নকশায় বোনা যেত। কার্ড বদলে নতুন নতুন নকশা করা যেত। জাকার তাঁতকে তাই পরিগণন প্রক্রিয়াতে ব্যবহৃত উপাত্ত প্রবিষ্টকরণ (data entry) এবং পূর্বলিখন (programming)-এর অগ্রদূত হিসেবে গণ্য করা হয়। ইংরেজ গণিতবিদ ও বহুশাস্ত্রজ্ঞ চার্লস ব্যাবেজ জাকার তাঁত সম্পর্কে জানতেন। তার কাছে রেশম কাপড়ে জাকার তাঁত দিয়ে বোনা জাকারের একটি প্রতিকৃতি ছিল, যা তৈরি করতে ২৪ হাজার ছিদ্রিত কার্ড লেগেছিল। সম্পূর্ণ পরিগণনামূলক উপায়ে কিন্তু যন্ত্র দিয়ে তৈরি এই কাপড়ে বোনা প্রতিকৃতি ব্যাবেজকে অনুপ্রাণিত করে। তিনি ১৮২২ সালে অতীতের তুলনায় অনেক বেশি উন্নত একটি ব্যবধান ইঞ্জিন নকশা করেন ও এটি আংশিকভাবে নির্মাণ করতে সক্ষম হন। ১৮৩২ সালে ব্যাবেজ একটি বিশ্লেষণী যন্ত্রের বিস্তারিত খুঁটিনাটি ব্যাখ্যা সংবলিত একটি নকশা প্রণয়ন করেন। এই যন্ত্রটি ছিদ্রিত কার্ড দিয়ে পূর্বলিখন বা প্রোগ্রাম করা যেত, উপাত্তগুলিকে একটি যান্ত্রিক স্মৃতিতে সংরক্ষণ করা যেত এবং এমনকি একটি মুদ্রণযন্ত্রেরও ব্যবস্থা ছিল এটিতে। যদিও ব্যাবেজের জীবদ্দশাতে এই যন্ত্রটি নির্মাণ করা হয়নি, এটিতে আধুনিক কম্পিউটার যন্ত্রের বেশিরভাগ ধারণাই রূপ পেয়েছিল। ১৮৪৩ সালে ইংরেজ গণিতবিদ অ্যাডা লাভলেস ব্যাবেজের ইতালীয় অনুসারী মেনাব্রেয়া'র রচিত একটি গ্রন্থের (যা ছিল ইতালিতে ব্যাবেজের দেয়া একটি বক্তৃতার ইতালীয় অনুলিখন) ওপর বিস্তারিত মন্তব্য প্রকাশ করেন। অ্যাডা ছিলেন কম্পিউটিং বিষয়ে প্রথম কারিগরি লেখক। এছাড়া লাভলেস বিশ্বের সর্বপ্রথম পরিগণক পূর্বলেখ তথা কম্পিউটার প্রোগ্রাম রচনা করেন। ১৮৪৪ সালে মার্কিন উদ্ভাবক স্যামুয়েল মোর্স তড়িচ্চুম্বকীয় টেলিগ্রাফ বা দূরলিখন যন্ত্রের কার্যপদ্ধতি জনসমক্ষে প্রদর্শন করেন। তিনি ওয়াশিংটন থেকে বাল্টিমোর পর্যন্ত একটি বার্তা পাঠাতে সক্ষম হন। মোর্সের টেলিগ্রাফ যন্ত্রের মাধ্যমে একই সাথে বৈদ্যুতিক উপাত্ত প্রেরণ ও বিন্দু ও রেখার মাধ্যমে দ্বি-আঙ্কিক (বাইনারি) সংকেতের ব্যবহার করা এক নতুন যুগের সূচনা হয়। ১৮৫০ সালে ফরাসি গণিতবিদ আমেদে মানাইম বিশ্বের প্রথম স্লাইড রুল বা চলমান মাপকাঠি উদ্ভাবন করেন। ১৯৭০-এর দশকে স্বল্পমূল্যের ইলেকট্রনীয় গণনাযন্ত্র (ইলেকট্রনিক ক্যালকুলেটর) বাজারে আসার আগ পর্যন্ত এই চলমান মাপকাঠি প্রকৌশলী ও বিজ্ঞানীদের জন্য একটি অবশ্যপ্রয়োজনীয় সরঞ্জাম ছিল। ১৮৫৪ সালে জর্জ বুল দ্য লজ অভ থট (The Laws of Thought) নামের একটি বই প্রকাশ করেন, যেখানে তিনি বর্তমানে বুলিয়ান বীজগণিত নামে পরিচিত ধারণাটি ব্যাখ্যা করেন। কম্পিউটার প্রোগ্রামের কর্মসম্পাদনকে নিয়ন্ত্রণকারী শাখা-বিবৃতি ও লুপ-বিবৃতিগুলির জন্য বুলিয়ান অপারেটরগুলি অত্যাবশ্যক। ১৮৭০ সালে ফরাসি টেলিগ্রাফ প্রকৌশলী ও উদ্ভাবক এমিল বোদো (Émile Baudot) ফরাসি বর্ণমালা (তথা যেকোন লাতিন বর্ণমালার জন্য) ৫ বিটের একটি লিখনচিহ্ন সমষ্টি (ক্যারেকটার সেট) উদ্ভাবন করেন যা পরবর্তীতে "বোদো সংকেত" নামে খ্যাতি লাভ করে। এতে প্রতিটি বর্ণকে ৫ বিটের একটি সংকেত দিয়ে প্রতিনিধিত্ব করা হত। বোদো সংকেত ব্যবস্থাটিকে পরবর্তীতে "১ নং আন্তর্জাতিক টেলিগ্রাফ বর্ণমালা" নাম দেওয়া হয়। এটিই আধুনিক আসকি লিখনচিহ্ন সমষ্টি বা ক্যারেকটার সেটের পূর্বসূরী। বোদো'র টেলিগ্রাফ যন্ত্রটিতে ৫টি পিয়ানোর চাবির মত চাবি ছিল, যেগুলি টিপে টিপে ৫ বিটের একেকটি ক্যারেকটার বা লিখনচিহ্ন প্রেরণ করা যেত। বর্তমানে কোন টেলিযোগাযোগ ব্যবস্থাতে সংকেত স্থানান্তরের হারের একককে বোদো'র নামানুসারে বড (Baud সংক্ষেপে Bd.) নামে ডাকা হয়। ১৮৮৪ সালে মার্কিন উদ্ভাবক উইলিয়াম সিউয়ার্ড বারোজ তার প্রথম যোজনযন্ত্রটিকে বাজারজাত করেন। এই ঘটনা থেকেই গণনাযন্ত্র (ক্যালকুলেটর) ও পরিগণক যন্ত্র (কম্পিউটার) নির্মাণের ব্যবসা শুরু হয়। ১৮৯০ সালে মার্কিন উদ্ভাবক হারম্যান হলারিথ ছিদ্রিত কার্ড সারণিকার যন্ত্র (punched card tabulator) উদ্ভাবন করেন। এই যন্ত্রের মাধ্যমে মার্কিন সরকার অভূতপূর্ব সময়ের মধ্যে ১৮৯০ সালের আদমশুমারি বা লোকগণনা সম্পাদন করতে সক্ষম হয়। ১৮৯৬ সালে হলারিথ "ট্যাবুলেটিং মেশিন কোম্পানি" (Tabulating Machine Company) নামের একটি ব্যবসা প্রতিষ্ঠান প্রতিষ্ঠা করেন। এটি পরবর্তীতে ১৯১১ সালে "কম্পিউটিং, ট্যাবুলেটিং অ্যান্ড রেকর্ডিং কোম্পানি" (Computing, Tabulating and Recording Company) নাম ধারণ করে। ১৯২৪ সালে এর নাম বদলে রাখা হয় ইন্টারন্যাশনাল বিজনেস মেশিনস (International Business Machines), সংক্ষেপে "আইবিএম" (IBM)। ১৯৩০-এর দশকে ক্যুর্ট গ্যোডেল, আলোনজো চার্চ, এমিল পোস্ট এবং অ্যালান টুরিংয়ের লেখা বেশ কিছু উল্লেখযোগ্য গবেষণাপত্রের প্রেক্ষিতে উচ্চশিক্ষায়তনিক ক্ষেত্র বা জ্ঞানের একটি শাখা হিসেবে স্বয়ংক্রিয় যন্ত্রভিত্তিক গণনা তথা আধুনিক যান্ত্রিক পরিগণন ক্ষেত্রটির যাত্রা শুরু হয়। উপর্যুক্ত বিজ্ঞানীরা যান্ত্রিক পরিগণনের গুরুত্ব অনুধাবন করেন এবং তাত্ত্বিক দৃষ্টিকোণ থেকে যান্ত্রিক পরিগণনের সংজ্ঞা, প্রকৃতি, সীমা, ইত্যাদির নিখুঁত গাণিতিক ভিত্তি প্রদানের চেষ্টা করেন। ঐ সময় বিভিন্ন প্রতিষ্ঠানে বিপুল পরিমাণ ব্যবসায়িক হিসাবনিকাশ ও অন্যান্য জটিল ধরনের হিসাব-নিকাশ সম্পাদন করার জন্য সর্বদা পূর্ব থেকে নির্দিষ্ট পদ্ধতি অনুসরণ করে, ধাপে ধাপে, অনেকটা যন্ত্রের মতো করে, বিভিন্ন গাণিতিক সমীকরণ বা অপেক্ষকের (ফাংশনের) সমাধান করা হত, যে প্রক্রিয়ার নাম ছিল পরিগণন (ইংরেজি ভাষায় Computing কম্পিউটিং )। যেসব পেশাদার ব্যক্তি এই পরিগণন ক্রিয়া সম্পাদন করত, তাদেরকে "পরিগণক" (Computer কম্পিউটার) বলা হত। অর্থাৎ ২০শ শতকের প্রথমার্ধে "কম্পিউটার" পরিভাষাটি দিয়ে ইংরেজিভাষী বিশ্বে পেশাদার মানব পরিগণকদেরকে বোঝানো হত। এই কারণে প্রথম দিককার সম্পূর্ণ স্বয়ংক্রিয় ইলেকট্রনীয় কম্পিউটারগুলির নামের শেষে AC বর্ণদ্বয় যোগ করা হত, যার অর্থ "অটোম্যাটিক কম্পিউটার" (Automatic Computer) অর্থাৎ "স্বয়ংক্রিয় পরিগণক (যন্ত্র)"। ১৯৪০-এর দশকে দ্বিতীয় বিশ্বযুদ্ধের প্রারম্ভে মার্কিন ও ব্রিটিশ সেনাবাহিনী পেশাদার মানুষ নয়, বরং স্বয়ংক্রিয় পরিগণক যন্ত্রভিত্তিক কোনও ব্যবস্থাকে কাজে লাগিয়ে কীভাবে ক্ষেপণাস্ত্র নিক্ষেপ ও নৌচালনা সংক্রান্ত গণনার সারণিগুলি আরও দ্রুত সমাধান করা যায় এবং প্রতিপক্ষ সেনাবাহিনীর গুপ্ত গাণিতিক সঙ্কেতের মর্মার্থ উদ্ঘাটন করা যায়, সে ব্যাপারে আগ্রহী হয়ে ওঠে। তারা আঙ্কিক ইলেকট্রনীয় পরিগণকযন্ত্র (ডিজিটাল ইলেকট্রনিক কম্পিউটার) নকশাকরণ ও নির্মাণের বিভিন্ন প্রকল্প হাতে নেয়। এদের মধ্যে শুধুমাত্র একটিমাত্র প্রকল্প যুদ্ধের আগে সমাপ্ত হয়, যা ছিল ইংল্যান্ডের ব্লেচলি পার্ক স্থানে অবস্থিত অত্যন্ত গোপন একটি প্রকল্প, যাতে অ্যালান টুরিংয়ের প্রদত্ত পদ্ধতিসমূহ অনুসরণ করে জার্মান "এনিগমা" নামক গুপ্তসঙ্কেত ব্যবস্থাটিকে সমাধান করা হয়। ঐ সব প্রকল্পে অংশগ্রহণকারী বহু ব্যক্তি ১৯৫০-এর দশকের শুরুর দিকে পরিগণক যন্ত্র তথা কম্পিউটার নির্মাণ প্রতিষ্ঠান শুরু করেন। ১৯৫০-এর দশকের শেষের দিকে পাশ্চাত্যের বিশ্ববিদ্যালয়গুলিতে এই নতুন বিষয়ের জন্য পাঠ্যক্রম চালু করা হয়। ১৯৪০-এর দশকে জ্ঞানের এই শাখাটির নাম ছিল "স্বয়ংক্রিয় পরিগণন" (Automatic Computation)। ১৯৫০-এর দশকে এর নাম ছিল "তথ্য প্রক্রিয়াজাতকরণ" (Information processing)। ১৯৬০-এর দশকে যখন বিশ্ববিদ্যালয় ও উচ্চশিক্ষাক্ষেত্রে এটি স্থিতিশীল অবস্থানে আসে, তখন এটিকে মার্কিন যুক্তরাষ্ট্র তথা উত্তর আমেরিকাতে ইংরেজি ভাষায় "কম্পিটার সায়েন্স" ("Computer Science") এবং ইউরোপে "ইনফর্ম্যাটিক্‌স" (যেমন ফরাসি "Informatique" আঁফর্মাতিক) নামে ডাকা শুরু হয়। বাংলায় একে "পরিগণক বিজ্ঞান" বা "কম্পিউটার বিজ্ঞান" বলা হয়। ১৯৮০-র দশকে এসে বিশ্ববিদ্যালয়ে অধীত পরিগণক বিজ্ঞান তথা কম্পিউটার বিজ্ঞানের পাশাপাশি বেশ কিছু সংশ্লিষ্ট ক্ষেত্র পরিলক্ষিত হয়, যেগুলি হল তথ্যবিজ্ঞান (Informatics), পরিগণনামূলক বিজ্ঞান (Computational science), পরিগণক প্রকৌশল (Computer engineering) বা পরিগণক যন্ত্রাংশসামগ্রী প্রকৌশল (Hardware engineering), সফটওয়্যার (নির্দেশনাসামগ্রী) প্রকৌশল (Software engineering), তথ্য ব্যবস্থা (Information systems) এবং তথ্য প্রযুক্তি (Information technology)। ১৯৯০-এর দশকে এসে এই বিভিন্ন আন্তঃসম্পর্কিত ক্ষেত্রগুলিকে ইংরেজি ভাষায় "কম্পিউটিং" (Computing) নামে ডাকা শুরু হয়, যাকে বাংলায় "পরিগণন" বলা হয়।