জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজ

জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজ সম্পর্কে ধারণা
সবচেয়ে জনপ্রিয় প্রোগ্রামিং ল্যাঙ্গুয়েজ হচ্ছে জাভা প্রোগ্রামিং। এটি একটি পূর্ণাঙ্গ অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ। এর জনপ্রিয়তার অনেক গুলো কারণের মধ্যে একটি প্রধাণ কারণ হচ্ছে Portability বা বহনযোগ্যতা, এর মানে হচ্ছে একই কোড যে কোন প্লাটফর্মে কাজ করে। এন্টারপ্রাইজ লেভেলের সফটওয়ার তৈরি করতে জাভা ব্যবহৃত হয়। এছাড়া অ্যান্ড্রয়েড অ্যাপ তৈরি করতেও জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহৃত হয়।

১৯৯৫ সালের ২৩ মে । ঝলমলে চমৎকার একটি দিন । জন গেইজ ( John Gage – ডিরেক্টর । অব সান – মাইক্রোসিস্টেম ) ও মার্ক অ্যান্ডারসেন ( Marc Andreesen – নেটস্কেপের ভাইস প্রসিডেন্ট ও সহপ্রতিষ্ঠাতা ) ঘােষণা দেন যে , জাভা টেকনােলজি মােটেই কোনাে উপকথা নয় , বরং এটিই বাস্তবতা এবং এটি নেটস্কেপ নেভিগেটর ( Netscape Navigator ) এর সঙ্গে সংযুক্ত হতে যাচ্ছে ।

সে সময় জাভাতে কাজ করে এমন লােকের সংখ্যা ত্রিশেরও কম । তারা কখনােই চিন্তা করেনি তাদের এই টিম ভবিষ্যৎ পৃথিবীর প্রধানতম টেকনােলজি নির্ধারণ করতে যাচ্ছে । ২০০৪ সালের ৩ জানুয়ারি মার্স এক্সপ্লোরেশন রােভার ( Mars Exploration Rover ) ? মঙ্গল গ্রহের মাটিতে পা রাখে যার কন্ট্রোল সিস্টেম থেকে শুরু করে পৃথিবীর অধিকাংশ কনজুমার ইলেকট্রনিক্স , যেমন , কেবল সেট – টপ বক্স ( STB ) , ভিসিআর ( VCR ) , টোস্টার ( Toaster ) , পিডিএ ( PDA ) , স্মার্টফোনসহ প্রায় ১৫ বিলিয়ন ডিভাইস , ১০০ % ব্লু – রে ডিস্ক প্লেয়ার জাভা রান করে ।

চলুন একটু পেছনের ইতিহাস জেনে নেই ।
তখন সি ++ ( C ++ ) এর একচ্ছত্রাধিপত্য ।

সান মাইক্রোসিস্টেমস ( Sun Microsystems , Inc. ) মূলত হার্ডওয়্যার কোম্পানি । ১৯৭২ থেকে ১৯৯১ সালের এই সময়টাতে কম্পিউটার হার্ডওয়্যারের এক বিশাল বিপ্লব হয় । দ্রুত এবং উচ্চ ক্ষমতাসম্পন্ন সব হার্ডওয়্যার অল্প দামে পাওয়া যাচ্ছে এবং সেই সঙ্গে জটিল সব সফটওয়্যারের চাহিদা দ্রুতই বেড়ে চলছে । ১৯৭২ সালে ডেনিস রিচি ( Dennis Ritchie ) 4 সি প্রােগ্রামিং ভাষা তৈরি করেন । যদিও তখনাে প্রােগ্রামারদের মধ্যে এটি সব থেকে জনপ্রিয় , তবে প্রােগ্রামারদের মধ্যে সি – এর স্ট্রাকচার্ড প্রােগ্রামিং কিছুটা ক্লান্তিকর মনে হতে শুরু করেছে।এর ফলশ্রুতিতে বিয়ান স্ট্রাউসট্রাপ ( Bjarne Stroustrup ) 5 ১৯৭৯ সালে ডেভেলপ করেন সি ++ ( C ++ ) যা কিনা মূলত সি ( C ) এবং এর সঙ্গে বাড়তি কিছু । এটি অবজেক্ট ওরিয়েন্টেড প্রােগ্রামিং ধারণাকে পরিচিত করে তােলে । অবজেক্ট ওরিয়েন্টেড প্রােগ্রামিংয়ের সুবিধা হচ্ছে একজন প্রােগ্রামার পুনর্ব্যবহারযােগ্য ( reusable ) কোড লিখতে ।

সান মাইক্রাসিস্টেমসে সি ++ এর আধিপত্যে সি – তে লেখা বিভিন্ন টুল এবং এপিআইগুলাে । মাইক্রোসিস্টেমের একজন ইঞ্জিনিয়ার , মােটামুটি হতাশ এবং এক ধরনের বিশ্রী পরিস্থিতির । প্রায় অচল হতে শুরু করেছে । প্যাট্রিক টন ( Patrick Naughton ) যিনি সান । নেক্সট কম্পিউটার ইনকরপােরেটেড ( NeXT Computer Inc. ) প্রতিষ্ঠা করে ফেলেছেন , যা সম্মুখীন । ততদিনে স্টিভ জবস ( Steve Jobs ) অ্যাপল কম্পিউটার থেকে বিতাড়িত হয়ে । পরবর্তীতে সফটওয়্যার ইন্ডাস্ট্রিতে বৈপ্লবিক পরিবর্তন আনতে যাচ্ছে এবং যার ফলশ্রুতিতে । পারে যেটা পরে অন্য কাজে পুনরায় ব্যবহার করা যায় । ১৯৯০ সাল । 1 তৈরি হয়েছে আজকের ম্যাক অপারেটিং সিস্টেম ( OS ) । তার এই নতুন প্রতিষ্ঠান নেক্সটস্টেপ ( NeXTSTEP ) নামে একটি অপারেটিং সিস্টেম তৈরি করে । এতে চমৎকার কিছু ব্যাপার ছিল । যার মধ্যে অবজেক্ট ওরিয়েন্টেড অ্যাপ্লিকেশন লেয়ারের ধারণাটি ছিল অসাধারণ । এতে অবজেক্ট ধরে ধরে কাস্টমাইজড সফটওয়্যার তৈরি করে ফেলা যায় । প্যাট্রিক টন ( Patrick Naughton ) ইতিমধ্যে NeXT এর দিকে যাওয়ার জন্য মনস্থির করে ফেলেছেন । ঠিক তখনই একবার তাকে শেষ সুযােগ হিসেবে একটি অতি গােপন প্রজেক্টের ( Stealth Project ) অনুমােদন দেওয়া হয় যার কথা অন্য কেউ জানত না । কিছুদিন পরেই তার সঙ্গে যুক্ত হন জেমস গসলিং ( James Gosling ) এবং মাইক শেরিডান ( Mike Sheridan ) । তখন এর নাম দেওয়া হয় গ্রিন প্রজেক্ট ( Green Project ) । সময়ের সঙ্গে সঙ্গে গ্রিন প্রজেক্টের দন্তোদগম হয় । তারা ধীরে ধীরে কম্পিউটার ছাড়াও আরও অন্যান্য ডিভাইস । নিয়েও চিন্তাভাবনা শুরু করেন ।

এর মধ্যে ১৩ জন কর্মীর এই গ্রিন প্রজেক্টের দল ক্যালিফোর্নিয়ার মেনলাে পার্কের সেন্ড হিল । রােডের একটি ছােট্ট অফিসে কাজ করতে থাকেন । এই দলকে পরবর্তীতে গ্রিন টিম নাম দেওয়া হয় । তাদের প্রধান উদ্দেশ্য সি ++ ( C ++ ) এর একটি ভালাে ভার্সন তৈরি করা যা হবে । অনেক দ্রুতগামী এবং রেসপন্সিভ ( responsive ) । সেই সময়ে কম্পিউটার ছাড়াও কনজুমার ইলেকট্রনিক্স যেমন পিডিএ , কেবল সেট – টপ বক্স ইত্যাদির চাহিদা বেশ বেড়ে গেছে । একদল ইঞ্জিনিয়ার এক সঙ্গে থাকলে যা হয় , তারা নানা রকম জিনিস নিয়ে চিন্তা করতে থাকে , নানা রকম আইডিয়া তৈরি হয় , তা থেকে প্রােটোটাইপ ( Prototype ) তৈরি করতে থাকে । এর মধ্যে জেমস গসলিং সি ++ প্রােগ্রামিং ভাষায় বেশ কিছু বাড়তি জিনিস যুক্ত করতে থাকেন এবং কিছু কিছু জিনিস ফেলে দেন । তিনি এর নাম দেন সি ++ ++ – ( C ++ ++ — ) । এখানে বাড়তি ++ মানে হচ্ছে নতুন জিনিস যােগ করা এবং মানে হচ্ছে কিছু জিনিষ ফেলে দেওয়া । জেমস গসলিংয়ের জানালা দিয়ে একটি ওক গাছ দেখা যায় । একদিন তিনি অফিস । থেকে বের হয়ে ওই গাছটির নিচে দাঁড়ান এবং সঙ্গে সঙ্গে c ++ ++ বাড়তি ++ মানে হচ্ছে নতুন জিনিস যােগ করা এবং — মানে হচ্ছে কিছু জিনিস ফেলে নাম পরিবর্তন করার সিন্ধান্ত নেন এবং নতুন নাম দেন ওক ( Oak ) ।

একই সময় সানের ইঞ্জিনিয়াররা মিলে এম্বেডেড সিস্টেম ( Embeded System ) নিয়েও কাজ করতে থাকেন এবং এসময় তারা নানা রকম সমস্যার সম্মুখীন হন । এম্বেডেড সিস্টেমে মেমােরি কম থাকে , প্রসেসিং ক্ষমতাও কম থাকে । এই সিস্টেমে সি ++ ( যা কিনা কম্পিউটারের মতাে বড় ফুটপ্রিন্টের হার্ডওয়্যারের জন্য ডিজাইন করা ) চালাতে গিয়ে তারা অদ্ভুত অদ্ভুত সমস্যার সম্মুখীন হতে থাকেন । এইসব সমস্যার সমাধান করার জন্য গ্রিন টিম নানা রকম চিন্তাভাবনা করতে থাকে । এই সময়েই মানুষ পিডিএ , কেবল সেট – টপ বক্সগুলাের মরণদশা দেখতে শুরু করে । জেমস গসলিং যদিও ওক নিয়ে যথেষ্ট এগিয়েছেন কিন্তু এটি কোনােভাবেই এদেরকে সাহায্য করতে পারছিল না । সবার কাছে মনে হতে থাকে একমাত্র কোনাে একটি অলৌকিক ঘটনাই পারে এই প্রজেক্ট সফল করতে । ঠিক তখনই সেই প্রতীক্ষিত প্রত্যাশা আলাের মুখ দেখা যায় । জেমস গসলিং আউট অব দ্য বক্স ( out of the box ) একটি যুগান্তকারী ধারণা নিয়ে আসেন । সেটি হলাে ভার্চুয়াল মেশিন ( Virtual Machine ) । অর্থাৎ আমরা একটি কাল্পনিক মেশিনের জন্য কোড লিখব যা কম্পাইল হয়ে একটি অন্তর্বর্তীকালীন কোড ( Intermediate Code ) তৈরি করবে । জাভা ভার্চুয়াল মেশিন সেই অন্তর্বর্তীকালীন কোডকে রানটাইমে আসল ডিভাইসের জন্য প্রয়ােজন অনুযায়ী মেশিন কোড তৈরি করবে ।

ঠিক একই সময়েই ন্যাশনাল সেন্টার ফর সুপারকম্পিউটিং অ্যাপ্লিকেশনস ( National Center for Supercomputing Applications – NCSA ) একটি কমার্শিয়াল ওয়েব ব্রাউজার বের করে । তাদের টিম ইন্টারনেটের ভবিষ্যৎ নিয়ে ভাবতে শুরু করে । তারা একটি নতুন ধারণা নিয়ে আসে সেটি হলাে , এক ধরনের ছােট ছােট প্রােগ্রাম যা ওয়েব ব্রাউজারের মধ্যে চলবে । তারা এর নাম দেয় অ্যাপলেট ( Applet ) । তারা অ্যাপলেটের জন্য কিছু মানদণ্ড ( standard ) ঠিক করে দেয় ,
*এটি হতে হবে খুব ছােট , খুব সহজ ও সাধারণ ,
*এর স্ট্যান্ডার্ড এপিআই ( Standard API ) থাকতে হবে ,
*এটি হবে প্ল্যাটফর্ম ইনডিপেন্ডেন্ট ( Platform Independent , অর্থাৎ সব ধরনের অপারেটিং সিস্টেমে চলবে ) ,
*একে ওয়েব ব্রাউজারে এম্বেড করা যাবে , এর মাধ্যমে মাল্টিটাস্কিং ( Multitasking ) করা যাবে ,
*এতে হার্ডওয়ারের সরাসরি মেমােরি ম্যানিপুলেশন ( Memory Manipulation ) করা । যাবে না , এবং .
*আউট – অব – দ্য – বক্স নেটওয়ার্ক প্রােগ্রামিং করা যাবে ।

তারা তখনকার সময়ের ইন্টারনেট বাবলকে ( Internet bubble ) উদ্দেশ্য করে পরবর্তী প্রজন্মের পণ্য ( next generation product ) তৈরি করতে চেয়েছিল । এই প্রজেক্টের কার্টুন নাম ছিল Duke ( যা এখন আমরা জাভার মাস্কট হিসেবে চিনি ) । পরবর্তীতে তারা সিদ্ধান্ত নেয় । যে এম্বেডেড সিস্টেমের সমস্যার সমাধানটি তারা ওয়েব ব্রাউজারের ক্ষেত্রেও ব্যবহার করবে ।

কিন্তু সমস্যা হচ্ছে এর কোনােকিছুই ঠিকঠাক মতাে সি ++ দিয়ে করা যাচ্ছিল না । সেই সময়ে । ওয়েব ব্রাউজারে শুধুমাত্র স্ট্যাটিক পেইজে ( Static Page ) লেখা আর ছবি ছাড়া অন্য কিছু দেখাবার ব্যবস্থা ছিল না । এই অ্যাপলেট টেকনােলজি ব্যবহার করায় ব্রাউজার অ্যানিমেশন ( Browser Animation ) তৈরি করা যাবে । পেইজ হবে ইন্টারঅ্যাকটিভ ( Interactive ) । অ্যাপলেটের এই বৈশিষ্ট্যগুলাে সবার নজর কাড়ে যা কিনা জাভা প্রােগ্রামিং ভাষার সফলতার মূল কারণ ।

জেমস গসলিংয়ের এই ভার্চুয়াল মেশিনের সমাধানটি ছিল প্রকৃতপক্ষেই যুগান্তকারী ( কেন যুগান্তকারী তা নিয়ে পরবর্তীতে এই বইয়ে আলােচনা করা হবে ) । ইতিমধ্যে গ্রিন টিম ওকের প্রথম রিলিজ দেওয়ার প্রস্তুতি নেয় । ঠিক তখনই এক নতুন সমস্যার উদ্ভব হয় । আইনজীবীরা এসে জানায় যে , এর নাম ওক রাখা যাবে না । কারণ ইতিমধ্যেই এই নামটি ওক টেকনােলজিস ( Oak Technologies ) এর ট্রেডমার্ক । এর অর্থ এই যে , এর নাম পরিবর্তন করে অন্য নাম রাখতে হবে । শুরু হয় নানরকম চিন্তাভাবনার । কিন্তু কোনােভাবেই একটি ভালাে নাম নির্বাচন করা যাচ্ছিল না । অনেকেই অনেক ধরনের নাম উপস্থাপন করেন , যেমন DNA , Silk , Ruby , yuck , Lyric , Pepper , NetProse , Neon , Java zostni az সবগুলাে নাম লিগ্যাল ডিপার্টমেন্টে সাবমিট করার পর মাত্র Java , DNA ও Silk এই তিনটি নাম ফিরে আসে যেগুলাে কিনা ব্যবহার করা যাবে । নাম নিয়ে ঘণ্টার পর ঘণ্টা মিটিং চলতে থাকে । এর মধ্যে ক্রিস ওয়ার্থ ( Chris Warth ) , জাভা ( Java ) নামটি ব্যবহার করার প্রস্তাব করেন , কারণ তখন তার হাতে ছিল এক কাপ গরম Peet’s Java ( কফি ) । শেষপর্যন্ত অনেক চিন্তাভাবনার পর এর নাম ঠিক করা হয় জাভা । কারণ একমাত্র এই নামেই সব থেকে ইতিবাচক প্রতিক্রিয়া পাওয়া যাচ্ছিল । তাছাড়া কফি পান করার পর সবারই মন চনমনে হয়ে যায় । জাভা এমন একটি প্রােগ্রামিং ভাষা যা কিনা তখন সবার মনকেই চাঙা করে দিয়েছিল । ১৯৯৫ সালের মে মাসে জাভার প্রথম পাবলিক ভার্সন রিলিজ হয় । এর পরের ইতিহাস আমরা সবাই জানি ।

জাভা হচ্ছে পৃথিবী নামক গ্রহের সবচেয়ে সফল এবং জনপ্রিয় প্রােগ্রামিংয়ের ভাষা ।

Leave a Reply

Your email address will not be published. Required fields are marked *