Computer programming

Computer programming

Computer Programming – কম্পিউটার প্রোগ্রামিং

কম্পিউটার প্রোগ্রাম বা Computer Programming – কম্পিউটার প্রোগ্রামিং অনেক বিশাল একটি বিষয় যা মাত্র কয়েকটি পৃষ্ঠা লেখার মাধ্যমে পুরো বিষয়কে তুলে ধরা সম্ভব নয় । তারপর ও আমার এই ছোট্ট লেখনির মাধ্যমে Computer Programming – কম্পিউটার প্রোগ্রামিং এর কিছু বেসিক বিষয় আপনাদের সামনে আলোচনা করার চেষ্টা করবো । আশা করি আপনারা এখান থেকে সামান্য কিছু হলে ও শিখতে পারবেন ।

কম্পিউটার প্রোগ্রামিং Computer programming কি ? কাকে বলে ?

Computer programming কম্পিউটার প্রোগ্রামিং হল একটি প্রক্রিয়া যা সাহায্যে প্রোগ্রামারগণ কোড লিখতে ব্যবহার করেন যা কম্পিউটার অ্যাপ্লিকেশন বা সফটওয়্যার প্রোগ্রাম কিভাবে কাজ করবে তার নির্দেশ দেয় ।
অন্যভাবে আমরা বলতে পারি যে Computer programming কম্পিউটার প্রোগ্রামিং হল নির্দেশনাবলীর একটি সেট যা নির্দিষ্ট ক্রিয়াকলাপের সুবিধার্থে ব্যবহার করা হয় । কম্পিউটার প্রোগ্রামারগণ অ্যাপ্লিকেশন এবং সফটওয়্যার প্রোগ্রামগুলিকে সফলভাবে পরিচালিত করার জন্য রাইটিং এবং টেস্ট কোড প্রয়োগ করেন যা সঠিক নির্দেশনা তৈরি করে ।
তাহলে আমরা সহজ কথায় বলতে পারি Computer programming কম্পিউটার প্রোগ্রামিং হল এক সেট নির্দেশনা যা কম্পিউটারের বিশেষ ভাষা ব্যবহার করে লেখা হয় এবং তা কম্পিউটারের নির্দিষ্ট কাজ সম্পাদন করে থাকে ।
আর যারা কম্পিউটারের ভাষা ব্যবহার করে কোন বিশেষ কাজ সম্পাদনের জন্য কোড ব্যবহার করে প্রোগ্রাম লিখে থাকেন তাদের কম্পিউটার প্রোগ্রামার বলা হয় ।
অ্যাডা অগাস্টা বাইরন কে পৃথিবীর প্রথম কম্পিউটার প্রোগ্রামার বলা হয় ।

কম্পিউটারের ভাষাঃ

কম্পিউটার এর প্রোগ্রাম লেখার জন্য যে ভাষা ব্যবহার করা হয় তাকে কম্পিউটারের ভাষা বলে । কম্পিউটার এর ভাষাকে পাঁচ শ্রেনিতে ভাগ করা হয়েছে । যেমনঃ

  1. মেশিন ভাষা বা নিম্ন স্তরের ভাষা – প্রথম প্রজন্মের ভাষা ।
  2. এসেম্বলি ভাষা বা মধ্যম স্তরের ভাষা – দ্বিতীয় প্রজন্মের ভাষা ।
  3. উচ্চ স্তরের ভাষা – তৃতীয় প্রজন্মের ভাষা ।
  4. অতি উচ্চ স্তরের ভাষা – চতুর্থ প্রজন্মের ভাষা ।
  5. প্রাকৃতিক ভাষা – পঞ্চম প্রজন্মের ভাষা ।

মেশিনের ভাষা (Machine Languages) বা নিম্ন স্তরের ভাষা
মেশিনের ভাষা বা নিম্ন স্তরের ভাষা যা বাইনারি সংখ্যার মাধ্যমে লেখা হয় । এই ভাষা সরাসরি কম্পিউটার বুঝতে পারে বলে একে মেশিনের ভাষা বলে । ০,১ এর মাধ্যমে কোড লেখা হয় যেমনঃ A অক্ষরকে বাইনারিতে প্রকাশ করা হয় এভাবে ০১০০০০০১ । এই অক্ষর থেকে ডিজিটাল সংখ্যার পরিবর্তনের জন্য একটি নিয়ম মেনে চলতে হয় যাকে ASCII “American Standard Code for Information Interchange.” বলে ।
এসেম্বলি ভাষা (Assembly Languages) বা মধ্যম স্তরের ভাষা
এসেম্বলি ভাষা ও এক ধরণের মেশিনের ভাষা কিন্তু এখানে বাইনারি সংখ্যার পরিবর্তে অক্ষর বা শব্দ ব্যবহার করা হয় এবং এই অক্ষর বা সংখ্যাকে বাইনারিতে পরিবর্তনের জন্য কম্পাইলার ব্যবহার করা হয় । এই ভাষা বিশেষ ধরণের প্রসেসরের ক্ষেত্রে ব্যবহার করা হত । এসেম্বলি ভাষার কয়েকটি উদাহরণ হলঃ
MOV – ডাটা এক জায়গা থেকে অন্য জায়গায় রাখতে এই কমান্ড ব্যবহার হয় ।
ADD – দুইটি সংখার যোগ করতে ব্যবহার করা হয় ।
SUB – দুইটি সংখ্যার বিয়োগ করতে ব্যবহার করা হয় ।
PUSH – একটি স্ট্যাকের উপর তথ্য পুশ করতে ব্যবহার করা হয় ।
POP – একটি স্ট্যাক থেকে তথ্য পপ করতে ব্যবহার করা হয় ।
JMP – অন্য লোকেশনে জাম্প করতে ব্যবহার করা হয় ।
INT – কোন চলমান প্রসেসকে থামাতে ব্যবহার হয়।
উচ্চ স্তরের ভাষা (High Level Languages)
বর্তমানে কম্পিউটারের প্রোগ্রামের জন্য যত ভাষা আছে তার প্রায় সবগুলোই উচ্চ স্তরের ভাষা । উচ্চ স্তরের ভাষা মানুষের সহজলভ্য হওয়ার কারণে এই ভাষা ব্যবহার করা হয় । এই ভাষা ব্যবহার করে যে কেউ খুব সহজেই কম্পিউটার এর জন্য প্রোগ্রাম লিখতে পারে । এই ভাষায় লিখিত প্রোগ্রাম কম্পিউটার সরাসরি বুঝতে পারে না তাই ইন্টারপ্রেটার ও কম্পাইলার ব্যবহার করা হয় । প্রথমে উচ্চ ভাষাকে ইন্টারপ্রেটারের মাধ্যমে এসেম্বলি ভাষায় রুপান্তর করা হয় তারপর এসেম্বলি ভাষাকে আবার কম্পাইলার দিয়ে বাইনারি ভাষা বা মেশিনের ভাষায় রুপান্তর করে । কয়েকটি বহুল ব্যবহৃত উচ্চ স্তরের ভাষা নাম হল
১। সি
২। সি ++
৩। জাভা
৪। সি শার্প
৫। পিএইচপি
৬। পাইথন
৭। পার্ল
৮। রুবি
৯। সুইফট
১০। কোবল
ইত্যাদি ভাষা বহুল ভাবে ব্যবহৃত হয়ে আসছে ।
অতি উচ্চ স্তরের ভাষা (Very High Level Languages )– চতুর্থ প্রজন্মের ভাষা
অতি উচ্চ স্তরের ভাষা সম্পর্কে সঠিক কোন সংজ্ঞা দেয়া সম্ভব নয় । চতুর্থ প্রজন্মের ভাষার সবচেয়ে বড় সুবিধা হল প্রোগ্রামিং ভাষার সংক্ষিপ্ত ব্যবহার । যেখানে তৃতীয় প্রজন্মের ভাষা ব্যবহার কোন সমস্যা সমাধানের জন্য কোড লিখতে শত শত লাইনের কোড লিখতে হয় সেখানে চতুর্থ প্রজন্মের ভাষায় মাত্র কয়েক লাইনের কোড করে সেই একই কাজ করা সম্ভব । কিন্তু এই ভাষা বুঝা এবং এটা বর্ণনা করা কষ্টসাধ্য । অনেকেই মতে করত যে তৃতীয় প্রজন্মের থেকে চতুর্থ প্রজন্মের ভাষা ব্যবহার করা অনেক কঠিন হবে । তারপর ও কিছু কিছু জায়গায় এই ভাষার ব্যবহার লক্ষ্য করা যায় । যদিও তার পরিমাণ খুবই কম । বর্তমানে অনেক কুয়েরি ভাষার প্রোগ্রাম সম্পাদনে এই ভাষা ব্যবহার করা হয়ে থাকে যেখেনে মাত্র একটি লাইনের কোড ব্যবহার করে পুরো ডাটাবেজ থেকে সকল তথ্য সংগ্রহ, আপডেড এবং তা মুছে ফেলা সম্ভবপর হয়েছে ।
প্রাকৃতিক ভাষা (Natural Languages) – পঞ্চম প্রজন্মের ভাষা ।
প্রাকৃতিক ভাষা বা পঞ্চম প্রজন্মের ভাষার সংজ্ঞা দেওয়া চতুর্থ প্রজন্মের সংজ্ঞার চেয়েও আরও বেশি কঠিন । প্রাকৃতিক ভাষায় প্রোগ্রামিং হল প্রাকৃতিক ভাষার বাক্যগুলি Computer Programming – কম্পিউটার প্রোগ্রামিং এর একটি তত্ববিদ্যার সহায়ক হিসেবে কাজ করে । বাক্যগুলির ব্যাখ্যার জন্য বিষয়বস্তু, বিভাগ এবং বিভাগগুলিসহ একটি কাঠামোযুক্ত নথি দ্বারা একটি ডকুমেন্ট তৈরি করে যা আসলে একটি কম্পিউটার প্রোগ্রাম । প্রাকৃতিক ভাষা এবং প্রাকৃতিক প্রোগ্রামিং ভাষা এর মধ্যে এক ধরণের মাধ্যম তৈরি করে যার সাহায্যে বিভিন্ন ধরণের কল্পকাহিনীর গল্পের মত মনে হয় কিন্তু আসলে সেটা এক ধরণের প্রোগ্রাম । প্রাকৃতিক প্রোগ্রামিং ভাষার রীতি উইলিয়াম সেক্সপিয়ার ও অলফ্রাম আলফা তাদের নাটকে জ্ঞান গণনার ইঞ্জিনের ইনপুট হিসেবে ব্যবহার করেছেন । প্রাকৃতিক ভাষার প্রোগ্রামের একটি উদাহরণ দেওয়া হল । যেমনঃ একটি প্রতিষ্ঠানের সেলসম্যানদের বেতন, কমিশন, এবং তাদের চাকুরির বয়স বের করতে হবে এবং শুধুমাত্র যাদের বাড়ি ঢাকা এবং রংপুরে । তাহলে কোডটি হবে –
REPORT THE BASE SALARY, COMMISSIONS AND YEARS OF SERVICE BROKEN DOWN BY STATE AND SITY FOR SALESCLERKS IN DHAKA AND RANGPUR.
এখন আমরা জানার চেষ্টা করি একটি প্রোগ্রাম রচনার জন্য কি কি বিষয়ের উপর নজর দিতে হবে । অথবা একটি প্রোগ্রাম লেখার জন্য কি কি প্রক্রিয়া অবলম্বন করতে হবে । প্রধানত পাঁচটি পদক্ষেপ অবলম্বন করে প্রোগ্রাম রচনা করতে হয় ।
১। সমস্যা চিহ্নিত করা
২। সমস্যা সমাধানের পরিকল্পনা করা
৩। সেই অনুযায়ী কোড লেখা
৪। লিখিত প্রোগ্রাম কে টেস্ট করা
৫। প্রোগ্রামের দলিলাদি তৈরি করা
সমস্যা চিহ্নিত করা
কোন প্রোগ্রাম লেখার পূর্বে ব্যবহারকারীর থেকে সমস্যা বা কোন বিষয়ের উপর প্রোগ্রাম লিখতে হবে তার বিস্তারিত শুনতে হবে । তারপর সেই কাজে কি কি সমস্যার সৃষ্টি হবে বা হতে পারে সেগুলোকে চিহ্নিত করতে হবে ।
সমস্যা সমাধানের পরিকল্পনা করা
সমস্যা চিহ্নিত হয়ে গেলে তা সমাধানের উপায় বের করতে হবে । সমস্যা সমাধানের কি কি পদক্ষেপ গ্রহণ করতে হবে তার উল্লেখ করা । প্রধানত দুইটি উপায়ে সমস্যার সমাধান করা হয় একটি হল ফ্লোচার্ট ও সুডো কোড ব্যবহার করে অথবা দুইটি ই ব্যবহার করে । ফ্লোচার্ট হল কোন সমস্যার ছবি দ্বারা ধাপে ধাপে সমস্যার সমাধান । একে তীর চিহ্ন দ্বারা দেখানো হয়ে থাকে ।
এলগরিদম হল ফ্লোচার্ট এর মত ধাপে ধাপে সমস্যা সমাধানের প্রক্রিয়া যেখানে ফ্লোচার্ট ছবি যুক্ত সমাধান তেমনি এলগরিদম হল প্রাকৃতিক ভাষায় লেখা সমস্যার সমাধান । প্রোগ্রাম কোড লেখার আগে এলগরিদম হল সবচেয়ে গুরুত্বপূর্ণ কাজ । প্রোগ্রামের কাজ কে সহজ করার প্রধান কাজ করে এলগরিদম ।
সুডো কোড হল সাধারণ ইংরেজি ভাষার মত যার সাহায্যে সমস্যার সমাধান বর্ণনা করা হয় । এখানে প্রোগ্রাম সিনট্যাক্স এর চেয়ে প্রোগ্রামের লজিকের উপর বেশি জোর দেয়া হয় । সুডো কোড কম্পিউটারে এক্সিকিউট হয় না ।
সমস্যার সমাধান অনুযায়ী কোড লেখা
সমস্যার সমাধান অনুযায়ী কোড লিখতে হবে । সুডো কোড ও ফ্লোচার্ট থেকে সমাধানের লজিক গুলোকে অনুবাদ করে প্রোগ্রামিং ভাষায় কোড লিখতে হবে । আমরা আগেই জেনেছি যে Computer Programming – কম্পিউটার প্রোগ্রামিং হল একটি নির্দেশনার সমষ্টি যেখানে সমস্যার উপর ভিত্তি করে কোড লেখা হয় ।
লিখিত প্রোগ্রাম কে টেস্ট করা
সমস্যা সমাধানে লিখিত প্রোগ্রামে কিছু কিছু ভুল হয়ে থাকে সেটা জানতে বা অজান্তে যাই হোক না কেন । তাই প্রোগ্রাম কে রান করার আগে তা ডিবাগ বা টেস্টিং করতে হয় । এর মাধ্যমে প্রোগ্রামে কোন ভুল থাকলে তা নির্ণয় করা যায় । প্রোগ্রাম টেস্টিং তিন ভাবে করা যায় । যেমনঃ
১। ডেস্ক চেকিং
ডেস্ক চেকিং পদ্ধতি হল এক ধরণের প্রুফরিডিং পদ্ধতি । অনেক প্রোগ্রামার তারাতারি প্রোগ্রাম লেখার কারণে অনেক সময় লেখার মধ্যে ভুল ভ্রান্তি হয়ে থাকে । যার কারণে প্রোগ্রাম রান হয় না । ডেস্ক চেকিং এর মাধ্যমে এই ভুল গুলোকে নির্ণয় করা হয় ।
২। অনুবাদ করন
এই টেস্টিং প্রক্রিয়ায় প্রোগ্রামের কোন সিনট্যাক্স জনিত ভুল আছে কিনা তা চেক করে । যদি ভুল থাকে তাহলে এরর মেসেজ দিবে এবং এর সমাধান করতে বলবে । আবার যদি এমন কোড লেখা হয় যেটা কম্পিউটার বুঝতে পারে না তাহলেও এরর মেসেজ দিবে ।
৩। ডিবাগিং
প্রোগ্রামিং বহুল ব্যবহৃত শব্দ । ডিবাগিং শব্দের অর্থ শনাক্তকরণ, বাগ শনাক্তকরণ এবং ভুল সংশোধন করণ । যখন প্রোগ্রাম রান করানো হয় তখন ডিবাগিং করে ভুল শনাক্ত করে । এই ভুল সাধারনত কম্পিউটার লজিক সম্পর্কিত ভুল । যেমন কোন একটি নির্দেশ দেওয়া হল যে কোন অপারেশন রিপিট করতে কিন্তু রিপিট বন্ধ করার কোন নির্দেশ দেওয়া হয় নাই ।
প্রোগ্রামের ডকুমেন্টেশন তৈরি করা
ডকুমেন্টেশন একটি চলমান ও প্রয়োজনীয় প্রক্রিয়া যেখানে Computer programming প্রোগ্রামিং এর ধারাসমূহ এবং প্রোগ্রামিং সম্পর্কিত তথ্য বিশদভাবে লিখিত আকারে সংরক্ষণ করা হয়ে থাকে । সাধারণ প্রোগ্রাম ডকুমেন্টেশনে সমস্যার উৎস এবং প্রকৃতি, প্রোগ্রামের একটি সংক্ষিপ্ত বিবরণ, ফ্লোচার্ট, সুডো কোড, ডাটা রেকর্ডের বিবরণ, প্রোগ্রামের তালিকাভুক্তি ও পরীক্ষার ফলাফল অন্তর্ভুক্ত থাকে । প্রোগ্রামের ভিতরে কোডের সাথে যে মন্তব্য গুলো করা হয়ে থাকে সেগুলো ও এক ধরণের ডকুমেন্টেশনের কাজ করে থাকে । পরবর্তীতে প্রোগ্রামের কোন রূপ পরিবর্তন, পরিবর্ধন, সংযোজন করার ক্ষেত্রে ডকুমেন্টেশন অনেক বড় ভুমিকা পালন করে ।

কম্পিউটার প্রোগ্রামের ব্যবহার

বর্তমানে প্রায় সব জায়গায় কম্পিউটার প্রোগ্রাম ব্যবহৃত হয়ে আসছে । যেমন গৃহস্থালি, কৃষি, চিকিৎসা, প্রতিরক্ষা, যোগাযোগ, আনন্দ দেওয়া থেকে শুরু করে আরও অনেক ক্ষেত্র রয়েছে । নিচে আমরা কয়েকটি ব্যবহার দেখবো

  • মাইক্রোসফট ওয়ার্ড, এক্সেল, এডোবি ফটোশপ, ইন্টারনেট এক্সপ্লোরার, গুগল ক্রম ইত্যাদি কম্পিউটার প্রোগ্রামের উদাহরণ ।
  • সিনেমায় গ্রাফিক্স ও বিশেষ প্রভাব তৈরিতে কম্পিউটার প্রোগ্রাম ব্যবহার করা হয় ।
  • আলট্রা সাউন্ড, এক্সরে, এবং চিকিৎসা এর বিভিন্ন পরিক্ষায় কম্পিউটার প্রোগ্রাম ব্যবহার করা হয় ।
  • মোবাইল ফোনের এসএমএস, চ্যাঁট এবং ভয়েস কমিউনিকেশনে কম্পিউটার প্রোগ্রাম ব্যবহার করা হয় ।
  • কৃত্রিম বুদ্ধিমত্তায় কম্পিউটার প্রোগ্রাম ব্যবহার করা হয় ।
  • রোবটিক্স এ কম্পিউটার প্রোগ্রাম ব্যবহার করা হয় ।

তাছাড়াও নানাবিধ কাজে কম্পিউটার প্রোগ্রাম ব্যবহার করা হয় যা এখানে লিখতে গেলে অনেক লিখতে হবে ।

learnictbd
Computer Programming – কম্পিউটার প্রোগ্রামিং ,Computer Programming – কম্পিউটার প্রোগ্রামিং, Computer Programming – কম্পিউটার প্রোগ্রামিং
Reference
Reference
Wiki Reference
Reference

Add a Comment

আপনার ই-মেইল এ্যাড্রেস প্রকাশিত হবে না। * চিহ্নিত বিষয়গুলো আবশ্যক।