15/09/2022
আমরা যখন চিন্তা করি প্রোগ্রামিং শুরু করবো, বড় প্রোগ্রামার হবো। তাহলে আমাদেরকে আগে জানতে হবে প্রোগ্রামিং টা আসলে কি, কেনো করে, এটা দিয়ে কি কি করা যেতে পারে এবং এটা শিখতে গেলে আমাদের কি কি জিনিস জানতে হবে ইত্যাদি বিষয় গুলো আমি নিজের ভাষায় বুঝানোর চেষ্টা করেছি ।
প্রোগ্রামিং কাকে বলে?
সহজ ভাষায় বলতে গেলে, মেশিন এবং মানুষের মাঝখানে যেটা কমিনিউকেট করে সেটাই প্রোগ্রামিং ল্যাংগুয়েজ। আরো একটু সুন্দর করে বললে, প্রোগ্রামিং হলো এমন একটি প্রক্রিয়া যার মাধ্যমে আমরা কম্পিউটারকে কোনো একটি কাজ করতে নির্দেশ দিয়ে থাকি।
প্রোগ্রামিং এ অনেক ধরনের প্রোগ্রামিং ল্যাংগুয়েজ আছে,
এখানে কয়েকটি জনপ্রিয় প্রোগ্রামিং ভাষা রয়েছেঃ পাইথন, জাভাস্ক্রিপ্ট, সি/সি++, জাভা, সি #, রুবি, পিএইচপি ইত্যাদি।
কম্পিউটার ল্যাংগুয়েজের কে ৩ ভাগে ভাগ করা হয়েছে:
১। লো-লেভেল ল্যাঙ্গুয়েজ
২। মিড লেভেল ল্যাঙ্গুয়েজ
৩। হাই লেভেল ল্যাঙ্গুয়েজ
১। লো-লেভেল ল্যাঙ্গুয়েজ কাকে বলে?
লো-লেভেল ল্যাঙ্গুয়েজ মূলত মেশিন-নির্ভরশীল (০ এবং ১)বাইনারি। প্রসেসর একটি কম্পাইলার বা ইন্টারপ্রেটারের প্রয়োজন ছাড়াই সরাসরি লো-লেভেল প্রোগ্রাম পরিচালনা করে, তাই লো-লেভেল ল্যাঙ্গুয়েজে লেখা প্রোগ্রামগুলি খুব দ্রুত চালানো যেতে পারে।
লো-লেভেল ল্যাঙ্গুয়েজ কে আরও দুটি ভাগে বিভক্ত করা হয় –
১. মেশিন ল্যাংগুয়েজঃ
মেশিন ল্যাংগুয়েজ লো-লেভেল প্রোগ্রামিং ল্যাংগুয়েজের একটি অংশ। এটি মেশিন কোড বা বস্তু কোড হিসাবে বলা হয়। মেশিন ভাষাটি পড়তে সহজ, কারণ এটি সাধারণত বাইনারি বা হেক্সাডেসিমেল ফর্ম (বেস 16) ফর্মের মধ্যে প্রদর্শিত হয়। প্রোগ্রামগুলি রূপান্তর করার জন্য এটি একটি অনুবাদকের প্রয়োজন হয় না কারণ কম্পিউটারগুলি সরাসরি মেশিন ভাষা প্রোগ্রামগুলো বুঝতে পারে।
২. অ্যাসেম্বলি ল্যাঙ্গুয়েজঃ
অ্যাসেম্বলি ল্যাংগুয়েজ এছাড়াও লো-লেভেল ল্যাংগুয়েজ প্রোগ্রামিং ভাষা এমন একটি প্রকার যা নির্দিষ্ট প্রসেসরগুলির জন্য ডিজাইন করা হয়েছে। এটি একটি প্রতীকী এবং মানব-বোধগম্য ফর্মের নির্দেশাবলির সেটকে প্রতিনিধিত্ব করে। এটি একটি অ্যাসেম্বলি ভাষাটি মেশিন ভাষা রূপান্তর করতে একটি অ্যাসবেলার ব্যবহার করে থাকে।
২। মিড লেভেল ল্যাঙ্গুয়েজ কাকে বলে?
মিড লেভেল প্রোগ্রামিং ল্যাংগুয়েজ নিম্ন স্তরের প্রোগ্রামিং ভাষা এবং উচ্চ স্তরের প্রোগ্রামিং ভাষার মধ্যে অবস্থিত। এটি মধ্যবর্তী প্রোগ্রামিং ভাষা এবং ছদ্ম-ভাষা হিসাবেও পরিচিত। মিড লেভেল ল্যাংগুয়েজ প্রোগ্রামিং ভাষার সুবিধাগুলি হল যে, এটি হাই-লেভেল প্রোগ্রামিংয়ের বৈশিষ্ট্যগুলি সমর্থন করে। এটি একটি ব্যবহারকারী বান্ধব ভাষা। এবং মেশিন ল্যাংগুয়েজ বা মানুষের ভাষা সম্পর্কিত ঘনিষ্ঠভাবে সম্পর্কিত।যেমনঃ সি, সি ++ ইত্যাদি।
৩। হাই লেভেল ল্যাঙ্গুয়েজ কাকে বলে?
হাই-লেভেল প্রোগ্রামিং ল্যাংগুয়েজ ব্যবহারকারী বান্ধব সফ্টওয়্যার প্রোগ্রাম এবং ওয়েবসাইট তৈরি জন্য ডিজাইন করা হয়েছে। এই প্রোগ্রামিং ভাষার একটি কম্পাইলার বা ইন্টারপ্রেটারটিকে মেশিনের ভাষায় অনুবাদ করার জন্য একটি কম্পাইলার বা ইন্টারপ্রেটার প্রয়োজন প্রোগ্রামটি চালানোর জন্য। একটি হাই-লেভেল ল্যাংগুয়েজের প্রধান সুবিধা হচ্ছে এটি পড়তে, লিখতে এবং সংরক্ষণ বা রক্ষণাবেক্ষন করা সহজ। হাই-লেভেল প্রোগ্রামিং ল্যাংগুয়েজ বলতে আমরা যে ল্যাংগুয়েজ গুলোর নাম জানি, পাইথন, জাভা, জাভাস্ক্রিপ্ট, পিএইচপি, সি #, সি ++, কোবোল, পার্ল, পাসকাল, ফোর্ট্রান এবং সুইফ্ট প্রোগ্রামিং ভাষা অন্তর্ভুক্ত।
আরো সহজ করে বললে, একটি হাই-লেভেল ল্যাংগুয়েজঃ কে আরও ৩ ভাগে বিভক্ত করা হয়ঃ
১. প্রসিডিউর ওরিয়েন্টড প্রোগ্রামিং ল্যাংগুয়েজঃ
মূলত হাই-লেভেল ল্যাংগুয়েজ ব্যবহার করে যে প্রোগ্রাম তৈরি করা হয়, তাকে আমরা স্ট্রাকচার্ড প্রোগ্রামিং বা প্রসিডিউর অরিয়েন্টেড প্রোগ্রামিং(POP) বলি। প্রসিডিউর ভিত্তিক প্রোগ্রামিং ল্যাংগুয়েজ একটি সফ্টওয়্যার প্রোগ্রামার দ্বারা ব্যবহৃত হয় এমন একটি প্রোগ্রাম তৈরি করতে যা আইডি, অ্যাডোব ড্রিমওয়েভার, বা মাইক্রোসফট ভিজুয়াল স্টুডিওর মতো একটি প্রোগ্রামিং এডিটর ব্যবহার করে সম্পন্ন করা যেতে পারে। প্রসিডিউর ওরিয়েন্টড প্রোগ্রামিং ল্যাঙ্গুয়েজের সুবিধা হলো এটি প্রোগ্রামারদেরকে সহজেই প্রোগ্রামের প্রবাহ ট্র্যাক করতে সহায়তা করে এবং প্রোগ্রামের বিভিন্ন অংশে কোডটি পুনঃব্যবহৃত করা যায়। যেমন: সি, ফোর্ট্রান, বেসিক, পাসকাল ইত্যাদি।
২. অবজেক্ট অরিয়েন্টড প্রোগ্রামিং ল্যাংগুয়েজঃ
অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং ল্যাংগুয়েজ এই প্রোগ্রামিং ভাষাতে, প্রোগ্রামগুলি বস্তুর মতো ছোট অংশে বিভক্ত। প্রোগ্রামটি যথাযথ, কার্যকরী এবং সহজে ব্যবহার করার জন্য প্রোগ্রামে উত্তরাধিকার, পলিমারফিজম, বিমূর্ততা ইত্যাদি বাস্তবসম্মত, বহিষ্কারবাদ, বিমূর্ততা ইত্যাদি বাস্তবায়ন করার জন্য এটি ব্যবহার করা হয়। অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং(OOP) এর প্রধান সুবিধা হলো দ্রুত এবং ডিবাগ চালানোর, বজায় রাখা, ইত্যাদি কার্যকর করা সহজ। যেমন: সি ++, জাভা, পাইথন, সি # ইত্যাদি।
৩. ন্যাচারাল ল্যাংগুয়েজঃ
প্রাকৃতিক ভাষা ইংরেজি, বাঙ্গালী, রাশিয়ান, জার্মান এবং জাপানিদের মতো মানুষের ভাষাগুলির একটি অংশ। এটি মানুষের ভাষা বোঝা, ম্যানিপুলেট এবং ব্যাখ্যা করার জন্য মেশিন দ্বারা ব্যবহৃত হয়। অনুবাদ, স্বয়ংক্রিয় সংক্ষিপ্তকরণ, নামযুক্ত সত্তা স্বীকৃতি (NER), সম্পর্ক নিষ্কাশন এবং বিষয় বিভাজনের মতো কাজগুলো সম্পাদন করতে ডেভেলপাররা এটি ব্যবহার করে। প্রাকৃতিক ভাষার প্রধান সুবিধা হল যে এটি ব্যবহারকারীদের যেকোনো বিষয়ে প্রশ্ন জিজ্ঞাসা করতে এবং সেকেন্ডের মধ্যে সরাসরি উত্তর দিতে সহায়তা করে।
প্রোগ্রামিং কোথায় এবং কেন ব্যবহার করা হয়?
প্রোগ্রামিং জিনিসটা আমাদের দৈনন্দিন জীবনযাপনে নানান কাজে জরিয়ে আছে। এর মধ্যে সবচেয়ে বেশি যে বিষয়ে প্রোগ্রামিং সম্পৃক্ত রয়েছে। যেমন -ওয়েবসাইট ডেভেলপমেন্ট,অ্যাপস ডেভেলপমেন্ট, গেমস ডেভেলপমেন্ট, ডাটা এনালাইসিস ইত্যাদি।
ওয়েবসাইট ডেভেলপমেন্টঃ
এই ধরনের কাজে প্রোগ্রামাররা ওয়েবের জন্য অ্যাপ্লিকেশন তৈরি করে। তারা HTML, CSS, JavaScript, PHP, Python এবং আরও অনেক প্রোগ্রামিং ল্যাংগুয়েজ এর সাথে কাজ করে থাকে।
অ্যাপস ডেভেলপমেন্টঃ
এই ধরনের কাজে প্রোগ্রামাররা মোবাইল ডিভাইসের জন্য অ্যাপ্লিকেশন তৈরি করে। তারা প্রোগ্রামিং ল্যাংগুয়েজ হিসাবে রিঅ্যাক্ট নেটিভ, সুইফট, ফ্লাটার, জাভা এবং কোটলিন ভাষা ব্যবহার করে থাকে।
গেইমস ডেভেলপমেন্টঃ
এই ধরনের কাজে প্রোগ্রামাররা মোবাইল, ডেস্কটপ এবং গেম কনসোল ব্যবহারের জন্য কাস্টম গেম তৈরি করে।এতে তারা প্রোগ্রামিং ভাষা হিসাবে ব্যবহার করে C++, C # এবং Lua ইত্যাদি।
কম্পিউটার সিস্টেম ইঞ্জিনিয়ারঃ
জটিল ব্যবসায়িক অ্যাপ্লিকেশনগুলিতে কাজ করার জন্য এই পেশাটি কম্পিউটার বিজ্ঞান এবং প্রকৌশলকে একত্রিত করে। এতে প্রোগ্রামিং ভাষা হিসাবে পাইথন, জাভা এবং সি++ ব্যবহার করা হয়ে থাকে।
ভূল ক্রুটি ক্ষমা সুন্দর দৃষ্টিতে দেখবেন,
ধন্যবাদ সবাইকে। হ্যাপি লানিং!
-Shamim Hosen
কন্টেন্ট টি আমার লেখা নয়, কালেক্ট করা হয়েছে, যেন আপনারা এখান থেকে কিছু শিখতে পারেন, খুব সুন্দর লিখেছেন তিনি