প্রোগ্রাম ও প্রোগ্রামিং ভাষা
কম্পিউটারকে দেওয়া ধারাবাহিক নির্দেশনার সমষ্টি হলো প্রোগ্রাম, আর যে ভাষায় তা লেখা হয় সেটি প্রোগ্রামিং ভাষা।
ভাষার স্তর
| স্তর | প্রজন্ম | বৈশিষ্ট্য |
|---|---|---|
| মেশিন ভাষা | ১ম (1GL) | শুধু 0 ও 1। কম্পিউটার সরাসরি বোঝে। লেখা কঠিন। |
| অ্যাসেম্বলি ভাষা | ২য় (2GL) | সংকেত (ADD, MOV) ব্যবহার। মেশিন নির্ভর। |
| উচ্চস্তরের ভাষা | ৩য় (3GL) | ইংরেজির কাছাকাছি। C, Java, Python। |
| অতি উচ্চস্তরের ভাষা | ৪র্থ (4GL) | কী চাই তা বলা হয়। যেমন SQL। |
| স্বাভাবিক ভাষা | ৫ম (5GL) | মানুষের ভাষার কাছাকাছি, AI-তে ব্যবহৃত। |
মেশিন ও অ্যাসেম্বলি হলো নিম্নস্তরের ভাষা। এগুলো দ্রুত চলে, কিন্তু উচ্চস্তরের ভাষা লেখা, বোঝা ও ভুল ধরা অনেক সহজ এবং এক মেশিনের প্রোগ্রাম অন্য মেশিনে সহজে চলে।
অনুবাদক প্রোগ্রাম
অন্য ভাষায় লেখা প্রোগ্রামকে (সোর্স কোড) মেশিন ভাষায় (অবজেক্ট কোড) রূপান্তরের প্রোগ্রামই অনুবাদক।
| বিষয় | কম্পাইলার | ইন্টারপ্রেটার |
|---|---|---|
| অনুবাদ | পুরো প্রোগ্রাম একসাথে | এক লাইন করে |
| গতি | রান দ্রুত | রান তুলনায় ধীর |
| ভুল দেখানো | অনুবাদের পর সবগুলো একসাথে | ভুল পেলেই থেমে যায় |
| অবজেক্ট ফাইল | তৈরি হয় | সাধারণত হয় না |
| উদাহরণ | C, C++ | Python, JavaScript |
অ্যাসেম্বলার অ্যাসেম্বলি ভাষাকে মেশিন ভাষায় রূপান্তর করে।
মনে রাখো: ভাষা যত উচ্চস্তরের, মানুষের জন্য তত সহজ; যত নিম্নস্তরের, মেশিনের তত কাছে।
অনুশীলনী
- মেশিন ভাষার দুটি সুবিধা ও দুটি অসুবিধা লেখো।
- কম্পাইলার ও ইন্টারপ্রেটারের তিনটি পার্থক্য লেখো।
- SQL কোন প্রজন্মের ভাষা এবং কেন?