কম্পিউটার সফটওয়্যার

কম্পিউটার সফটওয়্যার, প্রোগ্রামিং ভাষা || ব্যাংকিং ডিপ্লোমা, আইটি (AIBB IT)

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

কম্পিউটার সফটওয়্যার, সিস্টেম সফটওয়্যার, অ্যাপ্লিকেশন সফটওয়্যার ও প্রোগ্রামিং ভাষা:ব্যাংকিং ডিপ্লোমা, আইটি (AIBB IT)

কম্পিউটার সফটওয়্যার:

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

সিস্টেম সফটওয়্যার:

কম্পিউটার চালু করার জন্য এবং কম্পিউটারকে কার্যকর করার জন্য ব্যবহৃত সফটওয়্যারকে সিস্টেম সফটওয়্যার বলা হয়।

অন্যদিকে, যখন অ্যাপ্লিকেশন সফটওয়্যার কম্পিউটার সিস্টেমের কোনও ডিভাইসকে কিছু করার নির্দেশ দেয়, তখন সিস্টেম সফটওয়্যার প্রথমে নির্দেশনাটি এমন একটি ভাষায় (Machine Language) অনুবাদ করে যা ডিভাইসটির বোধগম্য। এরপর সিস্টেম সফটওয়্যারটি সংশ্লিষ্ট ডিভাইসগুলিতে অনুবাদিত নির্দেশনা পাঠায়। ডিভাইসগুলি সেই অনুযায়ী কাজ করে। তাই সিস্টেম সফটওয়্যার কম্পিউটার হার্ডওয়্যার এবং অ্যাপ্লিকেশন সফটওয়্যারের মধ্যে অবস্থিত, এবং মাধ্যম হিসেবে কাজ করে। উদাহরণস্বরূপ অপারেটিং সিস্টেম জনপ্রিয় সিস্টেম সফটওয়্যার। অপারেটিং সিস্টেম প্রথম ১৯৬০ সালে মেইনফ্রেম কম্পিউটারের জন্য তৈরি করা হয়েছিল। পরবর্তীতে ম্যাকিনটোশ, ডিস্ক অপারেটিং সিস্টেম (DOS: Disk Operating System), ইউনিক্স এবং উইন্ডোজের মতো বিভিন্ন অপারেটিং সিস্টেম তৈরি করা হয়। মার্কিন যুক্তরাষ্ট্রের মাইক্রোসফট কোম্পানি ডিস্ক অপারেটিং সিস্টেম (DOS: Disk Operating System) এবং উইন্ডোজ (Windows) অপারেটিং সিস্টেমের প্রস্তুকারী।

অপারেটিং সিস্টেমের সাধারণ কার্যবলি নিচে উল্লেখ করা হল:

১. কম্পিউটারকে সক্রিয় এবং ব্যবহারযোগ্য করে তোলা ।

২. হার্ডওয়্যার এবং অ্যাপ্লিকেশন সফটওয়্যারের মধ্যে যোগাযোগ স্থাপন।

৩. ব্যবহারকারীর নির্দেশ গ্রহণ এবং কার্যকর করা ।

৪. একটি প্রোগ্রামকে মূল মেমোরিতে আনা এবং প্রক্রিয়াজাতকরণ ।

৫. ডিস্কে/থেকে ডেটা লেখা, সংরক্ষণ এবং পড়ার মতো কার্যকলাপ নিয়ন্ত্রণ করা।

অ্যাপ্লিকেশন সফটওয়ার:

কম্পিউটার ব্যবহার করে একটি নির্দিষ্ট কাজ সম্পাদনের জন্য ব্যবহৃত প্রোগ্রামকে অ্যাপ্লিকেশন সফটওয়্যার বলা হয়।

উদাহরণস্বরূপ, টাইপিং বা ওয়ার্ড প্রসেসিংয়ের জন্য ওয়ার্ড স্টার, ওয়ার্ড পারফেক্ট এবং এমএস ওয়ার্ড ব্যবহার করা হয়; গণনা বা স্প্রেড শিট বিশ্লেষণের জন্য লোটাস ১-২-৩, কোয়াট্রো প্রো, এমএস এক্সেল ব্যবহার করা হয়; ওয়েব ব্রাউজিংয়ের জন্য নেটস্কেপ ন্যাভিগেটর, ইন্টারনেট এক্সপ্লোরা, গুগল ক্রোম এবং ফায়ারফক্স ব্যবহার করা হয়; ই-মেইল চেকিংয়ের জন্য আউট লুক, মেসেঞ্জার এবং ইউডোরা ব্যবহার করা হয়, উপস্থাপনার জন্য পাওয়ার পয়েন্ট ব্যবহার করা হয়; ইঞ্জিনিয়ারিং অঙ্কনের জন্য অটো ক্যাড ব্যবহার করা হয়; পরিসংখ্যানগত বিশ্লেষণের জন্য এসপিএসএস (SPSS) ব্যবহার করা হয়, মাইক্রোসফট  অ্যাক্সেস, এসকিউএল (SQL) সার্ভার এবং ওরাকল ডেটা ম্যানিপুলেশন ও স্টোরেজের জন্য ব্যবহৃত হয়।

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

উদাহরণস্বরূপ, একদল প্রোগ্রামার বা একটি কোম্পানি একটি ব্যাংকের জন্য একটি প্রোগ্রাম তৈরি করতে পারে যাতে তারা তাদের গ্রাহকদের লেনদেন রেকর্ড করতে পারে এবং দিনের শেষে ব্যালেন্স শিট এবং আয়-বিবরণীর মতো প্রতিবেদন তৈরি করতে পারে। এভাবে কোন একটি ব্যাংকের জন্য কোড করা প্রোগ্রামটি অন্য ব্যাংকের প্রয়োজনীয়তার সাথে খাপ খায় না, কারণ লেনদেনের নিয়ম বিভিন্ন ব্যাংকের জন্য বিভিন্ন হতে পারে।

প্রোগ্রামিং ভাষা:

প্রোগ্রামিং ভাষা নিজেও একটি প্রোগ্রাম। এই প্রোগ্রাম কোন সাধারণ উদ্দেশ্যে প্রোগ্রাম বা অ্যাপ্লিকেশন-নির্দিষ্ট প্রোগ্রাম কোড লেখার জন্য ব্যবহৃত হয়, আর এটাই প্রোগ্রামিং ভাষা । বড় বড় কোম্পানিগুলি বাণিজ্যিকভাবে বিক্রয়ের জন্য প্রোগ্রামিং ভাষা তৈরি করে। প্রোগ্রামাররা এই প্রোগ্রামিং ভাষাগুলি ব্যবহার করে। সাধারণত ব্যবহৃত প্রোগ্রামিং ভাষাগুলি হল:

  • C / C++,
  • Java,
  • অ্যাসেম্বলি ভাষা,
  • COBOL,
  • FORTRAN,
  • BASIC / BASICA / Q-Basic / Quick Basic,
  • Visual Basic,
  • .Net,
  • HTML,
  • FoxPro / FoxBase / dBase,

প্রোগ্রামিং ভাষাগুলিকে তিন ভাগে ভাগ করা যেতে পারে:

  • নিম্ন-স্তরের ভাষা ।
  • উচ্চ-স্তরের ভাষা ।
  • অবজেক্ট ওরিয়েন্টেড ভাষা।

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

  • মেশিন ল্যাঙ্গুয়েজ এবং
  • অ্যাসেম্বলি ল্যাঙ্গুয়েজ।

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

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

উচ্চ স্তরের ভাষা (High Level Language): একটি উচ্চ স্তরের ভাষা (অ্যাসেম্বলি ভাষা ব্যবহার করে তৈরি হয়ে থাকে) খুবই ব্যবহারকারী-বান্ধব। এর বাক্য গঠন ইংরেজি ভাষার সাথে খুবই সাদৃশ্যপূর্ণ। কম্পিউটার প্রোগ্রামাররা নির্দিষ্ট কম্পিউটার প্রোগ্রাম তৈরির জন্য উচ্চ স্তরের ভাষা ব্যবহার করে। উচ্চ স্তরের ভাষার উদাহরণ নিম্নরূপ:

  • COBOL,
  • BASIC,
  • FORTRAN,
  • C,
  • PASCAL, ইত্যাদি।

অবজেক্ট ওরিয়েন্টেড ল্যাঙ্গুয়েজ (Object Oriented Language): অবজেক্ট ওরিয়েন্টেড ল্যাঙ্গুয়েজ হলো এমন প্রোগ্রামিং ভাষা যা প্রোগ্রামের নির্দেশাবলী এবং ডেটাকে প্রোগ্রামিং কোডের একটি সেটে একত্রিত করে – যাকে অবজেক্ট বলা হয়। অবজেক্টটি সমগ্র প্রোগ্রাম জুড়ে বারবার ব্যবহার করা যেতে পারে। অবজেক্ট ওরিয়েন্টেড ল্যাঙ্গুয়েজ ব্যবহার করে কম্পিউটার প্রোগ্রাম লেখার কৌশলকে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং (OOP: Object Oriented Programming) বলা হয়। এখানে প্রোগ্রামের যেকোন নির্দেশাবলি অবজেক্ট কেন্দ্রীক হয়ে থাকে। একটি অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং (OOP: Object Oriented Programming)-এর নিম্নলিখিত তিনটি বৈশিষ্ট্য রয়েছে:

ক. পলিমরফিজম (Polymorphism): পলিমরফিজম মানে বিভিন্ন অবজেক্ট একই বার্তার প্রতি স্বতন্ত্রভাবে সাড়া দেয়। উদাহরণস্বরূপ, ধরা যাক বিড়াল, কুকুর এবং গরু প্রত্যেকে স্বতন্ত্র অবজেক্ট।  ধরা যাক, তিনটি ভিন্ন অবজেক্টর জন্য একই বার্তা পাঠান হলো “কথা বলুন”, তখন প্রত্যেকেই যথাযথভাবে আলাদা অলাদাভাবে সাড়া দেবে। বিড়াল মিউমিউ করবে, কুকুর ঘেউ ঘেউ করবে এবং গরু হাম্বা করবে। অর্থাৎ বিভিন্ন বৈশিষ্টধারী অবজেক্টের একই কর্মে সাড়া প্রদান করা।

খ. ইনহ্যারিটেন্স (Inheritance): যার বাংলা অর্থ উত্তরাধিকার। মানে হল বিদ্যমান অবজেক্ট এর বৈশিস্টগুলিকে প্রসারিত বা উন্নত করার ক্ষমতা। যেখানে প্যারেন্ট অবজেক্ট থাকবে  এবং এর থেকে নতুন চাইল্ড অবজেক্ট তৈরি হবে, যাতে প্যারেন্ট অবজেক্টের বৈশিস্টের সাথে সাথে নিজস্ব বৈশিস্টও থাকবে।

গ. এনক্যাপসুলেশন (Encapsulation): এনক্যাপসুলেশন বলতে বোঝায় যে কাষ্টম বা ইউজার ডিফাইন ভেরিয়েবলের জন্য ডেটা এবং নির্দেশাবলী একসাথে করে একটি ইউনিট হিসেবে প্রস্তুত করা । এই ভেরিয়েবলের ব্লুপ্রিন্টকে ক্লাস বলা হয় এবং ইউনিটগুলিকে অবজেক্ট বলা হয়। অবজেক্ট ওরিয়েন্টেড ল্যাঙ্গুয়েজের উদাহরণ হল C++ এবং JAVA।

উপসংহার:

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

কম্পিউটার সফটওয়্যার, সিস্টেম সফটওয়্যার, অ্যাপ্লিকেশন সফটওয়্যার ও প্রোগ্রামিং ভাষা:FAQ

১.সফটওয়্যার কী?
কম্পিউটারকে নির্দিষ্ট কাজ সম্পন্ন করার জন্য ব্যবহৃত প্রোগ্রাম ও নির্দেশনার সমষ্টি সফটওয়্যার বলে।

২.সিস্টেম সফটওয়্যার কাকে বলে?
এটি হলো এমন সফটওয়্যার যা কম্পিউটার হার্ডওয়্যার এবং অ্যাপ্লিকেশন সফটওয়্যারের মধ্যে সংযোগ স্থাপন করে এবং কম্পিউটার পরিচালনা করে। উদাহরণ: অপারেটিং সিস্টেম।

৩.অ্যাপ্লিকেশন সফটওয়্যার কী?
ব্যবহারকারীর নির্দিষ্ট কাজ সম্পন্ন করার জন্য তৈরি প্রোগ্রাম। উদাহরণ: MS Word, Excel, AutoCAD।

৪.অপারেটিং সিস্টেমের উদাহরণ লিখ।
Windows, Linux, macOS, Unix, DOS।

৫.Low Level Language কী?
কম্পিউটারকে সরাসরি নির্দেশ দেয় এমন ভাষা, যেমন Machine Language এবং Assembly Language।

৬.High Level Language কী?
মানুষের জন্য সহজবোধ্য ভাষা, যা প্রোগ্রামারদের জন্য ব্যবহার সহজ। উদাহরণ: C, C++, Java, Python।

৭.OOP কী?
Object-Oriented Programming (OOP) হলো প্রোগ্রামিং পদ্ধতি যেখানে ডেটা ও ফাংশনকে অবজেক্ট আকারে সংগঠিত করা হয়।

৮.Encapsulation কী?
ডেটা ও ফাংশনকে একত্রিত করে একটি ইউনিট (অবজেক্ট) হিসেবে রাখা এবং বাইরের প্রভাব থেকে সুরক্ষা দেওয়া।

৯.Inheritance কী?
বিদ্যমান অবজেক্টের বৈশিষ্ট্য নতুন অবজেক্টে (Child Object) সরানো বা সম্প্রসারণ করা।

১০.Polymorphism কী?
বিভিন্ন অবজেক্ট একই ফাংশন বা মেসেজে ভিন্নভাবে প্রতিক্রিয়া দেখাতে সক্ষম হওয়া।

১১.Java কোন ধরনের ভাষা?
High-Level, Object-Oriented Programming Language।

১২.Windows কোন ধরনের সফটওয়্যার?
এটি সিস্টেম সফটওয়্যার বা অপারেটিং সিস্টেম।

১৩.MS Word কোন ধরনের সফটওয়্যার?
এটি অ্যাপ্লিকেশন সফটওয়্যার।

১৪.Assembly Language কী?
কম্পিউটারকে নির্দেশ দেয়ার জন্য প্রতীকী ভাষা ব্যবহার করা ভাষা। এটি Low Level Language-এর অংশ।

১৫.Machine Language-এর সুবিধা কী?
খুব দ্রুত এবং দক্ষতার সঙ্গে কম্পিউটারের নির্দেশ কার্যকর করে, সরাসরি হার্ডওয়্যারের সঙ্গে কাজ করে।

আপনি যদি ভাল Cover Letter, Resume, CV পেতে চান, তবে আমাদের সাথে যোগাযোগ করুন।

আরও জানতে ক্লিক করুন এখানে

আমাদের সম্পর্কে জানতে ক্লিক করুন এখানে

https://bitbytestory.com

Leave a Comment

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

*
*