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

what is programming language
Photo by Mikhail Nilov from pexels.com

📝 ) প্রোগ্রামিং ল্যাঙ্গুয়েজ (what is programming language)

প্রোগ্রাম হল কতকগুলি ধারাবাহিক নির্দেশের একটি সংকলন, যার সাহায্যে একসঙ্গে একাধিক কাজ সম্পন্ন করা হয়। কম্পিউটারে যে ভাষা বা ল্যাঙ্গুয়েজ এর সাহায্যে প্রোগ্রাম লেখা হয় বা প্রোগ্রামিং করা হয়। সেই ভাষাকে প্রোগ্রামিং ল্যাংগুয়েজ বলা হয়। যেমন- Basic, C++, Java, Pascal ইত্যাদি।

🔠 প্রোগ্রামিং ল্যাঙ্গুয়েজের প্রকারভেদ (programming language type)

প্রোগ্রামিং ল্যাঙ্গুয়েজকে প্রধানত দুইভাগে ভাগ করা যায়—সিস্টেম প্রোগ্রামিং ল্যাঙ্গুয়েজ এবং অ্যাপ্লিকেশন প্রোগ্রামিং ল্যাঙ্গুয়েজ।

what is programming language
Photo from modern computer application book by Anupam Karmakar

👉 সিস্টেম প্রোগ্রামিং ল্যাঙ্গুয়েজ (System Programming Language)

সমস্ত সিস্টেম সফ্টওয়্যারগুলি লেখা হল সিস্টেম প্রোগ্রামিং ভাষা ব্যবহার করে। সিস্টেম প্রোগ্রাম যেমন অপারেটিং সিস্টেম তৈরি করেন কম্পিউটার পেশাদারেরা (Professionals)। এই প্রোগ্রাম কম্পিউটারের বিভিন্ন অংশকে নিয়ন্ত্রণ করে এবং সফটওয়্যার ও হার্ডওয়্যারের মধ্যে সংযোগ স্থাপন করে।

1. অ্যাপ্লিকেশন প্রোগ্রামিং ল্যাঙ্গুয়েজ

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

  • (i) হাই-লেভেল ল্যাঙ্গুয়েজ
  • (ii) লো-লেভেল ল্যাঙ্গুয়েজ
  • (iii) অ্যাসেম্বলি ল্যাঙ্গুয়েজ
(i) হাই-লেভেল ল্যাঙ্গুয়েজ (High Level Language): 

যে ল্যাঙ্গুয়েজ সহজে বোঝা যায় এবং সরল ইংরেজি ভাষায় নির্দেশ লিখে প্রোগ্রাম তৈরি করা হয়, সেই ল্যাঙ্গুয়েজকে হাই-লেভেল প্রোগ্রামিং ল্যাঙ্গুয়েজ বলা হয়। যেমন – BASIC, JAVA, programming language C, C++, PASCAL, COBOL, LOGO ইত্যাদি।

 👉 হাই-লেভেল ল্যাঙ্গুয়েজের সুবিধা (Advantages of High Level Language)

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

👉 হাইলেভেল ল্যাঙ্গুয়েজের অসুবিধা (Disadvantages of High Level Language)

  • এই ভাষা সরাসরি কম্পিউটার বুঝতে পারে না বলে কম্পাইলার দ্বারা মেশিন কোডে (মেশিন ল্যাঙ্গুয়েজে) পরিবর্তন করতে হয়।
  • এই ভাষা মেশিন ল্যাঙ্গুয়েজের ন্যায় প্রোগ্রাম অত দ্রুত সম্পন্ন করতে পারে না।
(ii) লো-লেভেল ল্যাঙ্গুয়েজ (Low Level Language) :

 লো-লেভেল ল্যাঙ্গুয়েজ একটি মেশিন ল্যাঙ্গুয়েজ, যার নির্দেশগুলি বাইনারি সংখ্যার (0 এবং 1 দ্বারা) দ্বারা নির্দেশিত হয় অর্থাৎ 0 এবং 1 দিয়ে লিখিত প্রোগ্রামকে বলা হয় লো-লেভেল ল্যাঙ্গুয়েজ বা মেশিন ল্যাঙ্গুয়েজ। উদাহরণ – বিভিন্ন অ্যাসেম্বলি ল্যাঙ্গুয়েজ।

👉লো-লেভেল ল্যাঙ্গুয়েজের সুবিধা (Advantages of Low Level Language)

  • মেশিন ল্যাঙ্গুয়েজে লিখিত প্রোগ্রাম খুব দ্রুততার সঙ্গে সম্পাদিত হয়। কারণ কম্পিউটার এই ভাষা নিজেই বুঝতে পারে।
  • এই ভাষার প্রোগ্রামের জন্য কোনো অনুবাদকের (translator) প্রয়োজন হয় না।

👉 লো-লেভেল ল্যাঙ্গুয়েজের অসুবিধা (Disadvantages of Low Level Language)

  • এই ভাষা মেশিনের উপর নির্ভরশীল। বিভিন্ন মেশিনের ক্ষেত্রে মেশিন ল্যাঙ্গুয়েজ বিভিন্ন হয়।
  • মেশিন ল্যাঙ্গুয়েজে প্রোগ্রাম লেখা কষ্টসাধ্য।
  • এই ল্যাঙ্গুয়েজে প্রোগ্রাম তৈরি করা সময়সাপেক্ষ।
  • এতে প্রোগ্রামারকে মেশিনটির হার্ডওয়্যার সম্বন্ধে পরিচিত থাকতে হয়।
  • এই ভাষায় নির্দেশগুলি জটিল হওয়ায় ত্রুটি নির্ধারণ ও সংশোধন করা বেশ কষ্টসাধ্য।
(iii) অ্যাসেম্বলি ল্যাঙ্গুয়েজ (Assembly Language) :

 অ্যাসেম্বলি ল্যাঙ্গুয়েজ হল মেশিন ল্যাঙ্গুয়েজ ও হাই-লেভেল ল্যাঙ্গুয়েজের মধ্যবর্তী ভাষা। অ্যাসেম্বলি ল্যাঙ্গুয়েজ বাইনারি কোডের পরিবর্তে নিমোনিক কোড (mnemonic) ব্যবহৃত হয়। নিমোনিক কোড়ে কোনো নাম বা চিহ্ন (Symbol)-কে কোড হিসাবে ব্যবহার করা হয়। অ্যাসেম্বলি ল্যাঙ্গুয়েজ-এর একটি নির্দেশের এক, দুই বা তিনটি অংশ থাকে। সেগুলি হল অপারেশন কোড্ বা অপ্-কোড (Op-code), ডাটা (Data) এবং মেমোরি ঠিকানা (Memory address)। উদাহরণ – MVI A 30H – ডাটা 30H কে অ্যাকুমুলেটরে (Accumulator) পাঠাও।

👉অ্যাসেম্বলি ল্যাঙ্গুয়েজের সুবিধা (Advantages of Assembly Language)

  • নিমোনিক কোড ব্যবহৃত হওয়ায় প্রোগ্রাম লেখা সহজ।অ্যাসেম্বলি ল্যাঙ্গুয়েজ মেশিন ল্যাঙ্গুয়েজ-এর তুলনায় সহজবোধ্য ।
  • এই ভাষায় লেখা প্রোগ্রামগুলি হাই-লেভেল ল্যাঙ্গুয়েজের তুলনায় দ্রুত সম্পাদিত হয়। অ্যাসেম্বলি ল্যাঙ্গুয়েজের অসুবিধা (Disadvantages of Assembly Language)
  • প্রোগ্রাম লেখা কষ্টকর এবং সময়সাপেক্ষ।অ্যাসেম্বলি ল্যাঙ্গুয়েজ মেশিন নির্ভরশীল, বিভিন্ন মেশিনের ক্ষেত্রে ভাষার পরিবর্তন হয়।
  • এক মেশিনের ক্ষেত্রে লেখা প্রোগ্রাম অন্য মেশিনে নাও চলতে পারে। 
  • এই ভাষায় প্রোগ্রামগুলি আকারে বড়ো হয়।
  • এই ভাষায় প্রোগ্রাম লেখার জন্য হার্ডওয়্যার সম্পর্কে বিশেষ জ্ঞান থাকা প্রয়োজন।

👉অ্যাসেম্বলি ল্যাঙ্গুয়েজের সুবিধা (Advantages of Assembly Language)

  • প্রোগ্রাম লেখা কষ্টকর এবং সময় সাপেক্ষ।
  • অ্যাসেম্বলি ল্যাংগুয়েজ মেশিন নির্ভরশীল, বিভিন্ন মেশিনের ক্ষেত্রে ভাষার পরিবর্তন হয়।
  • এক মেশিনের ক্ষেত্রে লেখা প্রোগ্রাম অন্য মেশিনের নাও চলতে পারে।
  • এই ভাষায় প্রোগ্রামগুলি আকারে বড় হয়।
  • এই ভাষায় প্রোগ্রাম লেখার জন্য হার্ডওয়্যার সম্পর্কে বিশেষ জ্ঞান থাকা প্রয়োজন।

FAQ

প্রোগ্রামিং ল্যাঙ্গুয়েজের আবিষ্কর্তা কে?

অ্যাডা লাভলেস এবং চার্লস ব্যাবেজ দুইজন মিলে 1983 সালে প্রথম প্রোগ্রামিং ভাষা ডেভলপ করেন

java ল্যাঙ্গুয়েজের এর আবিষ্কর্তা কে?

জেমস গসলিং ছিলেন জাভা ল্যাঙ্গুয়েজ এর প্রথম আবিষ্কর্তা। যিনি 1942 সালের দিকে প্রথম জাভা ল্যাঙ্গুয়েজ আবিষ্কার করেন।

what is programming language?

প্রোগ্রাম হল কতকগুলি ধারাবাহিক নির্দেশের একটি সংকলন, যার সাহায্যে একসঙ্গে একাধিক কাজ সম্পন্ন করা হয়। কম্পিউটারে যে ভাষা বা ল্যাঙ্গুয়েজ এর সাহায্যে প্রোগ্রাম লেখা হয় বা প্রোগ্রামিং করা হয়। সেই ভাষাকে প্রোগ্রামিং ল্যাংগুয়েজ বলা হয়। যেমন- Basic, C++, Java, Pascal ইত্যাদি।

programming language c tutorial?

এটি একটি সাধারণ উদ্দেশ্যমূলক কম্পিউটার ল্যাঙ্গুয়েজ। 1972 সালে ডেনিস রিচি  সি(c) ল্যাঙ্গুয়েজ ডেভেলপ করেন। বিভিন্ন ধরনের অপারেটিং সিস্টেম এবং সফটওয়্যার তৈরি করতে এই ল্যাঙ্গুয়েজ ব্যাপকভাবে ব্যবহৃত হয়।

programming language list

বিভিন্ন ধরনের প্রোগ্রামিং ল্যাঙ্গুয়েজ রয়েছে যেমন – BASIC, JAVA, programming language C, C++, PASCAL, COBOL, LOGO, Python, Go, Kotlin, PHP. ইত্যাদি।

Leave a Reply

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