আসসালামুয়ালাইকুম
প্রথমত, দুটি ল্যাংগুয়েজ সম্পূর্ণ ভিন্ন প্রেক্ষাপট এবং ভিন্ন উদ্দেশ্যে সৃষ্ট। জাভা তৈরি হয়েছিলো C++ এর সহজ অল্টারনেটিভ হিসেবে। তখনকার দিনে C++ ডেভেলপারদের মূল্য ছিলো খুবই বেশি, এবং নতুনদের জন্য C++ এর এডভান্স টপিক (বিশেষ করে পয়েন্টার এবং মেমরি ম্যানেজমেন্ট) শেখা খুবই কঠিন ব্যাপার ছিলো, তাছাড়া C++ এ Error Handling ছিলো দুঃস্বপ্নের মতো।
এইরকম পরিস্থিতি থেকে সবাইকে উদ্ধার করতেই জাভার জন্ম হয়। প্রথমেই এতে পয়েন্টার কনসেপ্ট উধাও করে দেয়া হয়, ম্যামরি ম্যানেজমেন্ট এর প্রায় পুরোটাই অটোমেটিক করে ফেলা হয় এবং অনেক এডভান্স এবং সহজ Error হ্যাণ্ডেলিং এর ফিচার ইন্ট্রডিউস করা হয়। ক্রস প্লাটফর্মের তাগিদে এর পুরো কার্যক্রম একটি ভার্চুয়াল ইকোসিস্টেম, JVM-এ আবদ্ধ করা হয়।
মজার ব্যাপার হলো, এর সিনট্যাক্স যাকে আপনি কঠিন ভাবছেন, তা তখনকার দিনে উপরন্তু সহজ এবং ইউজার-ফ্রেন্ডলি হিসেবে পরিচিতি পায়। জাভার সিনট্যাক্স বেশি হলেও তার কোনোটাই ফেলনা নয়, প্রত্যেকটা বাড়তি লাইন বা কি-ওয়ার্ড আপনাকে কম্পিউটারের মতো ভাবতে শিখায়।
অন্যদিকে পাইথন ইউজারকে অধিকতর কনট্রোল দেয়, যা কিনা ব্যবহারের ধরণ অনুযায়ী সুবিধা কিংবা অসুবিধা দুইই হতে পারে। পাইথনের সহজ সিনট্যাক্সের কারণে একে দৈনন্দিন কাজে ব্যবহার করা সহজ হলেও প্রজেক্টের পরিধি বাড়ার সাথে সাথে এর সরলতা বজায় নাও থাকতে পারে।
এর আগেও একটা উত্তরে বলেছিলাম, পাইথন শুধু দেখতেই সহজ। এর working process কিন্তু সিনট্যাক্সের মতো অত সোজা সাপটা নয়। পাইথন কোড প্রথমে ইন্ডিপেন্ডেন্ট বাইটকোডে পরিণত হয়, কিন্তু এই অবস্থায় এটি ফাংশনাল থাকেনা… একে CPython (যা কিনা C তে লেখা) এ ইন্টারপ্রেট করে নিলে তবেই তা ইন্সট্রাকশন হিসেবে মেশিন লেভেল পর্যন্ত পৌছাতে পারে।
জাভা ক্রিয়েট করতে গিয়ে কেউ সংক্ষিপ্ত সিনট্যাক্স কে প্রাধান্য দেয়নি, এটির প্রধান লক্ষ্য ছিলো ভার্সেটিলিটি। মূলত ক্রস-প্লাটফর্মিং সুবিধার জন্য জাভা পাইথনের তুলনায় কম declarative এবং অধিক imperative অ্যাপ্রোচ গ্রহণ করে।
রেজিস্ট্রেশন করতে এখানে ক্লিক করুন
Website Address:
https://Feedbd.xyz