-
תכנות פרוצדורלי: C, Pascal
-
תכנות מונחה עצמים: C++, Java
-
תכנות בסיסי-נתונים: SQL
-
תכנות לוגי: Prolog
-
תכנות פונקציונלי: LISP, ML
אין זו המסגרת לפרוט את כל ההבדלים בין הפרדיגמות ועל כן נתמקד בשתי הגישות העיקריות בהן תיתקל בשנותיך הראשונות כתוכניתן - התכנות הפרוצדורלי והתכנות מונחה העצמים.
תכנות פרוצדורליProcedural Programming |
תכנות מונחה עצמים Object Oriented Programming | |
שפות |
C, Pascal, Fortran, Basic, Visual Basic | C++, Java, Ada, OO Pascal |
מבנה הקוד |
מחולק לאוסף פונקציות הקוראות אחת לשניה |
מחולק לאוסף עצמים הדורשים שירות (פונקציה) זה מזה |
תהליך התכן |
מתחילים מתהליך עיקרי ומפרטים תהליכי משנה |
מתחילים מתהליך עיקרי ומזהים עצמים המשתתפים בו |
קשר בין פעולה למבצע |
אין קשר קבוע מוגדר |
לכל עצם פעולות ה"שייכות" לו |
שימוש חוזר בקוד |
מבוצע ע"י קריאה לפרוצדורה |
יש ירושה של קטעי קוד בין מחלקות או הפעלת שירות של עצמים |
הסתרת קוד |
ניתן להסתיר קוד ברמת מודול יחיד |
ניתן להסתיר קוד ברמת עץ ירושה שלם |
קריאות במהלך ריצת התוכנית |
הפרוצדורות קוראות זו לזו, כ"א מבצעת את סדרת הפעולות שהוגדרה לה עד תומה והתוכנית הראשית מכתיבה את סדר הפעולות |
העצמים קוראים זה לזה, פעילות העצם תלויה בקריאה ובמצבו. סדר הפעולות המבוצע על ידי העצם מוגדר על ידו |
קלטים |
התאמת קלטים לפעולות (פרמטרים לביצוע הפעולות) |
התאמת קלטים לפעולות ולעצמים (איזו פונקציה להפעיל, למשל) |
העמסה של פונקציות |
לא קיים |
שימוש באותו שם פונקציה עם פרמטרים שונים לביצוע התנהגות אחרת |
שמירת מידע דינמי |
יש צורך בהגדרת משתנים גלובליים רבים, והמידע בהם חשוף לכל |
כל עצם שומר במסגרתו את נתוני מצבו, ומגביל את הגישה לנתונים אלו |
ועוד... |
מתוך: http://edu.technion.ac.il/Courses/cs_problems/front_page.htm