فهرست رده‌های نرم‌افزار
نرم‌افزار کامپیوتری می‌تواند بر اساس عملکرد به چندین رده تقسیم شود. سه رده اصلی در این رده‌بندی جای می‌گیرند: (۱)نرم‌افزارهای کاربردی، برای انجام کارهای کاربر طراحی شده‌اند. این نرم‌افزارها می‌توانند استفاده عمومی همچون واژه‌پردازهای عمومی و مرورگرهای اینترنتی باشند یا استفاده‌های خاصی همچون مدیریت کاربران، مدیریت اتومبیل‌ها و... باشند. نرم‌افزارهای کاربردی با (۲)نرم‌افزارهای سیستمی ارتباط برقرار می‌کنند. نامی که برای برنامه‌هایی به کار می‌رود که وظایفی همچون به‌راه انداختن کامپیوتر، اتصال به اینترنت و... را انجام می‌دهند. گونه دیگر، (۳)ابزارهای برنامه‌نویسی کامپیوتر همچون کامپایلرها و پیوند دهنده‌ها هستند.
شبیه‌سازی
در برنامه‌نویسی کامپیوتر، یک شبیه‌ساز اغلب برای اجرای برنامه‌ای مورد استفاده قرار می‌گیرد که انجام آن برای کامپیوتر با مقداری دشواری همراه است. مثلاً، شبیه‌سازها معمولاً برای رفع عیب یک ریزبرنامه استفاده می‌شوند. از آن جایی که کار کامپیوتر شبیه‌سازی شده‌است، تمام اطلاعات در مورد کار کامپیوتر مستقیماً در دسترس برنامه دهنده است و سرعت و اجرای شبیه‌سازی را می‌توان تغییر داد. شبیه‌سازها همچنین برای تفسیر درخت‌های عیب یا تست کردن طراحی‌های منطقی VLSI قبل از ساخت مورد استفاده قرار می‌گیرند. در علم نظری کامپیوتر، عبارت شبیه‌سازی نشان دهنده یک رابطه بین سیستم‌های انتقال وضعیت است که در مطالعه مفاهیم اجرایی سودمند می‌باشد.