যে সময়ের কথা বলছি, তারও অনেক আগে চার্লস ব্যাবেজ আবিষ্কার করেছিলেন আসন্ন প্রজন্মের অগ্রসরের সবথেকে বড় হাতিয়ার কম্পিউটার। কিন্তু বেশ কিছু কম্পিউটার প্রোগ্রামিং ভাষা তৈরি করা হয় মূলত ১৯৬০ এর দশকে। মার্কিন কম্পিউটারবিদ গ্রেস হপার ম্যাথমেটিশিয়ান, ফ্লোম্যাটিক এবং এটু নামে তিনটি প্রোগ্রামিং ভাষা তৈরি করেন। এরপর জেমস ব্যাকাস তৈরি করে ফোরট্রান। এরপর অ্যালগল, কোবলসহ আরও কিছু ভাষা তৈরি হতে থাকে।
কিন্তু এসকল প্রোগ্রামিং ভাষা অন্য কাজে ব্যবহার করা হতো। কিন্তু কম্পিউটার বিজ্ঞানীরা এমন একটি ভাষার প্রয়োজন অনুভব করেন যা দিয়ে আসলে সফটওয়্যার বানানো সম্ভব। এই চাহিদার উপর ভিত্তি করেই অ্যালগল ৬০ এবং সিপিএল নামক দুটি ভাষার জন্ম হয়। কিন্তু সিপিএল শেখা ও ব্যবহার করা তুলনামূলক কঠিন ছিলো বলে এই প্রোগ্রামিং ভাষা তেমন জনপ্রিয়তা লাভ করেনি।
সিপিএল উন্মুক্ত করা হয়েছিল ১৯৬৭ সালে। ঠিক এই সময়ের শুরু থেকে কম্পিউটার হার্ডওয়্যার এক বিশাল পরিবর্তনের ভেতরে যেতে শুরু করে। ১৯৭২ সালে ডেনিস রিচি সি প্রোগ্রামিং ভাষা তৈরি করেন। আর এই ভাষা দিয়ে উচ্চ ক্ষমতাসম্পন্ন এবং দ্রুতগতির সাধারণ মানের সফটওয়্যার নির্মাণ করা শুরু হয়। এবং একই সাথে আরও জটিল কিছু সফটওয়্যারের চাহিদা বেড়ে যায়। সে সময়ে সবথেকে জনপ্রিয় ও সফল প্রোগ্রামিং ভাষা হিসেবে সি প্রোগ্রামিং প্রতিষ্ঠিত হতে শুরু করে। তবে কিছুদিন পর তখনকার যুগের প্রোগ্রামারদের কাছে সি ভাষা কিছুটা ক্লান্তিকর মনে হতে শুরু করে। তাই ১৯৭৯ সালে বিয়ার্ন স্ট্রাউসট্রাপ নির্মাণ করেন সি ++ (C++), যা সি ভাষার একটি আপডেটেড সংস্করণ। এই সংস্করণের সাথে প্রোগ্রামারদের কাছে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ধারণা পরিচিত হতে শুরু করে। এই ধারণার সুবিধা হলো, একজন প্রোগ্রামার এতে পুনর্ব্যবহারযোগ্য কোড লিখতে পারবেন, যা চাইলে পরবর্তীতে পুনরায় ব্যবহার করা যাবে।
সি এর জন্মের পর বা সি ++ আসার পরও এসকিউএল, ম্যাটল্যাব, পার্ল, হ্যাস্কেলের মতো ভাষার জন্ম হয়েছে। কিন্তু সি ++ এর আধিপত্যের কারণে কোনো নতুন ভাষাই তেমন সুবিধা করতে পারেনি।
সময়টা তখন ১৯৯০। সে সময়ের একটি প্রতিষ্ঠান হলো সান মাইক্রোসিস্টেম। মূলত এটি একটি হার্ডওয়্যার কোম্পানি। সি ++ এর রাজত্বের কারণে তাদের প্রতিষ্ঠানের প্রায় সবকিছু, যেগুলো সি ++ এর প্রথম সংস্করণ সি দিয়ে তৈরি করা, তার সবকিছু অচল হবার উপক্রম। এই প্রতিষ্ঠানের একজন নামকরা প্রকৌশলী হলেন প্যাট্রিক নটন। তিনি এই অবস্থার জন্য একরকম বিরক্ত। তিনি একরকম মনস্থির করে ফেলেছিলেন যে, এই প্রতিষ্ঠান থেকে সরে দাঁড়াবেন। কিন্তু একদমই হুট করে অতি এক গোপন প্রজেক্টের দায়িত্ব তাকে দেয়া হয়। এই প্রজেক্টের প্রধান উদ্দেশ্য ছিলো সি++ থেকে শতগুন ভালো একটি প্রোগ্রামিং ভাষা তৈরি করা, যা হবে দ্রুত এবং শক্তিশালী। পরবর্তীতে এই প্রজেক্টে যোগ করা হয় জেমস গসলিং, ত্রিস ওয়ার্থ, এড ফ্রাঙ্ক ও মাইক শেরিডানকে।
১৩জন কর্মীকে দায়িত্ব দেয়া হয় এই প্রজেক্টের। প্রথমদিকে এর নাম হয় ‘গ্রিন প্রজেক্ট।’ ধীরে ধীরে শুধু কম্পিউটার নয়, অনান্য যন্ত্র নিয়েও চিন্তাভাবনা যখন শুরু হয়, গ্রিন প্রজেক্টের নাম বদলে দেয়া হয় ‘গ্রিন টিম’। তো শুরু হয় ১৩ জন ইঞ্জিনিয়ারের পরিশ্রম। সবার ভিন্ন মতামতের মাঝে, কাজের ধরন নিয়ে চিন্তা করতেই হয়। এর মাঝে জেমস গসলিং সরাসরি কাজ করছিলেন একদম সি++ নিয়ে। তিনি ঐ ভাষাতে কিছু নতুন সুযোগ সুবিধা যুক্ত করলেন আর কিছু বদলে দিলেন বা মুছে ফেললেন। এই মুছে ফেলা আর যোগ করার জন্য তিনি এর নেম দেন “সি++ ++ –।” কিন্তু একটি প্রোগ্রামিং ভাষার নাম হওয়া উচিত সরল সোজা। যাতে সবাই এক নামে চিনতে পারবে বা বলতে পারবে। কিন্তু সি ++ ++ — বলাটা বেশ জটিল পর্যায়ে চলে যায়। জেমস গসলিংয়ের অফিসের জানালা দিয়ে একটি ওক গাছ দেখা যেতো। তিনি একদিন ঐ গাছের নিচে এসে দাঁড়িয়ে সিদ্ধান্ত নেন, নতুন তৈরি করতে যাওয়া এ ভাষার নাম হবে ওক। তখনই কাটখোট্টা সি++ ++ — কে বদলে ওক নাম দেন তিনি।
গ্রিন টিম তাদের যুগান্তকারী প্রজেক্ট নিয়ে কাজ করছে ঠিকই, কিন্তু অনান্যরা একদম বসে নেই। ততদিন হাস্কেল এসে গেছে। গুইদো ভন রুসেম ডিজাইন করে ফেলেছেন পাইথন। মাইক্রোসফটও নিয়ে এসেছে ভিজুয়াল স্টুডিও। এর ভেতর হাস্কেল ছিলো একদম কম্পিউটারের জন্য। গণনা করা বা রেকর্ড রাখার জন্য হাস্কেল ছিলো দারুণ উপযোগী। কিন্তু জেমস গসলিং ও তার টিম যেভাবে ভাবছিলেন, সেভাবে এ পর্যন্ত কেউ ভাবেনি। কারণ তাদের চিন্তা ভাবনা ছিলো সময়ের থেকে একধাপ উপরে। কারণ সে সময়ে সবাই ব্যস্ত ছিলো তখনকার চাহিদা অনুসারে সবকিছু তৈরি করতে। হয়ত গসলিং ও গ্রিন টিমকে বলা হয়েছিলো সি++ এর সাথে পাল্লা দেবার মত প্রতিদ্বন্দ্বী তৈরি করতে। কিন্তু তাদের চিন্তা-ভাবনা ছিলো ভবিষ্যতকে কেন্দ্র করে। কারণ তারা জানতেন তাদের এমন কোনো ধারণা আবিষ্কার করা উচিত যা বর্তমানে তো সফল হবেই, ভবিষ্যতেও এর আবেদন কমে যাবে না।
জেমস গসলিং ও তার দল যখন ওক নিয়ে ব্যস্ত, ততদিন সান মাইক্রোসিস্টেম এম্বেডেড সিস্টেম নিয়ে কাজ শুরু করে দিয়েছে। কম্পিউটার যখন প্রথম তৈরি হয়, তার আকৃতি ছিল বিশাল। সময়ের সঙ্গে সঙ্গে এটা ছোট হতে শুরু করে। কম্পিউটারের ছোট হয়ে আসা বিষয়টি এক বিরাট কাজের ক্ষেত্র তৈরি করে দিয়েছে। যাকে বলা হচ্ছে ‘এম্বেডেড সিস্টেম’। এই এম্বেডেড সিস্টেমে মেমোরি অল্প থাকে, সাথে প্রসেসিং ক্ষমতাও কম হয়। আর সানের কর্মীরাও খেয়াল করলেন, সি++ দিয়ে এই এম্বেডেড সিস্টেম তৈরি করা সম্ভব হচ্ছে না। কারণ এই ভাষা এমন অল্প জায়গা বা কম গতির প্রসেসরের সাথে খাপ খাইয়ে তৈরি করার সম্ভব হচ্ছিল না।
জেমস গসলিং ও তার দল ওক নিয়েও বেশ ভালো রকম এগিয়ে গেছেন। তাই সানের হর্তাকর্তারা ভাবলেন গ্রিন টিম কেমন করছে তার পরীক্ষা হয়ে যাক। তাই এম্বেডেড সিস্টেমের সমস্যা সমাধানে তাদের ডাক পড়ে। কিন্তু ওক দিয়েও কিছু করা সম্ভব হয় না। ওক যখন বিফলে যাবার মুখে ঠিক তখনই ইউরেকা হতে পান জেমস গসলিং। তিনি আবিষ্কার করেন তার ভার্চুয়াল মেশিনের ধারণা। এ ধারণা অনেকটা দোভাষীর মতো। তার ধারণার সহজ ব্যখ্যা হলো, আমরা কোড লিখবো একটা কাল্পনিক মেশিনের জন্য। যা পরে অন্তবর্তীকালীন কোডে পরিণত হবে। যা আসলে বাইটকোড। কিন্তু এই বাইটকোড মেশিন ও মানুষ উভয়ে বোঝার জন্য না। এটি বুঝবে একটি কাল্পনিক দোভাষী, যা হচ্ছে বর্তমানে জাভা ভার্চুয়াল মেশিন। এটিই বাইটকোডকে মেশিন কোডে রূপান্তরিত করে মেশিনকে বুঝতে সহায়তা করবে। আর এই ধারণাই জাভাকে করেছে বিখ্যাত।
জেমস গসলিংয়ের এই যুগান্তকারী ধারণা প্রেরণের পর তারা ওক ভাষা উন্মুক্ত করার কথা ভাবতে থাকে। ঠিক এ সময় নতুন গোলমাল শুরু হয় নাম নিয়ে। এই গোলমাল ও সমাধানের গল্প সানের সিনিয়ার ইঞ্জিনিয়ার ফ্রাঙ্ক ইয়েলিনের কাছ থেকে শোনা যাক। তার ভাষ্যমতে,
“আইনজীবীরা এসে জানিয়েছিল, আমরা ওক নামটি ব্যবহার করতে পারবো না। কারণ সেটা ছিলো ওক টেকনোলজি এর ট্রেডমার্ক। তাই আমরা নিজেদের ভেতর একটি সভার ব্যবস্থা করি, নতুন নাম রাখার জন্য। সম্ভাব্য ১০টি নাম, যেগুলো ব্যবহারের উপযোগী সেগুলো উপস্থাপন করা হয়। নামগুলো : ডিএনএ, সিল্ক, রুবি, পেপার, নেটপ্রোস, নিওন, জাভা, লাইরিক। কিন্তু জাভা, ডিএনএ ও সিল্ক নামটি বারবার ঘুরে ফিরে আসছিল। যদিও কেউ বলতে পারবে না কে প্রথমে জাভা নামটি পছন্দ করেছিল। কিন্তু আমার যত দূর স্মরণ আছে, সারা বিশ্বের কাছে জাভা নামে এ ভাষাটি ছড়িয়ে দেবার কথা বলেছিল স্বয়ং জাভার নির্মাতা।”
গ্রিন প্রজেক্টের আরেক সিনিয়ার ইঞ্জিনিয়ার আর্থার ভন হর্ফ বলেন,
“আমার ঠিক মনে আছে। জাভা নামটি প্রথমবার উচ্চারণ করেছিলেন ক্রিস ওয়ার্থ। ঘণ্টার পর ঘণ্টা সভা চলছিল। কিন্তু দশটা থেকে নামের সংখ্যা তিনে নামলেও নাম নির্বাচিত করা যাচ্ছিলো না। আমরা যখন সভাতে নাম নিয়ে তর্কাতর্কিতে ব্যস্ত ছিলাম, তখন সবার হাতে ছিলো পিটস জাভা কফি। সেটা গসংলিয়ের হাতেও ছিলো। সেখান থেকেই সে জাভা নামটি পেশ করে। প্রথমে এই নাম নিয়ে সবাই তেমন আগ্রহী ছিলো না। আমি নিজেও পরে প্রস্তাব দেই “লিঙ্গুয়া জাভা” নামকরণের জন্য। তবে সভার একদম শেষদিকে কিম পসিলন বলেন, “এই নামটিই রাখা যাক”।
এরপর ধীরে ধীরে সবাই জাভা নামটি পছন্দ করতে শুরু করে। কারণ এই নামটিই একমাত্র নাম ছিলো, যা নিয়ে ট্রেডমার্কজনিত কোনো সমস্যা হচ্ছিলো না। তাই আমরা আইনজীবীকে জানাই এই নামের ব্যাপারে। তারা জানায় আমরা এটি ব্যবহার করতে পারি। এরপর সর্বশেষ আরও একটি সভার আয়োজন করি, যেখানে প্রতিদ্বন্দ্বিতা করেছিল সিল্ক ও জাভা নাম দুটি। কিন্তু শেষমেষ জাভা নাম দেয়ার সিদ্ধান্ত নেওয়া হয়। জেমস গসলিং ও কফির দৌলতে ওক অবশেষে নতুন নাম পায়। জাভার বর্তমান ব্যবহৃত লোগোতেও এই কফির ধারণা পাওয়া যায়। কারণ জাভার লোগো খেয়াল করে দেখলে ঠিক যেন জেমস গসলিংয়ের টেবিলে থাকা একটি ধোঁয়া ওঠা গরম কফির কাপের প্রতিচ্ছবি ভেসে ওঠে।
১৯৯৫ সালের মে মাসে জাভার প্রথম সংস্করণ সবার জন্য উন্মুক্ত করা হয়। বর্তমানে চলছে এর ১৩ তম সংস্করণ। কিন্তু প্রথমবার সবার মাঝে আসার পর জাভা যেমন জনপ্রিয়তা পেয়েছিল, তা কোনোদিন কমেনি, বরং উল্টো প্রতি বছর বেড়েছে। ২০০৪ সালে মার্স এক্সপ্লোরেশন রোভার মঙ্গলের মাটিতে পা রাখে, যার কন্ট্রোল সিস্টেম তৈরি করা হয় জাভা দিয়ে। দীর্ঘ ২৪ বছর পরও, বর্তমান পৃথিবীতে প্রায় ১৫ বিলিয়ন যন্ত্র চলে জাভাতে। প্রোগ্রামিং বিশ্বে সবথেকে সফল ভাষার একচ্ছত্র আধিপত্য বর্তমানে হয়তো নেই। কিন্তু দুই যুগ পার হবার পরও আবেদন একবিন্দু কমেনি। আর জাভা উন্মুক্ত হবার ২৪ বছর পরও এই প্রোগ্রামিং ভাষা নিয়ে যেমন কাজ চলছে, আসন্ন এক যুগ পর্যন্ত জাভার আবেদন সর্বোচ্চ পর্যায়ে টিকে থাকার কথা।
বিজ্ঞানের চমৎকার, জানা-অজানা সব বিষয় নিয়ে আমাদের সাথে লিখতে আজই আপনার লেখাটি পাঠিয়ে দিন এই লিঙ্কে: https://roar.media/contribute/
জাভা প্রোগ্রামিং নিয়ে জানতে পড়তে পারেন এই বইগুলোঃ
১) জাভা প্রোগ্রামিং
২) জাভা প্রোগ্রামিং ফ্রম বিগীনিং টু এ্যাডভান্স