دنیای رایانه و نرم افزار با وجود سختافزار و نرمافزار در کنار یکدیگر، ایجاد میشود و این دو مکمل یکدیگر هستند. هیچ رایانهای بدون سخت افزار یا بدون نرم افزار قابل راه اندازی نمی باشد. برای اینکه نرم افزار بتواند با سخت افزار رایانه ارتباط برقرار کرده و دستورات کاربر را اجرا نماید، نیاز است با زبانهای برنامه نویسی که توانایی دسترسی به سخت افزار را دارند، این امکان را فراهم نماییم. به این زبانها، زبان برنامه نویسی سختافزاری میگویند.