تصميم كياني object-oriented مقابل تصميم وظائفي procedure-oriented لبرنامج يحسب المساحة والمحيط لدائرة ومربع.
يمكن تقسيم برامج الحاسب إلى برامج وظائفية procedure-oriented وبرامج كيانية object-oriented وتتكون البرامج الوظائفية من عدة وظائف procedures وتتناول كل وظيفة جزء من المشكلة التي يهدف البرنامج إلى حلها. وتتكون البرامج الكيانية من كائنات، ويتكون كل كائن من بيانات تقوم بوصف خصائصه properties وأساليب methods تقوم بوصف العمليات التي يمكنه أدائها. وتقوم بعض لغات البرمجة مثل C وPascal بدعم تصميم البرامج الوظائفية، بينما تقوم لغات أخرى مثل Java و++C بدعم تصميم البرامج الكيانية.