প্রোগ্রামিং ভাষার ধাপ এবং প্রকারভেদ

প্রোগ্রামিং ভাষার ধাপ এবং প্রকারভেদ

কম্পিউটার সিস্টেমের দুটি অংশ

  1. হার্ডওয়্যার: মনিটর, প্রসেসর, RAM, ROM, হার্ডডিস্ক ইত্যাদি।

  2. সফটওয়্যার: প্রোগ্রামসমূহ যা হার্ডওয়্যারকে নিয়ন্ত্রণ করে।

মন্তব্য: সফটওয়্যার ছাড়া হার্ডওয়্যার প্রাণহীন।


প্রোগ্রাম কী?

যন্ত্রকে কোনো সমস্যা সমাধানের জন্য ধারাবাহিক নির্দেশনা দেওয়া হয়, যেটিকে প্রোগ্রাম বলা হয়।

প্রোগ্রামার কে?

যে ব্যক্তি প্রোগ্রামিং ভাষা ব্যবহার করে নির্দেশনা দেয়, তাকে প্রোগ্রামার বলা হয়।

বিশ্বের প্রথম প্রোগ্রামার: অ্যাডা অগাস্টা লভলেস


প্রোগ্রামিং ভাষা কী?

যন্ত্রকে নির্দেশনা দেওয়ার জন্য ব্যবহৃত ভাষা।


প্রোগ্রামিং ভাষার প্রজন্ম

প্রজন্ম সাল ভাষা উদাহরণ বৈশিষ্ট্য
1GL 1945-1950 Machine Language (0 ও 1) সরাসরি কম্পিউটার বুঝতে পারে, নিম্নস্তরের ভাষা
2GL 1950-1960 Assembly Language সাংকেতিক কোড (Mnemonic), অনুবাদক প্রয়োজন, নিম্নস্তরের ভাষা
3GL 1960-1970 C, C++, Java, Python, Basic, Pascal উচ্চস্তরের ভাষা, মানুষের কাছে সহজ, অনুবাদক প্রয়োজন
4GL 1970-1980 SQL, Perl, Python, MatLab অতি উচ্চস্তরের, ডোমেইন নির্দিষ্ট, প্রোগ্রামার ফ্রেন্ডলি
5GL 1980-বর্তমান PROLOG, LISP, Mercury স্বাভাবিক ভাষা, AI প্রোগ্রামিং, ইন্টেলিজেন্ট কম্পাইলার

প্রোগ্রামিং ভাষার স্তরভিত্তিক বিভাগ

স্তর উদাহরণ বৈশিষ্ট্য
নিম্নস্তর (Low Level) Machine, Assembly হার্ডওয়্যার সংবেদনশীল
মধ্যমস্তর (Mid Level) C, C++, Java হার্ডওয়্যার + উচ্চস্তরের সুবিধা
উচ্চস্তর (High Level, 3GL) Fortran, Basic, Pascal, C, C++, Java, Python মানুষের কাছে সহজ, যন্ত্র নির্ভর নয়
অতি উচ্চস্তর (Very High Level, 4GL) Perl, SQL, Python, MatLab ডোমেইন নির্দিষ্ট, non-procedural

১ম প্রজন্ম – মেশিন ভাষা (Machine Language)

  • শুধু 0 ও 1 ব্যবহার করে প্রোগ্রাম লেখা হয়।

  • সুবিধা: সরাসরি কম্পিউটারের সঙ্গে যোগাযোগ, দ্রুত কার্যকর, কম মেমোরি লাগে।

  • অসুবিধা: শেখা কঠিন, ডিবাগিং কঠিন, যন্ত্র নির্ভর।

উদাহরণ: দুই সংখ্যা যোগ করা – 1010 1100 (ধারণার জন্য)


২য় প্রজন্ম – অ্যাসেম্বলি ভাষা (Assembly Language)

  • Mnemonic/সাংকেতিক কোড: SUB, ADD, MUL, DIV, LDA ইত্যাদি।

  • প্রোগ্রামের অংশ: Label, Opcode, Operand, Comment

সুবিধা: সহজে লেখা যায়, ত্রুটি শনাক্ত করা সহজ।
অসুবিধা: যন্ত্র নির্ভর, অনুবাদক প্রয়োজন।


৩য় প্রজন্ম – উচ্চস্তরের ভাষা (High Level Language, 3GL)

  • মানুষের ভাষার কাছাকাছি, যন্ত্র নির্ভর নয়।

  • ভাগ: General Purpose (C, Java, Python), Special Purpose (FORTRAN, LISP)

  • নির্বাহ: Compiled (C, C++), Interpreted (Python, Ruby)

  • ডিজাইন মডেল: Procedure (C, FORTRAN), Object-Oriented (C++, Java, C#)

সুবিধা: সহজ, ত্রুটি কম, যন্ত্রের অভ্যন্তরীণ জানা প্রয়োজন নেই।
অসুবিধা: সরাসরি কম্পিউটারে চলে না, অনুবাদক প্রয়োজন, ধীর, বেশি মেমোরি লাগে।


উচ্চস্তরের জনপ্রিয় ভাষা উদাহরণ

ভাষা প্রকাশ বৈশিষ্ট্য
FORTRAN 1957 গাণিতিক হিসাব, প্রকৌশল
ALGOL 1958 Algorithm প্রকাশ, Scientific computing
C 1972 Mid-level, Procedural, System + Application
C++ 1985 Object-Oriented, Mid-level, System + Application
Python 1990 Interpreted, High-level, Object-Oriented, Data science & AI
Visual BASIC 1991 GUI, Event-driven, Object-Oriented
Java 1995 Object-Oriented, Platform-independent, Web & App development

৪র্থ প্রজন্ম – 4GL

  • Database & Script oriented, non-procedural, domain-specific

  • উদাহরণ: SQL, Python, MatLab, Perl

ব্যবহার: Database management, GUI, Web development, Report generation


৫ম প্রজন্ম – 5GL

  • AI & Expert System oriented, Natural language support

  • উদাহরণ: PROLOG, LISP, Mercury

    ১। কোন ভাষায় লিখিত প্রোগ্রামের জন্য অনুবাদক প্রোগ্রামের প্রয়োজন হয় না?
    ক) মেশিন ভাষা
    খ) উচ্চস্তরের ভাষা
    গ) অ্যাসেম্বলি ভাষা
    ঘ) স্বাভাবিক ভাষা
    উত্তর: ক) মেশিন ভাষা

    ২। কোন ভাষা কম্পিউটারে সরাসরি ব্যবহার করা যায় এবং ০ ও ১ দিয়ে লেখা হয়?
    ক) মেশিন ভাষা
    খ) অ্যাসেম্বলি ভাষা
    গ) উচ্চস্তরের ভাষা
    ঘ) অতি উচ্চস্তরের ভাষা
    উত্তর: ক) মেশিন ভাষা

    ৩। সাংকেতিক চিহ্ন দিয়ে লেখা ভাষা কোনটি?
    ক) যান্ত্রিক ভাষা
    খ) অ্যাসেম্বলি ভাষা
    গ) উচ্চস্তরের ভাষা
    ঘ) চতুর্থ প্রজন্মের ভাষা
    উত্তর: খ) অ্যাসেম্বলি ভাষা

    ৪। কোন ভাষা মানুষের জন্য সহজ এবং যন্ত্র নির্ভর নয়?
    ক) মেশিন ভাষা
    খ) অ্যাসেম্বলি ভাষা
    গ) উচ্চস্তরের ভাষা
    ঘ) স্বাভাবিক ভাষা
    উত্তর: গ) উচ্চস্তরের ভাষা

    ৫। নিম্নস্তরের ভাষার উদাহরণ কোনটি?
    ক) C++
    খ) অ্যাসেম্বলি
    গ) Python
    ঘ) SQL
    উত্তর: খ) অ্যাসেম্বলি

    ৬। নিম্নস্তরের ভাষার সবচেয়ে বড় অসুবিধা কী?
    ক) দ্রুত চলতে পারে
    খ) যন্ত্র নির্ভর
    গ) সহজে শেখা যায়
    ঘ) কম মেমোরি লাগে
    উত্তর: খ) যন্ত্র নির্ভর

    ৭। কোন প্রজন্মের ভাষা অতি উচ্চস্তরের ভাষা (Very High Level Language)?
    ক) ১ম প্রজন্ম
    খ) ২য় প্রজন্ম
    গ) ৪র্থ প্রজন্ম
    ঘ) ৫ম প্রজন্ম
    উত্তর: গ) ৪র্থ প্রজন্ম

    ৮। মেশিন ভাষায় লেখা প্রোগ্রামকে কী বলা হয়?
    ক) সোর্স কোড
    খ) অবজেক্ট কোড
    গ) নেমোনিক কোড
    ঘ) হাই-লেভেল কোড
    উত্তর: খ) অবজেক্ট কোড

    ৯। উচ্চস্তরের ভাষার উদাহরণ কোনটি?
    ক) Python
    খ) অ্যাসেম্বলি
    গ) মেশিন ভাষা
    ঘ) None
    উত্তর: ক) Python

    ১০। কোন ভাষায় প্রোগ্রাম দ্রুত নির্বাহ হয় এবং কম মেমোরি লাগে?
    ক) মেশিন ভাষা
    খ) উচ্চস্তরের ভাষা
    গ) অ্যাসেম্বলি ভাষা
    ঘ) ৪র্থ প্রজন্মের ভাষা
    উত্তর: ক) মেশিন ভাষা

    ১১। কোন ভাষা ব্যবহার করে যন্ত্রের অভ্যন্তরীণ কাঠামো জানতে হয়?
    ক) মেশিন ভাষা
    খ) অ্যাসেম্বলি ভাষা
    গ) উচ্চস্তরের ভাষা
    ঘ) অতি উচ্চস্তরের ভাষা
    উত্তর: খ) অ্যাসেম্বলি ভাষা

    ১২। নিম্নস্তরের ভাষার উদাহরণ কোনটি?
    ক) C
    খ) Python
    গ) মেশিন ভাষা
    ঘ) SQL
    উত্তর: গ) মেশিন ভাষা

    ১৩। C++ ভাষার ধরন কোনটি?
    ক) অবজেক্ট ওরিয়েন্টেড ও মিড-লেভেল
    খ) শুধুমাত্র প্রসিডিউরাল
    গ) ৪র্থ প্রজন্মের ভাষা
    ঘ) মেশিন ভাষা
    উত্তর: ক) অবজেক্ট ওরিয়েন্টেড ও মিড-লেভেল

    ১৪। ৪র্থ প্রজন্মের ভাষা কোন কাজের জন্য বেশি ব্যবহৃত হয়?
    ক) ডেটাবেস ম্যানেজমেন্ট
    খ) অ্যালগরিদম লেখা
    গ) মেশিনের সাথে সরাসরি যোগাযোগ
    ঘ) নিম্নস্তরের হাই-স্পিড প্রোগ্রাম
    উত্তর: ক) ডেটাবেস ম্যানেজমেন্ট

    ১৫। কোন ভাষা ব্যবহার করে এক কম্পিউটারের প্রোগ্রাম অন্য কম্পিউটারে ব্যবহার করা যায়?
    ক) মেশিন ভাষা
    খ) অ্যাসেম্বলি ভাষা
    গ) উচ্চস্তরের ভাষা
    ঘ) ১ম প্রজন্মের ভাষা
    উত্তর: গ) উচ্চস্তরের ভাষা

    ১৬। কোন প্রজন্মের ভাষা স্বাভাবিক ভাষার কাছাকাছি এবং AI ভিত্তিক?
    ক) ৩য় প্রজন্ম
    খ) ৪র্থ প্রজন্ম
    গ) ৫ম প্রজন্ম
    ঘ) ২য় প্রজন্ম
    উত্তর: গ) ৫ম প্রজন্ম

    ১৭। ‘নেমোনিক’ বলতে কী বোঝায়?
    ক) ০ ও ১
    খ) প্রতীকী কোড বা সংকেত
    গ) প্রোগ্রামের ত্রুটি
    ঘ) ডেটাবেস
    উত্তর: খ) প্রতীকী কোড বা সংকেত

    ১৮। নিম্নস্তরের ভাষার উদাহরণ কোনটি?
    ক) FORTRAN
    খ) C
    গ) মেশিন ভাষা
    ঘ) SQL
    উত্তর: গ) মেশিন ভাষা

    ১৯। কোন ভাষা ব্যবহার করা সহজ, প্রোগ্রাম ত্রুটি কম হয় এবং যন্ত্র নির্ভর নয়?
    ক) অ্যাসেম্বলি
    খ) মেশিন ভাষা
    গ) উচ্চস্তরের ভাষা
    ঘ) ৫ম প্রজন্মের ভাষা
    উত্তর: গ) উচ্চস্তরের ভাষা

    ২০। নিম্নস্তরের ভাষার জন্য প্রয়োজনীয় জ্ঞান কোনটি?
    ক) কম্পিউটারের অভ্যন্তরীণ কাঠামো ও অপকোড
    খ) কেবল ইংরেজি ভাষার জ্ঞান
    গ) সাধারণ অ্যালগরিদম
    ঘ) Report generation
    উত্তর: ক) কম্পিউটারের অভ্যন্তরীণ কাঠামো ও অপকোড

Facebook
Twitter
Email
Print

Leave a Reply

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