Software শব্দের আভিধানিক অর্থ হচ্ছে নরম জিনিষ। যেসকল জিনিষ হাত দিয়ে ধরা যায় কিন্তু সহযে নষ্ট হয়ে যায় বা পঁচে যায় তাকে সফ্টওয়্যার বলা হয়। (Soft = নরম, Ware = দ্রব্য বা জিনিষ)
কিন্তু কম্পিউটারের সফ্টরয়্যার বলতে; এমন একটি বিষয়কে বুঝায় যা হাত দিয়ে ধরা যায়না। এমন কি দেখাও যায় না। বৈদ্যুতিক চৌম্বকিয় আবেশ যুক্ত চাক্তির (Electromagnetic Disk Disk) উপর সফ্টরয়্যার তৈরি করা হয়। যা শুধুমাত্র বিদ্যুৎ প্রবাহ প্রদান করলে কার্যকর হয়।
কম্পিউটার নিয়ন্ত্রন করার জন্য সারিবদ্ধ সু-সৃংখল ইলেক্ট্রনিক নির্দেশকে সফ্টরয়্যার বা প্রোগ্রাম বলা হয়। কেসেট প্লেয়ার, টিভি, কেলকুলেটর ইত্যাদি চালানো হয় এগুলোর কিছু নির্দিষ্ট সুইচ বা বাটন চেপে। যেমন; কেসেট প্লেয়ারে গান শোনার জন্য প্লে বাটন, থাানোর জন্য স্টপ বাটন, কেসেট বের করার জন্য ইজেক্ট বাটন। টিভি চালানোর সময় চেনেল বদলানোর জন্য চেনেল আপ বা ডাউন বাটন। সাউন্ড বাড়ানোর জন্য ভলিয়ম আপ বা নির্দিষ্ট দিকে নব ঘুরাই।
কিন্তু কম্পিউটার চালানোর সময় অসংখ্য কাজ করতে হয়, তাই শুধু মাত্র কয়েকটি সুইচ ব্যবহার করে কম্পিউটার চালান সম্ভব না। প্রথম দিকে কম্পিউটার অসংখ্য সুইচের সাহায্যে পরিচালনা করা হতো। তখন কম্পিউটার নিয়ন্ত্রন করা হতো বিশাল সুইচ রুম হতে। পরবর্তিতে কম্পিউটারের ভাষা (বাইনারী কোড) আবিষ্কার হয়। এই ভাষা ব্যবহার করে এসকল সুইচকে বৈদুৎতিক সংকেতে রুপান্তর করা হয়। আর এসকল বৈদ্যুতিক সংকেত কম্পিউটারের অসংখ্য সুইচ-এর নিয়ন্ত্রন করার ক্ষমতাকে নির্দিষ্ট কিছু নির্দেশে (Command) সিমাবদ্ধ করে দেয়। যার ফলে সফ্টরয়্যারের সাহায্যে শুধুমাত্র একটি কী-বোর্ড বা মাউস দিয়ে কম্পিউটার চালান সম্ভব।
নোট: সফ্টরয়্যার বা প্রোগ্রাম হচ্ছে সারিবদ্ধ সু-সৃংখল ইলেক্ট্রনিক নির্দেশ যা কম্পিউটার নিয়ন্ত্রন বা পরিচালনা করে।
কিন্তু কম্পিউটারের সফ্টরয়্যার বলতে; এমন একটি বিষয়কে বুঝায় যা হাত দিয়ে ধরা যায়না। এমন কি দেখাও যায় না। বৈদ্যুতিক চৌম্বকিয় আবেশ যুক্ত চাক্তির (Electromagnetic Disk Disk) উপর সফ্টরয়্যার তৈরি করা হয়। যা শুধুমাত্র বিদ্যুৎ প্রবাহ প্রদান করলে কার্যকর হয়।
কম্পিউটার নিয়ন্ত্রন করার জন্য সারিবদ্ধ সু-সৃংখল ইলেক্ট্রনিক নির্দেশকে সফ্টরয়্যার বা প্রোগ্রাম বলা হয়। কেসেট প্লেয়ার, টিভি, কেলকুলেটর ইত্যাদি চালানো হয় এগুলোর কিছু নির্দিষ্ট সুইচ বা বাটন চেপে। যেমন; কেসেট প্লেয়ারে গান শোনার জন্য প্লে বাটন, থাানোর জন্য স্টপ বাটন, কেসেট বের করার জন্য ইজেক্ট বাটন। টিভি চালানোর সময় চেনেল বদলানোর জন্য চেনেল আপ বা ডাউন বাটন। সাউন্ড বাড়ানোর জন্য ভলিয়ম আপ বা নির্দিষ্ট দিকে নব ঘুরাই।
কিন্তু কম্পিউটার চালানোর সময় অসংখ্য কাজ করতে হয়, তাই শুধু মাত্র কয়েকটি সুইচ ব্যবহার করে কম্পিউটার চালান সম্ভব না। প্রথম দিকে কম্পিউটার অসংখ্য সুইচের সাহায্যে পরিচালনা করা হতো। তখন কম্পিউটার নিয়ন্ত্রন করা হতো বিশাল সুইচ রুম হতে। পরবর্তিতে কম্পিউটারের ভাষা (বাইনারী কোড) আবিষ্কার হয়। এই ভাষা ব্যবহার করে এসকল সুইচকে বৈদুৎতিক সংকেতে রুপান্তর করা হয়। আর এসকল বৈদ্যুতিক সংকেত কম্পিউটারের অসংখ্য সুইচ-এর নিয়ন্ত্রন করার ক্ষমতাকে নির্দিষ্ট কিছু নির্দেশে (Command) সিমাবদ্ধ করে দেয়। যার ফলে সফ্টরয়্যারের সাহায্যে শুধুমাত্র একটি কী-বোর্ড বা মাউস দিয়ে কম্পিউটার চালান সম্ভব।
নোট: সফ্টরয়্যার বা প্রোগ্রাম হচ্ছে সারিবদ্ধ সু-সৃংখল ইলেক্ট্রনিক নির্দেশ যা কম্পিউটার নিয়ন্ত্রন বা পরিচালনা করে।