আজকের এই আর্টিকেলে আমরা জানবো, “কম্পিউটার প্রোগ্রামিং কি” (what is computer programming) এবং “প্রোগ্রামিং ভাষা কাকে বলে“.
তাছাড়া, প্রোগ্রামিং ল্যাঙ্গুয়েজ কত প্রকার এবং সেগুলো কি কি এই বিষয়েও আমরা জেনেনিব।
একটি কম্পিউটার হলো এক আধুনিক ও উন্নত machine, যেটা অনেক কম সময়ের মধ্যে অসংখ্য গণনা (calculations) করে নিতে পারে।
এই অসংখ্য গণনা (calculations) গুলোর মাধ্যমেই কম্পিউটারের মধ্যে সম্পন্ন হয় বিভিন্ন কাজের।
একটি কম্পিউটার নিজে নিজে কোনো ধরণের কাজ করতে পারেনা।
আর তাই, কিছু বিশেষ নির্দেশ কম্পিউটারকে দিয়ে আমরা কম্পিউটারের মাধ্যমে যেকোনো কাজ (task) করিয়ে নিতে পারি।
এবং, কম্পিউটারকে দিয়ে যেকোনো কাজ (task) করানোর উদ্দেশ্যে প্রদান করা বা দেওয়া নির্দেশের এই প্রক্রিয়াটিকেই বলা হয় “কম্পিউটার প্রোগ্রামিং“.
কম্পিউটারকে কাজ করানোর উদ্দেশ্যে যেই instructions গুলো আমরা দিয়ে থাকি, সেগুলোকে বলা হয় “প্রোগ্রাম” (program).
আর যেই ব্যক্তি, কম্পিউটারের জন্য নির্দেশ বা প্রোগ্রাম তৈরি করে, তাকে বলা হয় “প্রোগ্রামার” (programmer).
“Programming কি” এবং “programming language কি”, যদি এই বিষয়ে আপনার জানা নেই,
আপনি একদম সঠিক জাগায় এসেছেন।
কারণ আজকের এই আর্টিকেল, কম্পিউটার প্রোগ্রামিং কাকে বলে এর মাধ্যমে আমি আপনাদের প্রোগ্রামিং এর সাথে জড়িত সম্পূর্ণ তথ্য দিয়ে দিবো।
আজকের এই আর্টিকেল আপনারা সম্পূর্ণ ভালো করে পড়ুন।
প্রোগ্রামিং এর বিষয়ে সম্পূর্ণ ভালো করে বুঝার জন্য আপনার জেনেনিতে হবে “programming language এর বিষয়ে”.
হে, “প্রোগ্রামিং ল্যাঙ্গুয়েজ” বা “প্রোগ্রামিং ভাষা“,
কম্পিউটার প্রোগ্রাম তৈরি করার জন্য যেই ভাষা গুলোর ব্যবহার করা হয়, সেগুলোকেই বলা হয় “প্রোগ্রামিং ভাষা”.
এখন এই আর্টিকেলে আমি তথ্য গুলো বাংলাতে লিখেছি। এবং, বাংলাতে লিখা প্রত্যেকটি শব্দ আপনারা সহজেই বুঝে যাচ্ছেন।
কিন্তু, আমাদের কম্পিউটার হলো একটি machine যেটা বাংলা, হিন্দি, ইংরেজি বা এই ধরণের ভাষা বুঝতে পারেনা।
Computer কেবল একটি ভাষা বুঝতে পারে যেটা হলো “binary language“.
Binary languages এর ক্ষেত্রে কেবল “0” এবং “1” ব্যবহার করা হয়।
তাই, কম্পিউটারকে নির্দেশ দেওয়ার ক্ষেত্রে আমাদের ব্যবহার করতে হবে এই বাইনারি ল্যাঙ্গুয়েজের।
নিচে প্রোগ্রামিং ভাষা কি এবং প্রোগ্রামিং ভাষা কত প্রকারের এই বিষয়েও বিস্তারিত ভাবে বলেছি।
কম্পিউটার প্রোগ্রামিং কি ? (What is programming in bangla)
Computer programming হলো এমন এক প্রক্রিয়া যেখানে কিছু বিশেষ ভাষার ব্যবহার করে কম্পিউটারের জন্য বিশেষ নির্দেশ (instructions) তৈরি করা হয়।
তৈরি করা সেই নির্দেশ গুলোর মাধ্যমে একটি কম্পিউটার তার করণীয় কাজ (task) গুলো করতে পারে।
সোজা ভাবে বললে,
কিছু বিশেষ কাজ করানোর উদ্দেশ্যে কম্পিউটারের জন্য বিভিন্ন নির্দেশ বা প্রোগ্রাম গুলো লিখা বা তৈরি করার প্রক্রিয়াকেই বলা হয় কম্পিউটার প্রোগ্রামিং।
যা আমি ওপরেই বলেছি,
একটি কম্পিউটার প্রোগ্রাম তৈরি করার ক্ষেত্রে সব থেকে জরুরি বিষয়টি হলো “programming language’.
কম্পিউটার কেবল বিশেষ প্রোগ্রামিং ল্যাঙ্গুয়েজ গুলোর মাধ্যমে তৈরি করা নির্দেশ গুলোকেই বুঝতে পারবে।
আমরা যেই human-based languages গুলো ব্যবহার করি, সেগুলো কম্পিউটার বুঝেনা।
তাই, কম্পিউটার নির্দেশ তৈরি করার ক্ষেত্রে আমরা Hindi, Bengali, English ইত্যাদি এই ধরণের ভাষাগুলো ব্যবহার করলে কাজ হবেনা।
Computer একটি মেশিন যেটা কেবল language এর binary ভাগটিকে বুঝতে পারে।
যেভাবে মানুষের জন্য, “human-based languages” রয়েছে, ঠিক সেভাবেই computer এর জন্য রয়েছে “programming languages”.
কেবল প্রোগ্রামিং ভাষা গুলো ব্যবহার করে তৈরি করা নির্দেশ বা প্রোগ্রাম গুলো কম্পিউটার বুঝতে পারে এবং সেই নির্দেশ হিসেবে কাজ করতে পারে।
এমনিতে প্রোগ্রামিং ল্যাঙ্গুয়েজের কিন্তু আলাদা আলাদা প্রকার রয়েছে যেগুলোর মাধ্যমে কম্পিউটারের সাথে সংযোগ স্থাপন করা যেতে পারে।
আমি আগেই বলেছি, language এর যেই ভাগটিকে কম্পিউটার বুঝতে পারে সেটা হলো “binary”.
আর তাই,
Programming languages এর মাধ্যমে তৈরি করা instructions বা program গুলোকে binary তে convert করা হয়।
Binary language এ convert করা এই প্রক্রিয়াটিকে বলা হয় “compiling”.
তাহলে, computer programming কি এই বিষয়ে হয়তো আপনারা বুঝতে পেরেছেন।
প্রোগ্রামিং ভাষা কি ? (What is programming language in Bangla)
Programming language এর বিষয়ে ওপরে আমি স্পষ্ট করে বলেই দিয়েছি।
কম্পিউটার আমাদের বলা ভাষা বুঝতে পারেনা।
তাই, যেকোনো কাজ করানোর ক্ষেত্রে সাধারণ human-based ভাষা ব্যবহার করে কম্পিউটারকে instructions দেওয়া সম্ভব না।
তবে, এক বিশেষ ধরণের ভাষা রয়েছে যেটা প্রত্যেকটি কম্পিউটার বুঝতে পারে।
সেটা হলো, “binary language”.
Binary language এর মধ্যে কেবল “1” এবং “0” ব্যবহার করা হয়।
আর তাই, এই ভাষা ব্যবহার করে কম্পিউটার প্রোগ্রাম না নির্দেশ তৈরি করাটা প্রচুর কষ্টের ব্যাপার।
কিন্তু, কিছু আধুনিক ও উন্নত ভাষা যেমন “C”, “C ++”, “Python”, “Java” ইত্যাদি ব্যবহার করে আমরা কম্পিউটারের জন্য নির্দেশ বা প্রোগ্রাম সহজেই তৈরি করতে পারি।
এবং শেষে, তৈরি করা program গুলোকে binary তে convert করে দেওয়া হয়।
ফলে, আপনার তৈরি করা নির্দেশ গুলো কম্পিউটার বুঝে যেতে পারে এবং সেই হিসেবে task গুলো করতে পারে।
এভাবেই, একটি কম্পিউটারের সাথে communicate করার ক্ষেত্রে, program গুলোকে তৈরি করার জন্য যেই ভাষা গুলোকে ব্যবহার করা হয়, সেই ভাষা গুলোকেই বলা হয় “programming language”.
Programming language এর classification
আপনার জন্য programming languages গুলোর basic classification গুলোর বিষয়ে জেনে রাখাটা অনেক জরুরি।
তাই জেনে রাখুন যে,
Programming languages গুলোকে মূলত ৩ টি ক্যাটেগরিতে classify করা যেতে পারে।
- Machine languages
- Assembly languages
- High-level languages
চলুন আমরা এখন এই প্রত্যেক classification গুলোর বিষয়ে জেনেনি।
Machine language কি ?
আগেকার সময়ে computer program তৈরি করার ক্ষেত্রে কেবল machine language ব্যবহার করা হতো।
তাই, এই ভাষাকে “first generation language” বলেও বলা হয়।
মেশিন ল্যাঙ্গুয়েজে ব্যবহার করে তৈরি করা কম্পিউটার প্রোগ্রামে কিছু “series of binary patterns” (e.g., 010011101) ব্যবহার করা হয়।
এই binary pattern গুলোর মাধ্যমেই কম্পিউটারের জন্য information, tasks এবং operations তৈরি করা হয়।
আমরা আগেই ওপরে বলেছি যে,
“কম্পিউটার কেবল binary language কে বুঝতে পারে”.
এবং এই binary ভাষার ক্ষেত্রে আমরা কম্পিউটারকে “0” এবং “1” ব্যবহার করে instructions দিয়ে থাকি, যাকে আমরা মেশিন ভাষা (machine language) বলা হয়।
কম্পিউটার সিস্টেম এর দ্বারা এই ভাষা সাংঘাতিক তাড়াতাড়ি execute করা হয়।
মানে, এই ভাষাতে তৈরি করা প্রোগ্রাম গুলো একটি কম্পিউটারের দ্বারা directly run করা যেতে পারে।
তবে, machine language ব্যবহার করে program তৈরি করার ক্ষেত্রে একজন programmer এর প্রচুর binary codes মনে রাখতে হবে।
আর, এতটা binary codes মনে রাখাটা প্রচুর কষ্টের ব্যাপার।
বর্তমান সময়ে আধুনিক programming languages ব্যবহার করা হয়, যেগুলো মনে রাখা সহজ।
যেকোনো অন্য প্রোগ্রামিং ভাষাতে লিখা প্রোগ্রাম গুলো প্রথমে মেশিন ভাষাতে রূপান্তর হয়ে তারপর execute হয়ে output প্রদান করে।
Assembly languages কি ?
আমাদের মানুষের জন্য প্রোগ্রামিং করাটা আরো সহজ এবং সরল করার উদ্দেশ্যেই এই প্রোগ্রামিং ভাষাটিকে আনা হয়েছিল।
এই ভাষাতে প্রোগ্রাম গুলোকে, Mnemonics হিসেবে লিখা হয়।
যেমন, “NOV”, “ADD”, “SUB” ইত্যাদি।
আমি আগেই বলেছি যে,
কম্পিউটার কেবল binary language বুঝতে পারে।
আর তাই,
এই assembly language গুলোকে ব্যবহারে আনার আগে machine language এ অনুবাদ করতে হয়।
কেবল তখন একটি কম্পিউটার সেই assembly ভাষা দিয়ে তৈরি করা প্রোগ্রামটি বুঝতে পারবে।
Assembly থেকে machine language এ অনুবাদ করার ক্ষেত্রে ব্যবহার করা অনুবাদকটিকে বলা হয় “assembler“.
High-level languages কি ?
High-level programming languages গুলো অনেক আধুনিক এবং সহজেই মনে রাখা যেতে পারে।
কারণ, এই ধরণের ভাষা যেমন, “C”, “C++”, “JAVA”, “PYTHON” ইত্যাদি English ভাষার মতোই।
English words, numbers এবং symbols ব্যবহার করে এই ভাষা লিখা হয়।
তাই, এই আধুনিক ভাষা গুলো প্রোগ্রামিং এর ক্ষেত্রে মনে রাখাটা অনেক সহজ হয়ে দাঁড়ায়।
এখন আপনারা হয়তো ভাবছেন যে,
কম্পিউটার তো কেবল machine language বুঝতে পারে, তাহলে এই ইংরেজি ভাষা গুলো কিভাবে বুঝবে।
আসলে, এই ক্ষেত্রে compiler এর ব্যবহার করা হয়।
Compiler ব্যবহার করে high level languages গুলোকে machine language এ অনুবাদ করা হয়।
High level languages গুই প্রকারের হতে পারে,
- Third Generation Programming Language
- Fourth Generation Programming Language
কিছু প্রোগ্রামিং ভাষার একটি তালিকা (list)
চলুন নিচে আমরা কিছু প্রোগ্রামিং ল্যাঙ্গুয়েজ গুলোর বিষয়ে জেনেনেই।
আলাদা আলাদা ভাষার উদ্দেশ্য আলাদা আলাদা হতে পারে।
তাই, আলাদা আলাদা ভাষা গুলোর বিষয়ে জেনে রাখাটা জরুরি।
১. Machine language: একটি কম্পিউটার ডিভাইস মূলত এই মেশিন ভাষাকেই বুঝতে পারে। এখানে binary codes ব্যবহার করা হয়।
২. Assembly language: মেশিন ভাষার তুলনায় এই ভাষা সহজ এবং সরল।
৩. High level languages: আধুনিক এবং বর্তমানে সব থেকে সহজ ভাষা প্রোগ্রামিং করার ক্ষেত্রে।
৪. System language: Memory এবং process management এর মতো low level instructions গুলোকে লিখার ক্ষেত্রে ব্যবহার করা হয়।
৫. Scripting languages: অনেক high level এবং শক্তিশালী ভাষা।
৬. Domain-scripting languages: কিছু বিশেষ specific area গুলোতে কাজ করার ক্ষেত্রে ব্যবহার করা হয়।
৭. Visual languages: এগুলো আসলে non-text based languages হয় যেখানে text ব্যবহার করা হয়না।
৮. Esoteric languages: এই ধরণের ভাষা গুলোকে ব্যবহার করার হয়না, তবে এগুলো education হিসেবে ধরা যেতে পারে।
প্রোগ্রামিং ভাষার প্রকার গুলো – (Types of programming languages)
প্রোগ্রামিং ল্যাঙ্গুয়েজের মূলত দুটো প্রকার হিসেবে বলা যেতে পারে।
- Low level language
- High level language
চলুন প্রকার গুলোকে বিস্তারিত ভাবে জানার চেষ্টা করি।
Low level language
Low level language গুলো একটি computer machine সোজা ভাবে বুঝতে পারে।
যেমন, machine language এবং assembly language গুলোকে low level language হিসেবে ধরা যেতে পারে।
এই প্রোগ্রামিং ভাষা গুলো একটি machine এর কাছাকাছি থাকে কিন্তু প্রোগ্রামার এর ক্ষেত্রে এই ভাষা গুলোকে ব্যবহার করা বা মনে রাখা অনেক কষ্টের ব্যাপার।
প্রোগ্রামিং এর ক্ষেত্রে, এই low level language গুলো তেমন একটি সুবিধের নয়।
তবে, যা আমি আগেই বললাম, একটি machine এই ভাষা অনেক সহজেই বুঝে নেয়।
High level language
Low level language এর বিপরীতে, এই high level language গুলো programmer দের জন্য অনেক সুবিধের এবং সহজেই এই ভাষা শেখা ও ব্যবহার করা যায়।
যেমন, JAVA STUDIO, FORTRAN, COBOL, C, C++, COBAL, JAVA, PYTHON ইত্যাদি, এগুলো হলো আধুনিক ও হাই লেভেল প্রোগ্রামিং ল্যাঙ্গুয়েজ।
তবে, এই হাই লেভেল ল্যাঙ্গুয়েজ গুলো একটি machine বা computer বুঝতে পারেনা।
আর তাই, high level language এর মাধ্যমে program তৈরি করার পর, সেগুলোকে binary language এ অনুবাদ করতে হয়।
প্রোগ্রামিং কিভাবে শিখব ?
COMPUTER PROGRAMMING LANGUAGE শিক্ষার জন্য, সবচে প্রথমে আপনার নিচে দেওয়া স্টেপ গুলো ভালো করে দেখতে হবে।
- প্রথমেই নিশ্চিত করতে হবে যে, আপনি কোন ল্যাঙ্গুয়েজটি শিখতে চাচ্ছেন। আমরা ওপরে পেয়েছি যে, প্রোগ্রামিং ভাষা বিভিন্ন প্রকারের রয়েছে।
- সবচে সহজ প্রোগ্রামিং ভাষা দিয়ে শুরু করুন।
- YouTube এবং অন্যান্য websites এর মাধ্যমে basic knowledge অর্জন করুন।
- Practice এর ক্ষেত্রে প্রয়োজনীয় software গুলো নিজের কম্পিউটার বা ল্যাপটপে ইনস্টল করুন।
- নিয়মিত ভাবে practice করতে হবে।
- নিজের প্রথম computer program তৈরি করার চেষ্টা করুন।
- একটি ভালো institute থেকে course অবশই করতে হবে।
- সময়ে সময়ে এই কোর্স করতে প্রচুর বিরক্তি লাগবে, তবে মন শক্ত করে practice চালিয়ে যেতে হবে।
- Udemy থেকে অনেক কম টাকা দিয়ে একটি video course কিনুন।
এভাবে, কিছু সাধারণ পদক্ষেপ নিয়ে আপনি সহজেই প্রোগ্রামিং শিখতে পারবেন।
প্রোগ্রামিং শিখে কি লাভ হবে ?
বর্তমান সময়ে কম্পিউটার প্রোগ্রামার দের চাহিদা প্রচুর।
এবং, প্রায় অনেক কম লোকেরা এই প্রোগামিং কোর্স গুলো করেন।
তাই, যদি আপনার মধ্যে প্রোগ্রামিং শেখার ইচ্ছে রয়েছে, তাহলে অবশই শিখেফেলুন।
কেননা, আসছে সময়ে একজন computer programmer এর চাহিদা প্রচুর থাকবে।
একজন কম্পিউটার প্রোগ্রামার হিসেবে আপনি,
- একটি IT কোম্পানিতে কাজ করতে পারবেন। এবং, IT company গুলোতে বেতন (salary) কিন্তু সাংঘাতিক বেশি।
- একজন freelancer হিসেবে কাজ করে আয় করতে পারবেন। অন্যদের জন্য প্রোগ্রাম তৈরি করতে পারবেন।
- Students দের প্রোগ্রামিং এর কোর্স করিয়ে আয় করতে পারবেন।
- একজন developer হয়ে দাঁড়াতে পারবেন।
- অন্যদের থেকে নিজেকে আলাদা রাখতে পারবেন।
আমাদের শেষ কথা,
তাহলে বন্ধুরা, আজকে আমরা শিখলাম “কম্পিউটার প্রোগ্রামিং কি” (what is programming in bangla) এবং “প্রোগ্রামিং ভাষা কাকে বলে”.
তাছাড়া, কম্পিউটার প্রোগ্রামিং এর প্রকার এবং এর সাথে জড়িত আরো অন্যান্য তথ্য আমরা জানলাম।
আশা করছি, computer programming নিয়ে লিখা আজকের এই আর্টিকেলটি আপনাদের ভালো লেগেছে।
যদি আর্টিকেল এর সাথে জড়িত কোনো সমস্যা বা পরামর্শ থাকে, তাহলে নিচে কমেন্ট করে অবশই জানিয়ে দিবেন।
তাছাড়া, আর্টিকেলটি ভালো লাগলে শেয়ার অবশই করবেন।
Also read:
- কম্পিউটারের ROM কি ?
- কম্পিউটারের র্যাম (ram) কি ?
- Computer এর ব্যবহার এবং উপকারিতা
- অপারেটিং সিস্টেম কি ?
Many many thanks vaiya