نرمافزار مجموعهای از دستورالعملها است که با کد رایانهای نوشته شدهاند و به رایانه میگویند که چگونه رفتار کند یا چگونه یک کار خاص را انجام دهد.
نرم افزار معمولاً به شکل برنامه های تجاری (مانند مایکروسافت ورد و فتوشاپ)، بازی ها، سیستم عامل رایانه یا حتی بد افزار مثل ویروس ها و باجافزار.
هر برنامه یا کدی که بر روی کامپیوتر اجرا می شود، نمونه ای از نرم افزار است و هر کاری که با کامپیوتر انجام می دهید نیازمند استفاده از نرم افزار است. نرم افزار توسط برنامه نویسان کامپیوتری ایجاد می شود که معمولاً به آنها کدنویس می گویند.
عناوین محتوا
انواع نرم افزار
امروزه انواع مختلفی از نرم افزارها مورد استفاده قرار می گیرند.
برای اینکه شما را از گستره صنعت نرم افزار درک کنید، در اینجا مروری بر انواع عمده نرم افزارهای مورد استفاده امروزی ارائه می شود.
نرم افزار سیستم
نرم افزار سیستم، دسته کلی از نرم افزارهایی است که به سخت افزار رایانه اجازه عملکرد خاصی را می دهد و به عنوان بستر زیربنایی برای اجرای برنامه ها عمل می کند.
نرم افزار سیستم بسیار پیچیده است و دارای چند “لایه” در ارتباط با هر دستگاه محاسباتی وجود دارد. مثلا:
سیستم عامل (OS):
بدون سیستم عاملی مانند ویندوز یا MacOS، کامپیوتر فقط مجموعه ای از اجزای سخت افزاری است که قادر به انجام هیچ عملکردی نیستند.
سیستم عامل به رایانه اجازه می دهد تا عملکردهای اساسی را انجام دهد، رابطی را فراهم می کند تا کاربران بتوانند با رایانه تعامل داشته باشند، و پلتفرمی که برنامه ها می توانند بر روی آن اجرا شوند.
سیستمعامل بسیاری از وظایف رایج را برای برنامهها برای به حداقل رساندن افزونگی «انتزاعی» میکند ، برای مثال، سیستمعامل چاپ را بهعنوان یک سرویس به برنامهها ارائه میکند، بنابراین هر برنامهای نیازی به ارسال روش خاص خود برای ارسال فایلها به چاپگر ندارد.
فریم ویر (Firmware):
بسیاری از دستگاهها و اجزا دارای فریم ویر هستند که نرمافزار نیمهدائمی است که به دستگاه میگوید چگونه رفتار کند و چگونه با دستگاههای دیگر تعامل داشته باشد. فریم ویر را اغلب میتوان بهروزرسانی کرد.
درایورهای دستگاه (Device drivers ):
درایورهای دستگاه برنامه های کوچکی هستند که به سیستم عامل و اجزای کامپیوتر اجازه ارتباط می دهند. هر مؤلفه ای به یک درایور نیاز دارد تا سیستم عامل بداند چگونه از آن دستگاه استفاده کند. تقریباً هر مؤلفه در رایانه، از جمله کارت گرافیک، تراشه صدا، صفحه کلید و ماوس، درایورهای مخصوص به خود را دارند.
ابزارهای کمکی (Utilities):
ابزارهای کمکی که مرز بین نرم افزار سیستم و برنامه کاربردی را محو می کنند، برنامه های کوچکی هستند که اغلب با سیستم عامل همراه می شوند یا خود را به شدت با سیستم عامل ادغام می کنند تا وظایف سیستم عامل خاصی را انجام دهند. نرم افزارهای ضد بدافزار، پاکسازی هارد دیسک و ابزارهای فشرده سازی فایل (مانند WinZip) نمونه هایی از ابزارهای کاربردی هستند.
نرم افزار کاربردی (Application software):
نرم افزار کاربردی نرمافزاری است که احتمالاً بیشتر با آن آشنا هستید .
برنامهها یا برنامهها نیز نامیده میشوند، آنها بستههایی هستند که معمولاً هدف خاصی دارند و شما برای رسیدن به یک هدف خاص از آنها استفاده میکنید.
تنوع تقریباً نامحدودی از برنامه ها وجود دارد.
برخی از رایجترین آنها شامل نرمافزارهای بهرهوری مانند پردازشگرهای کلمه، صفحات گسترده و کلاینتهای ایمیل میشوند (Microsoft Word، Excel و Outlook نمونههای متداول هستند).
نرم افزار پایگاه داده مانند مایکروسافت اکسس برای سازماندهی و مدیریت حجم زیاد داده استفاده می شود.
بازیها نیز برنامههای محبوب و نرمافزارهای چندرسانهای هستند (برنامه دوربین گوشی شما یک برنامه کاربردی است و همچنین Adobe Photoshop که برای ویرایش گرافیک و عکسها استفاده میشود).
مرورگرهای وب نیز از رایج ترین برنامه های نرم افزاری هستند.
نرم افزارهای برنامه نویسی
احتمالاً جای تعجب نیست که یک نرم افزار با نرم افزارهای دیگر ساخته می شود. کدنویس ها برای ایجاد برنامه ها به تعدادی ابزار نرم افزاری مختلف متکی هستند. در اینجا چند نمونه از برنامه هایی که توسط کدنویس ها در طول توسعه نرم افزار استفاده می شود آورده شده است:
کامپایلرها:
برنامههایی هستند که کدهای نوشته شده توسط انسان را به شکل سطح پایینتری از کد ماشین تبدیل میکنند که مستقیماً توسط سختافزار کامپیوتر قابل تفسیر است. وجود کامپایلرها ایجاد نرم افزار بسیار پیچیده را عملی می کند.
دیباگرها :
برنامههای رایانهای هستند که برای آزمایش و «اشکالزدایی» (یافتن و حذف خطاها) از کدهای رایانه استفاده میشوند.
لینکرها :
برنامههایی هستند که خروجی را از یک کامپایلر اغلب بسیاری از فایلهای مجزا میگیرند و آنها را در یک فایل اجرایی ترکیب میکنند که میتواند به تنهایی توسط کاربر بدون نیاز به اجرای آن در محیط برنامهنویسی اجرا شود.
بدافزار:
نرمافزاری است که برای عمل به روشهای مضر طراحی شده است و امروزه نمونههای زیادی از بدافزارها از جمله ویروسها، کرمها، تروجانها و باجافزارها وجود دارد. هنگامی که رایانه و نرم افزار آن به بدافزار آلوده می شود، ممکن است عملکرد نادرست داشته باشند یا به طور کامل از کار بیفتند.
رقابت تسلیحاتی بین توسعه دهندگان بدافزار و نویسندگان ابزارهای ضد بدافزار وجود دارد و نصب نرم افزار ضد بدافزار بر روی کامپیوتر شما بسیار مهم است. برای جلوگیری از بدافزارها نیز باید بهترین شیوه ها را دنبال کنید.
نحوه توزیع نرم افزار
همه برنامه ها به یک شکل توزیع، فروخته یا به اشتراک گذاشته نمی شوند و روش اصلی توزیع در طول سال ها تغییر کرده است.
زمانی، تقریباً همه نرم افزارها تجاری بودند و از طریق خرده فروشان فروخته می شدند. که امروز خیلی دور از ذهن است. در اینجا برخی از مکانیسمهای توزیع اصلی آورده شده است.
نرم افزار تجاری (Commercial):
بسیاری از نرم افزارها هنوز تجاری هستند، اگرچه بسیار کمتر از گذشته رایج هستند. هر برنامه ای که خریداری می کنید و یک نسخه فیزیکی یا دیجیتالی از آن دریافت می کنید، نرم افزار تجاری است. به خاطر داشته باشید که شما مالک این نرم افزار نیستید.
شما فقط مجوزی دارید که حق استفاده از نرم افزار را به شما می دهد.
این تمایز به دلایل زیادی مهم است، از جمله مهمترین آنها این است که به ناشر این حق را میدهد که بدون اجازه صریح شما، نرمافزار را از طریق بهروزرسانیهای آنلاین تغییر دهد.
نرم افزار متن باز (Open-source):
اغلب به عنوان متضاد تجاری دیده می شود، نرم افزار منبع باز معمولاً با تمام کد منبع آن در دسترس قرار می گیرد، که به کل جامعه کدنویسان اجازه می دهد تا برنامه را به روز کنند، اصلاح کنند و بهبود بخشند. مثل سورس کدهای برنامه نویسی پی اچ پی و سیستم های مدیریت محتوا برای طراحی سایت
همه نرم افزارهای متن باز رایگان نیستند. برخی از آنها به قیمت خرده فروشی فروخته می شود.
نرم افزار رایگان (Freeware):
بسیاری از نرم افزارها برای دانلود و استفاده کاملا رایگان هستند.
مدل نرمافزار رایگان به ناشران اجازه میدهد تا نرمافزار خود را راحتتر توزیع کنند، زیرا بسیاری از مردم مایل خواهند بود چیزی را به صورت رایگان امتحان کنند.
برخی از نرمافزارهای رایگان نیز به عنوان ابزارهای تبلیغاتی مزاحم شناخته میشوند، زیرا در حالی که برنامه رایگان است، با تبلیغات جاسازی شده همراه است.
نرم افزار اشتراکی (Shareware) :
نوعی نرمافزار رایگان، نرم افزار اشتراکی برای مدت زمان محدودی رایگان است.
اگر برنامه را مفید میدانید، میتوانید برای ادامه استفاده از آن، هزینه آن را بپردازید. بسیاری از برنامههای اشتراکی برای مدت زمان محدودی رایگان هستند، اگرچه برنامههای دیگر فقط برای تعداد خاصی از کاربردها کار خواهند کرد.
اولین نرم افزار کامپیوتری چه بود؟
اولین برنامه نرم افزاری که در حافظه الکترونیکی نگهداری می شد توسط تام کیلبرن نوشته شد.
این برنامه بالاترین ضریب عدد صحیح را ۲۱۸ = ۲۶۲۱۴۴ محاسبه کرد و در ۲۱ ژوئن ۱۹۴۸ با موفقیت در دانشگاه منچستر انگلستان اجرا شد.
رایانهای که آن برنامه را نگه میداشت، SSEM (ماشین آزمایشی مقیاس کوچک) نام داشت که به نام «بچه منچستر» نیز شناخته میشد. این رویداد به عنوان تولد نرم افزار به طور گسترده ای جشن گرفته می شود.