Site icon Trickbd.com

কেন শিখবো জাভা প্রোগ্রামিং।জেনে নিন জাভা ল্যাঙ্গুয়েজ এর খুঁটিনাটি

Unnamed

আসসালামুআলাইকুম

আশা করি আল্লাহর রহমতে আপনারা সকলেই ভালো আছেন | আর ভালো না থাকলে তো ভালো লাগার ওয়েবসাইট TrickBD আছেই। যেখানে আমরা প্রতিনিয়ত নিত্যনতুন কিছু শিখতে ও জানতে পারি ।

আমার আজকের আলোচনার টপিক

Java programming

জাভা হলো এক ধরনের Object oriented programming language. এটি মূলত ক্লাস এবং ওবজেক্ট ভিত্তিক ল্যাংগুয়েজ। এটি সর্বপ্রথম 1995 সালে রিলিজ হয়। এটির আবিষ্কারক জেমস গসলিং। তিনিই জাভার ডিজাইনার । এই প্রোগ্রামিং ল্যাংগুয়েজ টি তৎকালীন ডেভলপ করেছিল Sun microsystem । বর্তমানে এটির Owner Oracle

জাভার ইতিহাস :

জাভার ইতিহাস শুরু হয় গ্রীন টিম এর সাথে । জাভা টিম মেম্বারের সদস্যরা গ্রীন টিম নামে পরিচিত ছিল।

জাভা প্রোগ্রামিং তৈররি প্রধান উদ্দেশ্য ছিল সহজ, Robust, Portable, স্বাধীন প্লাটফোর্ম, সিকিউরড, হাই পারফরমেন্স, মাল্টিথ্রেডেড, ওবজেক্ট ওরিয়েন্টেড, ইন্টারপ্রেটেড এবং ডাইনামিক।

বর্তমানে জাভা ইন্টারনেট প্রোগ্রামিং, মোবাইল ডিভাইস, গেমস, বিজনেস ইত্যাদি বিভিন্ন প্লাটফোর্মে ব্যাবহার করা হয়।
Sun microsystem এর ছোট্ট একটি টিম গ্রীন টিম জেমস গসলিং এর নেতৃত্বাধীন 1991 সালে জাভা প্রোজেক্ট সামনে নিয়ে আসেন। প্রথমে জেমস গসলিং এই প্রোগ্রামিং ল্যাংগুয়েজ এর নাম রেখেছিলেন Greentalk যার ফাইল এক্সটেনসন ছিল .gt ।

পরবর্তীতে এটাকে Oak নামকরন করা হয় এবং গ্রীন প্রোজেক্ট এর অংশ হিসেবে ডেভলপ করা হয়।

1995 সালে এটিকে পূনরায় নামকরন করা হয় “জাভা”। যা এখন পর্যন্ত এই নামেই ব্যাবহার হয়ে আসছে।

জাভা ফিচারস

জাভা প্রোগ্রামিং তৈরির উদ্দেশ্য ছিল এটিকে সহজ, রোবাস্ট, সিকিউরড করা ।জাভা একটি হাই লেভেল ওবজেক্ট ওরিয়েন্টড প্রোগ্রামিং ল্যাংগুয়েজ । এর আকর্ষনীয় আরো বেশ কিছু ফিচারস রয়েছে ।
এই চমৎকার ফিচারস গুলো জাভা ল্যাংগুয়েজ কে জনপ্রিয় করার ক্ষেত্রে বর ভূমিকা রেখেছে । নিচে কিছু গুরুত্বপূর্ণ ফিচারস দেওয়া হলো ।

জাভা একটি সহজ প্রোগ্রামিং ভাষা । এর সিনটেক্স সহজ কোড গুলো পরিষ্কার এবং সহজ বোধগম্য । Sun Microsystem এর মতে জাভা একটি সহজ প্রোগ্রামিং ভাষা কারণ , এর কোড C++ এর উপর ভিত্তি করে গরে তোলা হয়েছে ।যার ফলে C++ শিখার পর এটি শিখা অধিকতর সহজ ।
এতে রয়েছে অটোমেটিক Garbage Collection (gc). যা মেমোরি ম্যান্যাজম্যান্ট এর জন্য সহায়ক । জাভা এর আরো কিছু কঠিন ফিচারস বাদ দেওয়া হয়েছে ।যেমন এক্সপ্লিসিট পয়েন্টার, অপারেটর অভারলোডিং ।

জাভা একটি ওবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষা ।সব কিছুই জাভা এর মধ্য এক একটি ওবজেক্ট । ক্লাসের ভিতরে ওবজেক্ট গুলো থাকে ।
Object oriented programming(OOP) এর কিছু গুরুত্বপূণ্র কনসেপ্ট হলো :

OOP শিখতে হলে এই কনসেপ্ট গুলো ভালো ভাবে বুঝতে হবে ।

জাভা প্লাটফোর্ম একটি স্বাধীন প্লাটফোর্ম । এটি অন্যান্য ভাষা যেমন C, C++ এর থেকে আলাদা । অন্যান্য ভাষায় যেমন প্রত্যেকটা প্লাটফোর্ম এর জন্য আলাদা আলাদা কোড কমপাইল করা লাগে সে দিক থেকে জাভা একটি স্বাধীন ভাষা ।এটি একবার লিখেই সব প্লাটফোর্মে রান করা যায় । Write Once Run Anywhere (WORA).
এর কোড গুলো কমপাইল করে বাইট কোড এ রূপান্তর করে ।এই বাইট কোড গুলো সব প্লাটফোর্ম এর Java Virtual Machine (JVM) রান করতে পারে ।
দুই ধরনের প্লাটফোম্র রয়েছে । Software based platform এবং Hardware based Platform.।জাভা হলো Software based প্লাটফোম্র । এটার দুই ধরনের উপাদান রয়েছে ।

চার ধরনের জাভা রয়েছে ।

API (Application Programming Interface)

Java SE (Standard Edition)

Java SE হলো জাভার মূল বা Core. সহজ ভাষায় Java SE বুঝতে গেলে, যখন কেউ একজন জাভা ভাষা নিয়ে ভাবল বা চিন্তা করল তখন সে Java SE টাই চিন্তা করল ।
এতে রয়েছে জাভার কোর ফাংশনালিটি । আরো যুক্ত আছে JRE (Java Runtime Environment), জাভা ক্লাস, লাইব্রারি ।
এটা ব্যাবহার করা হয় ডেটাবেজ, GUI (Graphical user interface), XML Parsing ইত্যদি ।

Java EE (Enterprise Edition)

Java EE তে API এবং Runtime Environment দেওয়া হয়েছে Large Scale Application তৈরির জন্য । এটা ব্যাবহার করা হয় Multi Tiared, রলিয়াবল, Secure Networking ইত্যাদির জন্য ।

Java ME

আমরা বেশিরভাগই Java ME এর সাথে পরিচিত । Java ME হলো Java SE এর সাবসেট ।এটি একটি Embedded System. আমরা যে Cell Phone গুলো ব্যাবহার করি সেগুলোর বেশিরভাগ তে Java ME দেওয়া থাকে ।এতে Java SE এর কিছু Package রয়েছে ।যেমন,
java.lang.*;
java.util.*;
java.io.*; ইত্যাদি ।এটি মূলত একটি MIDlet বেসড প্রোগ্রামিং ।
MIDP (Mobile Information Device Profile) এবং CLDC (Connected Limited Device Configuration) এর মাধ্যমে Small ডিভাইস এর Application তৈরি করা হয় । MIDP এর Latest Version 2.1 এবং CLDC এর Latest Version 1.1। MIDP 1.0 তে শুধুমাত্র HTTP Support করে । MIDP 2.0 তে Secure Network HTTPS support করে ।
এতে UI রয়েছে LCDUI (Liquid Crystyle Display User Interface).
Package
javax.microedition.lcdui.*;

জাভার গুরুত্ব, কেন শিখব জাভা

জাভা একটি সহজ ভাষা ।এর কোড গুলো পরিষ্কার ।এর Syntax C++ এর উপর ভিত্তি করে তৈরি ।তাই C++ শিখার পর এটি শিখা সহজতর ।

6 বিলিয়ন এর ও বেশি ডিভাইস জাভা টেকনোলজি Use করে ।
এটি Cross Platform Development ও use করা হয় ।যেমন Web Application, Desktop Application, Mobile Application
অনেক বর বর Project গুলোতে Java Use করা হয়েছে ।যেমন
Nasa, Netflix, Uber, Spotify, Minecraft, LinkedIn, Android OS, Amazon etc.