
২০ জুলাই ১৯৬৯, নীল আর্মস্ট্রং ও এডুইন অলড্রিন চাঁদের মাটি স্পর্শ করার থেকে মাত্র তিন মিনিটের দূরত্বে, এমন সময় বেজে উঠলো বিপদসূচক অ্যালার্ম। লুনার মডিউলের কম্পিউটার স্ক্রিনে এরর কোড ১২০২ ভেসে উঠলো। মিশন কন্ট্রোলে সাথে সাথে যোগাযোগ করা হলো, মিশন এগোনো হবে নাকি থামিয়ে দেয়া হবে? মানবজাতির এত সাধের মিশন, চাঁদকে ছোঁয়ার স্বপ্ন চাঁদের এত কাছে এসে থেমে যাবে এ যে মেনে নেয়াও কষ্টকর। কিন্তু সে যাত্রায় মানুষকে থামতে হয়নি। মানুষ ছুঁয়েছে চাঁদের মাটি, রেখেছে বিজয়ের ছাপ। আর এই সাফল্যের কাহিনী ব্যর্থতায় পর্যবসিত হয়নি যার কারণে, তিনি হলেন মহিয়সী মার্গারেট হামিল্টন।

চাঁদের মাটিতে মানুষ ঠিকঠাক পৌঁছে মূলত একজন মার্গারেটের গুণে; Image Source: twitter.com
মার্গারেটের জন্ম ১৯৩৬ সালের ১৭ আগস্ট মার্কিন যুক্তরাষ্ট্রের ইন্ডিয়ানা রাজ্যের পাওলি শহরে। তার বাবা কেনেথ হিফিল্ড ছিলেন একজন দার্শনিক ও কবি। মায়ের নাম রুথ এস্থার হিফিল্ড। মার্গারেট ইউনিভার্সিটি অব মিশিগানে গণিত নিয়ে পড়েন। ১৯৫৮ সালে তিনি গণিতে ব্যাচেলর ডিগ্রি নেন, একইসাথে আর্লহাম কলেজ থেকে দর্শনে একটি মাইনর ডিগ্রি নেন। এরপর তিনি ম্যাসাচুসেটস ইন্সটিটিউট অব টেকনোলজিতে (এমআইটি) প্রফেসর এডওয়ার্ড নর্টন লরেঞ্জের অধীনে আবহাওয়ার পূর্বাভাস প্রদানের একটি কম্পিউটার প্রোগ্রাম নিয়ে কাজ শুরু করেন। এডওয়ার্ড লরেঞ্জ হলেন সেই প্রখ্যাত গণিতবিদ ও আবহাওয়াবিদ, যিনি ‘বাটারফ্লাই ইফেক্ট’ শব্দগুচ্ছের প্রচলন করেন। বিখ্যাত ‘কেওস থিওরি’র (Chaos Theory) অগ্রদূতও তিনি।
দ্রুতই প্রফেসর লরেঞ্জের অধীনে মার্গারেট SAGE প্রোগ্রামে সফটওয়্যার ডিজাইনের কাজ শুরু করেন। স্নায়ুযুদ্ধের সময় রাশিয়ান বোমারু বিমানগুলোর রাডার ডাটা পর্যবেক্ষণের জন্য এই সফটওয়্যারগুলো ব্যবহৃত হতো। নিজের কর্মদক্ষতার জোরে দ্রুত একের পর এক উচ্চতর ও জটিলতর কর্মক্ষেত্রে উন্নীত হচ্ছিলেন মার্গারেট।

সহাস্যবদনে কর্মনিবিষ্ট; Image Source: ladyscience.com
প্রথমদিকে মার্গারেটের উপর কম গুরুত্বের কাজগুলোই অর্পিত হতো। ধীরে ধীরে তিনি হয়ে ওঠেন গাইড্যান্স (Guidance) কম্পিউটারের শীর্ষ প্রোগ্রামার। গাইড্যান্স কম্পিউটার ছিল অ্যাপোলো প্রোগ্রাম তথা মানুষের চন্দ্রাভিযানের জন্য উদ্ভাবিত বিশেষ নিয়ন্ত্রক ও নির্দেশক কম্পিউটার।
মার্গারেট বিয়ে করেছিলেন '৫০ এর দশকের শেষের দিকে জেমস কক্স হ্যামিল্টনকে। তাদের একটিই মেয়ে হয়, লরেন হ্যামিল্টন। যখন রাতভর জেগে বা সপ্তাহের শেষ দিনগুলোতেও কাজ করতে হতো, তখন মার্গারেট মেয়ে লরেনকেও নিয়ে আসতেন কর্মক্ষেত্রে। ছোট্ট লরেন মায়ের আশেপাশে ঘুরঘুর করে খেলে বেড়াতো। এভাবেই একদিন খেলতে গিয়ে কোথাও হাত লাগিয়ে গোলমাল করে ফেলে লরেন। তৎক্ষণাৎ গাইড্যান্স কম্পিউটার ক্র্যাশ করে পুরো সিস্টেম ডাউন হয়ে যায়। লরেন অনিচ্ছাকৃতভাবে P01 প্রি-লঞ্চ প্রোগ্রামটি লোড করে ফেলে। মিশন চালু থাকা অবস্থায় কেউ এই কাজ করলে এর ফল হতো ভয়ানক। P01 প্রোগ্রামটির কারণে কম্পিউটারের রক্ষিত মহাকাশযানের উড্ডয়ন সম্পর্কিত সকল উপাত্ত বা ডাটা মুছে যেতো এবং মহাকাশযান পৃথিবীর সাথে যোগাযোগ হারিয়ে অন্ধভাবে উড়ে বেড়াতো।
মার্গারেট পরামর্শ দেন, ভবিষ্যতে এই সমস্যা এড়াতে আলাদা সফটওয়্যার যোগ করা হোক। কিন্তু নাসা তার পরামর্শ মানেনি। যত বেশি সফটওয়্যার, তত বেশি বাগ সৃষ্টি হওয়ার সম্ভাবনা। ‘বাগ’ (Bug) হলো সফটওয়্যারের ত্রুটি বা অকৃতকার্যতার কারণে কম্পিউটারের প্রোগ্রাম বা সিস্টেমে গোলযোগ হওয়া। মার্গারেটের কথা সাময়িকভাবে বিবেচনা করে কর্তৃপক্ষ ব্যবহারকারীর নোটে “Do not select P01 during flight” লিখে রাখে। তাদের ধারণা ছিল, একজন সত্যিকারের নভোচারী কখনোই মিশনে থাকা অবস্থায় P01 প্রোগ্রাম লোড করার মতো বোকামী করতে পারে না।
কিন্তু অ্যাপোলো ৮ মিশনের সময় মহাকাশচারী জিম লভেল নাসাকে ভুল প্রমাণিত করেন। মিশনের ৫ম দিনে তিনি অনাকাঙ্খিতভাবে P01 প্রোগ্রামটি লোড করে দেন। যা হবার তা-ই হলো। সিস্টেম ক্র্যাশ করে গেল, উড্ডয়ন সম্পর্কিত ডাটা বা নেভিগেশন ডাটা হারিয়ে গেল। ডাক পড়লো মার্গারেট আর তার দলের। মার্গারেটের নির্দেশনা অবলম্বন করে নাসা উড্ডয়ন সম্পর্কিত নতুন সহগ (Navigation Coefficient) আপলোড করে দেয়। বোঝা গেল, শূন্যে মানুষ পাঠাতে হলে সফটওয়্যারের উন্নতিসাধন ও ব্যবহার অতি জরুরী। এই কাজের দায় স্বাভাবিকভাবেই মার্গারেট ও তার দলের উপর এসে পড়লো।

সফটওয়্যার তৈরির জন্য নিজের লেখা কোড সমগ্রের পাশে মার্গারেট; Image Source: deskgram.net
মার্গারেটের বিশেষ চিন্তার বিষয় ছিল মহাকাশযানের কম্পিউটারের সেই গোলযোগগুলো, যেগুলো নভোচারীদের অলক্ষ্যে থেকে যায়। নাসার দলকে সাথে নিয়ে মার্গারেট চন্দ্রাভিযানের জন্য প্রয়োজনীয় সফটওয়্যারসমূহের সম্যক উন্নয়ন ঘটান। পুরো অ্যাপোলো প্রোগ্রাম চালাচ্ছিলো সফটওয়্যার, এটাকে তখনও কোনো বিজ্ঞান বা প্রযুক্তির তেমন বিশেষ অংশ বলে মানা হচ্ছিল না। মার্গারেটই প্রথম ‘সফটওয়্যার ইঞ্জিনিয়ারিং’ কথাটির উদ্ভব করেন। তার হাত ধরেই এগিয়ে চলে সফটওয়্যার ইঞ্জিনিয়ারিং। হার্ডওয়্যার ও মেকানিক্যাল ইঞ্জিনিয়ারিংয়ের আধিপত্যের দুনিয়ায় মার্গারেট জন্ম দেন প্রকৌশলের এক নতুন শাখার।

একজন সফল নারী; Image Source: makers.com
অ্যাপোলো ১১ এর সফল মিশনের পর মার্গারেট এমআইটিতে নাসার প্রোগ্রামগুলো নিয়ে কাজ চালিয়ে যেতে থাকেন। তিনি অনেক বাগ চিহ্নিত করেন ও সেগুলোর সমাধান করেন। এই গবেষণাকর্মের মধ্যে দিয়ে মার্গারেট সফটওয়্যার ডিজাইনিংয়ের জন্য ৬টি স্বতঃসিদ্ধ সূত্র প্রদান করেন। উচ্চতর সফটওয়্যারগুলোতে এই সূত্রগুলো প্রয়োগের জন্য তিনি ‘ইউনিভার্সাল সিস্টেমস ল্যাঙ্গুয়েজ’ প্রণয়ন করেন।
১৯৭০ সালে মার্গারেট এমআইটির কাজ ছেড়ে দিয়ে প্রাইভেট সেক্টরে কাজ শুরু করেন। ১৯৭৬-এ সহ-প্রতিষ্ঠাতা হিসেবে হায়ার অর্ডার সফটওয়্যার (Higher Order Software) প্রতিষ্ঠা করেন। এর ১০ বছর পর তৈরি করেন তার নিজস্ব কোম্পানী হ্যামিল্টন টেকনোলজিস। সেই কোম্পানির সিইও হিসেবে দায়িত্ব পালন করে যাচ্ছেন তিনি।

সম্মাননা গ্রহণ করছেন মার্গারেট; source: twitter.com