CodeGym /Java Course /মডিউল 1 /কম্পাইলার এবং বাইটকোড

কম্পাইলার এবং বাইটকোড

মডিউল 1
লেভেল 1 , পাঠ 1
বিদ্যমান

1. জাভা সবচেয়ে জনপ্রিয় প্রোগ্রামিং ভাষা

আপনি কি জানেন যে জাভা বিশ্বের সবচেয়ে জনপ্রিয় প্রোগ্রামিং ভাষা?

TIOBE র‌্যাঙ্কিং অনুসারে, জাভা প্রোগ্রামিং ভাষা বিশ্বের সমস্ত প্রোগ্রামারদের 17% এর বেশি ব্যবহার করে । C 16% নিয়ে দ্বিতীয় স্থানে আসে । 20 বছর আগে, যখন জাভা ভাষা সবেমাত্র হাজির হয়েছিল, তখন অবিসংবাদিত নেতা ছিলেন C++, কিন্তু এখন এর অংশ 7% এরও কম।

জাভা 1990-এর দশকের মাঝামাঝি সময়ে আবির্ভূত হয় এবং দ্রুত জনপ্রিয়তা লাভ করে। হাজার হাজার প্রোগ্রামাররা C++ থেকে জাভাতে স্যুইচ করেছে। যা শুধুমাত্র আবার নিশ্চিত করে যে জাভা একটি খুব দুর্দান্ত প্রোগ্রামিং ভাষা

তাই এটা সম্পর্কে এত শান্ত কি? এর নির্মাতারা এটিকে কী বৈশিষ্ট্য দিয়েছেন?

আপনি জাভা এবং C++ তুলনা করলে আপনি খুব অবাক হবেন: জাভা একটি ভারী ছাঁটা C++ এর সাথে খুব মিল!

হ্যাঁ, জাভা ল্যাঙ্গুয়েজটি কিছুটা হলেও C++ থেকে অনেক বেশি ছিটকে গেছে । যদি C++ আপনাকে 20টি উপায়ে কিছু করতে দেয়, তাহলে Java আপনাকে এটি শুধুমাত্র একটি উপায়ে করতে দেয় । তাই এখানে সুবিধা কি, আপনি জিজ্ঞাসা?

ঠিক আছে, আজকের প্রোগ্রামগুলি অনেক বড়, প্রোগ্রামাররা প্রায়শই তাদের 90% পর্যন্ত সময় ব্যয় করে অন্য লোকের লেখা কোড বোঝার জন্য। এবং নতুন কোড লেখার জন্য মাত্র 10% খরচ হয়। তাই হ্যাঁ, সরলতা একটি সুবিধা।


2. জাভা কম্পাইলার

যাইহোক, আপনি একাধিকবার শুনতে পাবেন যে জাভার অতুলনীয় সুবিধা হল এর প্ল্যাটফর্মের স্বাধীনতা । এটা কি এবং এটা কি জন্য, আপনি জিজ্ঞাসা? শুরু থেকে শুরু করা যাক।

একটি কম্পিউটার শুধুমাত্র সবচেয়ে সহজ কমান্ড চালাতে পারে।

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

কিন্তু শুধুমাত্র সংখ্যা ব্যবহার করে একটি প্রোগ্রাম লেখা সত্যিই কঠিন, তাই লোকেরা প্রোগ্রামিং ভাষা এবং কম্পাইলার আবিষ্কার করেছে । একটি প্রোগ্রামিং ভাষা মানুষ এবং কম্পাইলার উভয় দ্বারা বোঝা যায়। একটি কম্পাইলার একটি বিশেষ প্রোগ্রাম যা একটি প্রোগ্রামিং ভাষায় লিখিত একটি প্রোগ্রামকে মেশিন কোডের একটি সিরিজে রূপান্তর করে।

একজন প্রোগ্রামার সাধারণত একটি প্রোগ্রামিং ভাষায় একটি প্রোগ্রাম লেখে এবং তারপর একটি কম্পাইলার চালায়, যা প্রোগ্রামার দ্বারা লিখিত প্রোগ্রাম কোড ফাইলগুলিকে মেশিন কোড সহ একটি একক ফাইলে পরিণত করে - চূড়ান্ত (সংকলিত) প্রোগ্রাম।

  • C++ এ প্রোগ্রাম
  • কম্পাইলার
  • মেশিন কোড নিয়ে গঠিত একটি প্রোগ্রাম
C++ ভাষার জন্য সংকলন ধাপ

ফলাফল প্রোগ্রাম অবিলম্বে কম্পিউটার দ্বারা নির্বাহ করা যেতে পারে. খারাপ খবর হল চূড়ান্ত প্রোগ্রামের কোড দৃঢ়ভাবে প্রসেসর এবং অপারেটিং সিস্টেমের উপর নির্ভর করে। এর মানে হল যে উইন্ডোজের জন্য সংকলিত একটি প্রোগ্রাম একটি অ্যান্ড্রয়েড স্মার্টফোনে কাজ করবে না।

আপনি যদি অ্যান্ড্রয়েডের জন্য একটি প্রোগ্রাম লেখেন , তাহলে তা উইন্ডোজ অপারেটিং সিস্টেমে চলবে না !

যাইহোক, জাভা অনেক বেশি উদ্ভাবনী পদ্ধতি ব্যবহার করে।

  • জাভাতে প্রোগ্রাম
  • জাভা কম্পাইলার
  • বিশেষ স্বাধীন কোড (বাইটকোড) সমন্বিত একটি প্রোগ্রাম
  • জাভা ভিএম
  • মেশিন কোড নিয়ে গঠিত একটি প্রোগ্রাম
জাভা ভাষার জন্য সংকলন পর্যায়ে

একটি জাভা কম্পাইলার সমস্ত ক্লাসকে একটি মেশিন-কোড প্রোগ্রামে কম্পাইল করে না। পরিবর্তে, এটি প্রতিটি ক্লাসকে স্বাধীনভাবে কম্পাইল করে এবং আরও কী, মেশিন কোডে নয়, একটি বিশেষ মধ্যবর্তী কোডে (বাইটকোড)। প্রোগ্রাম শুরু হলে বাইটকোড মেশিন কোডে কম্পাইল করা হয়।

সুতরাং, যখন এটি কার্যকর করা হচ্ছে তখন কে মেশিন কোডে প্রোগ্রামটি কম্পাইল করে?

এর জন্য জাভা ভার্চুয়াল মেশিন (JVM) নামে একটি বিশেষ প্রোগ্রাম রয়েছে। এটি প্রথমে চালু হয় এবং তারপরে বাইটকোড নিয়ে গঠিত প্রোগ্রামটি। তারপর JVM প্রোগ্রামটি চালানোর আগে মেশিন কোডে বাইটকোড কম্পাইল করবে।

এটি একটি খুব শক্তিশালী পদ্ধতি এবং জাভার সম্পূর্ণ আধিপত্যের একটি কারণ।


3. এলাকা যেখানে জাভা প্রাধান্য

উপরে বর্ণিত সুবিধাগুলি জাভাতে লেখা প্রোগ্রামগুলিকে প্রায় যেকোনো ডিভাইসে চালানোর অনুমতি দেয় - কম্পিউটার, স্মার্টফোন, এটিএম, টোস্টার এবং ক্রেডিট কার্ড।

এই পদ্ধতির অনেক সুবিধা রয়েছে । এ কারণেই অ্যান্ড্রয়েড প্রোগ্রামগুলিও জাভাতে লেখা হয় । মোবাইল ফোন শিল্পের দ্রুত বৃদ্ধির জন্য ধন্যবাদ, জাভা প্রোগ্রামিং এর নিম্নলিখিত ক্ষেত্রগুলিতে আধিপত্য বিস্তার করে:

  1. এন্টারপ্রাইজ : ব্যাংক, কর্পোরেশন, বিনিয়োগ তহবিল, ইত্যাদির জন্য ভারী সার্ভার-ভিত্তিক অ্যাপ্লিকেশন।
  2. মোবাইল : মোবাইল ডেভেলপমেন্ট (স্মার্টফোন, ট্যাবলেট), অ্যান্ড্রয়েডকে ধন্যবাদ।
  3. ওয়েব : পিএইচপি নেতৃত্বে রয়েছে, তবে জাভা বাজারের একটি শক্ত অংশ দখল করেছে।
  4. বিগ ডেটা : হাজার হাজার সার্ভারের সমন্বয়ে ক্লাস্টারে বিতরণ করা কম্পিউটিং।
  5. স্মার্ট ডিভাইস : স্মার্ট হোম, ইলেকট্রনিক ডিভাইস, আইওটি রেফ্রিজারেটর ইত্যাদির জন্য প্রোগ্রাম।

জাভা শুধুমাত্র একটি ভাষা নয়, একটি সম্পূর্ণ ইকোসিস্টেম: লক্ষ লক্ষ রেডিমেড মডিউল যা আপনি আপনার প্রোগ্রামে ব্যবহার করতে পারেন। হাজার হাজার অনলাইন সম্প্রদায় এবং বার্তা বোর্ড যেখানে আপনি সাহায্য বা পরামর্শ পেতে পারেন।

আপনি জাভাতে যত বেশি প্রোগ্রাম লিখবেন, 'কেন জাভা?' প্রশ্নের তত বেশি উত্তর পাবেন। .

মন্তব্য
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION