কম্পিউটার, ট্যাব কিংবা স্মার্ট ফোনের মতাে ডিজিটাল ডিভাইস ব্যবহার করে যেকোনাে কাজ করার জন্যই সফটওয়্যারের প্রয়ােজন হয়।
সামাজিক যােগাযােগ মাধ্যম ব্যবহার অথবা অনলাইনে কেনাকাটার মতাে বিভিন্ন কাজের জন্য আমরা বিভিন্ন ধরনের সফটওয্যার ব্যবহার করি৷ তবে সফটওয়্যার’ কথাটি শুনলে অনেকের মনেই প্রশ্ন জাগে, কীভাবে তৈরি করা হয় এসব সফটওয়্যার?
তবে, সফটওয়্যার সম্পর্কে জানার আগে আসে কম্পিউটারের কথা। কারণ, কম্পিউটার মাধ্যমে ব্যবহার করার জন্য তৈরি করা হয় সফটওয়্যার
কম্পিউটার
কম্পিউটার হচ্ছে একধরনের ইলেকট্রনিক যন্ত্র বা ডিভাইস ইনপুট, প্রসেসিং এবং আউটপুট এই ৬ ধাপে কাজ করে কম্পিউটার৷ ইনপুটের মাধ্যমে তথ্য সংযােজন করার পরে কম্পিউটার সেটা প্রসেস করে আউটপুটের মাধ্যমে ফলাফল জানায়।
বিষয়টা আরাে পরিষ্কারভাবে বােঝা যাবে একটা উদাহরণের সাহায্য নিলে
ধরা যাক, মাইক্রোসফট ওয়ার্ডে লেখালেখি করার মাধ্যমে আপনি একটি
ডকুমেন্ট তৈরি করছেন। এখানে মাইক্রোসফট ওয়ার্ড হলাে সফটওয়্যার এবং কীবাের্ড হলাে ইনপুট ডিভাইস, যার মাধ্যমে আপনি তথ্য সংযােজন করছেন। আপনার দেয়া তথ্য প্রসেস করার পরে স্ক্রিনের মাধ্যমে কম্পিউটার তার আউটপুট দেখাচ্ছে।
নির্দিষ্ট কিছু কাজ করার জন্য নির্দিষ্ট কিছু সফটওয়্যারের প্রয়ােজন হয়৷ সহজ কথায় বললে, যেই সফটওয়্যার যেই কাজের জন্য তৈরি করা হয়েছে, সেই সফটওয়্যার দিয়ে সেই কাজই করা যায়! যদি ডকুমেন্ট তৈরি করতে চান, তাহলে। আপনাকে মাইক্রোসফট ওয়ার্ডের মতাে লেখালেখির সফটওয়্যার ব্যবহার করতে হবে৷
মােটকথা, কম্পিউটারের মাধ্যমে যেকোনাে কাজ করার জন্যই সফটওয়্যারের প্রয়ােজন হয়।
সফটওয়্যার।
সফটওয়্যার হলাে বেশ কিছু নির্দেশনার একটি সেট বা সংকলন এসব
নির্দেশনার মাধ্যমে নির্দিষ্ট কোনাে কাজ করার জন্য কম্পিউটারকে নির্দেশ দেয়া যায় নির্দেশনার এই সংকলন বা সেটকে প্রােগ্রামও বলা হয়৷ ডেভেলপাররা প্রয়ােজন অনুসারে তাদের সফটওয়্যার বা প্রোগ্রামে পরিবর্তন আনতে পারেন। যেহেতু কম্পিউটারের মাধ্যমে প্রােগ্রাম তৈরি বা পরিবর্তন করা যায়, তাই কম্পিউটারকে প্রােগ্রামিং যন্ত্র বা মেশিনও বলা হয়। কম্পিউটারে ব্যবহার করার সময় সফটওয়্যারগুলি বাইনারি কোড বা ডিজিট আকারে তথ্য আদানপ্রদান করে।
বাইনারি শব্দের অর্থ হলাে দুই। অর্থাৎ, সব ধরনের সফটওয়্যার কাজ করে মাত্র দুটি কোডের মাধ্যমেই। এই দুটি কোড হলাে 1 এবং 01
শুধুমাত্র বাইনারি কোড ব্যবহার করে সফটওয়্যার তৈরি করাটা একপ্রকার অসম্ভব৷
কারণ, অনেক ক্ষুদ্র একটি নির্দেশনা দেয়ার জন্যও প্রচুর বাইনারি কোড
বা ডিজিট লিখতে হয়। সেই কারণে ইঞ্জিনিয়াররা প্রােগ্রামিং এর জন্য বেশ কিছু আলাদা আলাদা ভাষা তৈরি করেছেন। এসব ভাষাকে বলা হয় প্রােগ্রামিং ল্যাঙ্গুয়েজ প্রােগ্রামিং ল্যাঙ্গুয়েজের সাহায্যে সহজেই কম্পিউটারকে নির্দেশনা দেয়ার মাধ্যমে সফটওয়্যার তৈরি করা যায়।
প্রচলিত কয়েকটা প্রােগ্রামিং ল্যাঙ্গুয়েজের উদাহরণ হলাে C, C++, JAVA, Python ইত্যাদি। মাঝেমধ্যে একটা সফটওয়্যার তৈরি করার জন্যে একাধিক প্রােগ্রামিং ল্যাঙ্গুয়েজও ব্যবহার করা হয়৷
যে ভাবে সফটওয়্যার তৈরি করা হয়
মানুষের বােধগম্য প্রোগ্রামিং ল্যাঙ্গুয়েজের মাধ্যমে যেকোনাে প্রােগ্রাম লেখা হলে সেটাকে ‘সাের্স কোড়’ বলা হয়। একবার সাের্স কোড লেখা হয়ে গেলে কম্পাইলিং প্রসেসের মাধ্যমে সেটাকে এক্সিকিউটেবল ফাইল’-এ রূপান্তরিত করা হয়৷ ক্সিকিউটেবল ফাইল’ শুধুমাত্র বাইনারি ডিজিট বা 1 এবং 0-র সমন্বয়ে গঠিত।
যে প্রােগ্রামে যত বেশি ফিচার বা বৈশিষ্ট্য থাকবে, সেই প্রােগ্রাম তৈরি করার জন্য ডেভেলপারদের তত বেশি সময় লাগবে। বড় আকারের জটিল প্রােগ্রাম তৈরি করার জন্য একসাথে কয়েকশাে ডেভেলপারও কাজ করতে পারেন একাধিক ডেভেলপার একসাথে কাজ করার
সময় প্রথমত প্রােগ্রাম বা সফটওয়্যারকে অনেকগুলি অংশে ভাগ করা হয়।
এরপর একেকটা ভাগ নিয়ে একেকজন আলাদা ভাবে কাজ করেন। পরবর্তীতে সবার কাজ একত্রিত করলে সেই সফটওয়্যারের সাের্স কোড তৈরি হয়।
ডেভেলপাররা অনেক পরিশ্রম করে সূক্ষ্মভাবে সফটওয়্যার তৈরি করার পরও প্রােগ্রামের কোডিং-এর ক্ষেত্রে কিছু সমস্যা থেকেই যায়৷ এই ধরনের ছােটখাটো সমস্যাকে বলা হয় ‘বাগস’। এমনকি, জনসাধারণের ব্যবহারের জন্য রিলিজ করার পরও সফটওয়্যারে বাগস থেকে যাওয়াটা স্বাভাবিক বাগস ঠিক করা কিংবা সফটওয্যারের মান উন্নত করার জন্য ডেভেলপাররা নিয়মিতই সফটওয়্যারের নতুন ভার্শন বা আপডেট নিয়ে আসেন। সাধারণত দুটি উপায়ে সফটওয়্যার বাজারজাত করা হয়, প্রােপ্রায়েট্রি এবং ওপেন সাের্স।
প্রােপ্রায়েট্রি কোনাে ব্যক্তি বা প্রতিষ্ঠানের মালিকানাধীন সফটওয়্যার যদি বিক্রির মাধ্যমে আয় করা হয়, তাহলে সেটাকে প্রােগ্রায়েট্রি সফটওয়্যার বলে। এক্ষেত্রে জনগণের ব্যবহার করার জন্য শুধুমাত্র সফটওয়্যারটাই রিলিজ করা হয়। আর মালিকানাধীন ব্যাক্তি বা প্রতিষ্ঠান সেই সফটওয়্যাবের সাের্স কোড় গােপন রাখে। ওপেন সাের্স: এই ধরনের সফটওয়্যার বিনামূল্যে ব্যবহার করা যায় আর যে কেই এর সাের্স কোল্ড দেখতে পারে। সাধারণত ডােনেশন বা অনুদানের মাধ্যমে ওপেন সাের্স সফটওয়্যার প্রস্তুতকারক প্রতিষ্ঠান আয় করে থাকে।
দুই ধরনের সফটওয়্যার
আমরা সাধারণত দুই ধরনের সফটওয়্যার ব্যবহার করি৷
১. সিস্টেম সফটওয়্যার; কম্পিউটার বা অন্যান্য ডিভাইসের সিস্টেম ব্যবহার করার জন্য যেসব সফটওয়্যার ব্যবহার করা হয়, সেগুলিকে সিস্টেম সফটওয়্যার বলে। যেমন, অপারেটিং সিস্টেম, বিভিন্ন ড্রাইড, ফার্মওয়্যার ইত্যাদি। ফার্মওয়্যার হলাে এমন সফটওয়্যার, যা কীবাের্ড বা টিভি বিমাের্টের মতাে বিভিন্ন হার্ডওয়্যারের সাথে স্থায়ীভাবে সংযুক্ত করা থাকে।
২. অ্যাপ্লিকেশন সফটওয়্যার নির্দিষ্ট কাজ করার জন্যে যেসব সফটওয়্যার ব্যবহার করা হয়, সেগুলি অ্যাপ্লিকেশন সফটওয়্যার। মাইক্রোসফট ওয়ার্ড, মােজিলা ফায়ারফক্স, ক্রোম ইত্যাদি হলাে অ্যাপ্লিকেশন সফটওয়্যার ইলেকট্রনিক ডিভাইসের জন্যে মােটামুটি সব ধরনের সফটওয়্যার আজকের লেখায় আলােচনা করা পদ্ধতিতেই তৈরি করা হয়।