תכנות פונקציונלי – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
שורה 48:
תכונה זאת נכנסה למיינסטרים משפות פונקציונליות. שפות אימפרטיביות רבות תומכות גם הן בהעברת פונקציה כפרמטר; [[שפת C]] מאפשרת העברה של מצביעים לפונקציה (המתפקדים כפונקציות לכל דבר), ואף יש לה פונקציית ספריה הנעזרת בכך - qsort. האלגוריתמים בספריית התבניות הסטנדרטית של ++C הם דוגמה בולטת נוספת לתמיכה אינטנסיבית של שפה אימפרטיבית בהעברה של פונקציות כפרמטר לפונקציות אחרות (לצורך מיון, חיפוש, סינון וכדומה).
 
כל שפה התומכת ב[[תכנות מונחה-עצמים]] מאפשרת העבדההעברה של אובייקטים שיש להם מתודות, וניתן להשתמש באובייקט כ"ידית" המחזיקה פונקציה (למשל בשפת [[Java|ג'אווה]], אף שהיא איננה תומכת בהעברה של מתודה כפרמטר בפני עצמו). תבנית העיצוב Strategy מגדירה תרחישים וטכניקות לשילוב של המנגנון הזה בעיצוב של תוכניות מונחות-עצמים.
 
[[תכנות מונחה-אירועים]] הוא פרדיגמה תכנותית המבוססת על היכולת לרשום קוד לביצוע במועד שאיננו ידוע מראש; העברת פונקציה כפרמטר משתלבת היטב עם הטכניקה הזאת.