ব্যাখ্যা
সঠিক উত্তর: (গ) Assembly Language
**ভূমিকা:**
প্রোগ্রামিং ভাষাগুলোকে সাধারণত তিনটি প্রজন্মে বিভক্ত করা হয়: **1G (মেশিন ল্যাঙ্গুয়েজ)**, **2G (অ্যাসেম্বলি ল্যাঙ্গুয়েজ)**, এবং **3G (হাই-লেভেল ল্যাঙ্গুয়েজ)**। এই শ্রেণিবিন্যাস প্রোগ্রামিং ভাষার বিকাশ ও জটিলতার উপর ভিত্তি করে করা হয়। এখন প্রশ্নে উল্লেখিত ভাষাগুলোর মধ্যে কোনটি 3G নয় তা নির্ধারণ করতে হবে।
---
**প্রোগ্রামিং ভাষার প্রজন্ম সম্পর্কে বিস্তারিত তথ্য:**
— **1G (প্রথম প্রজন্ম):** এটি মেশিন ল্যাঙ্গুয়েজ নামে পরিচিত, যা সরাসরি কম্পিউটারের বাইনারি কোডে লেখা হয়। উদাহরণ: **মেশিন কোড (010101...)**
— **2G (দ্বিতীয় প্রজন্ম):** এটি অ্যাসেম্বলি ল্যাঙ্গুয়েজ নামে পরিচিত, যা মানুষের পাঠযোগ্য সংক্ষিপ্ত নির্দেশাবলী ব্যবহার করে। উদাহরণ: **MOV, ADD, SUB**
— **3G (তৃতীয় প্রজন্ম):** এটি হাই-লেভেল ল্যাঙ্গুয়েজ নামে পরিচিত, যা মানুষের ভাষার কাছাকাছি এবং সহজে বোধগম্য। উদাহরণ: **C, C++, Java, Python**
— **4G (চতুর্থ প্রজন্ম):** এটি আরও উচ্চ স্তরের ভাষা, যা ডেটাবেস ম্যানেজমেন্ট সিস্টেম ও কুয়েরি ভাষায় ব্যবহৃত হয়। উদাহরণ: **SQL, MATLAB**
— **5G (পঞ্চম প্রজন্ম):** এটি কৃত্রিম বুদ্ধিমত্তা ও এক্সপার্ট সিস্টেমের জন্য ব্যবহৃত হয়। উদাহরণ: **Prolog, Lisp**
---
**বিভ্রান্তিকর বিকল্প বিশ্লেষণ:**
✗ **ক) C:** এটি একটি **3G ভাষা**, কারণ এটি মানুষের ভাষার কাছাকাছি এবং সহজে বোধগম্য। এটি স্ট্রাকচার্ড প্রোগ্রামিং ভাষা হিসেবে পরিচিত।
✗ **খ) Java:** এটি একটি **3G ভাষা**, কারণ এটি অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষা হিসেবে ব্যবহৃত হয় এবং মানুষের ভাষার কাছাকাছি।
✗ **ঘ) C++:** এটি একটি **3G ভাষা**, কারণ এটি C-এর উন্নত সংস্করণ হিসেবে অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং সমর্থন করে।
✓ **গ) Assembly Language:** এটি একটি **2G ভাষা**, কারণ এটি মানুষের পাঠযোগ্য সংক্ষিপ্ত নির্দেশাবলী ব্যবহার করে, যা সরাসরি মেশিন কোডে রূপান্তরিত হয়।
---
**উৎস:**
1. *Programming Language Pragmatics* – Michael L. Scott (Chapter 1: Language Design)
2. *Introduction to Programming Languages* – Thomas W. Parsons (3rd Edition, Chapter 2: Language Classification)
3. BCS Preliminary Examination Question Bank (2010-2023) – সাধারণ জ্ঞান বিভাগ