پارادایم های برنامه نویسی نشاندهنده رویکردهای متفاوتی هستند که توسعه دهندگان نرمافزار برای حل مسائل کامپیوتری در پیش میگیرند. هر پارادایم مجموعهای از اصول، ابزارها و تکنیکهای منحصر به فرد را به کار میگیرد تا کدهای رایانهای را ساختار دهد. این تفاوتها موجب خواهد شد که برنامهنویسان با چالشهای متفاوتی روبرو شوند و تصمیمگیریهای متفاوتی را در طول توسعه نرمافزار انجام دهند.