מה ההבדל בין C ל- C ++?

מְחַבֵּר: Lewis Jackson
תאריך הבריאה: 12 מאי 2021
תאריך עדכון: 25 יוני 2024
Anonim
How different are C and C++? Can I still say C/C++?
וִידֵאוֹ: How different are C and C++? Can I still say C/C++?

תוֹכֶן

ש:

מה ההבדל בין C ל- C ++?


ת:

ההבדל המהותי הגדול ביותר בין שפת המחשבים C שפורסמה לראשונה בשנת 1972, לבין שפת התכנות C ++ שיצאה בשנת 1983, כמעט 10 שנים לאחר מכן, היא שה- C המקורית היא דוגמא לשפת מחשוב פרוצדורלית, בעוד ש C ++ היא ייצוג של העקרונות. של תכנות מונחה עצמים (OOP). כתוצאה, C ++ תומך בשיעורים ואובייקטים, דרכים חדשות לבניית קוד ודרכים חדשות לחשוב על תכנות.

שפת תכנות פרוצדורלית משתמשת בשיחות פרוצדורה לביצוע שלבים עוקבים של הוראות מחשב על ידי פירוק קוד למשתנים, מבני נתונים ותת-השמש.

תכנות מונחה עצמים זה קצת שונה. בתכנות מונחה עצמים, אובייקטים מכילים תכונות שונות, וגם קוד פרוצדורלי המכונה שיטות.

פילוסופיית האובייקטים פירושה שתוכניות מוכוונות-עצמים פועלות בדרכים חדשות ושונות כפי שמעידים Bjarne Stroustrop, יוצר C ++, למשל, במאמר משנת 1991 שכותרתו "מהי תכנות מונחה-עצמים?" בו מתכנת המתכנת אלמנטים חיוניים המבדילים בין שפות תכנות ומבנים של OOP לבין אחרים.

בפרט, C ++ מספקת פתרונות כמו אנקפסולציה ומרחב שמות למשתנים ומשתפר בתהליכי טיפול מסוימים בשגיאות. פן חיובי נוסף בתכנות מונחה עצמים מאפשר שימוש חוזר באובייקטים ומניפולציות שונות אחרות של האובייקט כפריט נתונים. ההצטלבות של מעמדות ואובייקטים (ומופעי אובייקטים) מספרת למתכנתים הרבה על הרעיונות והאפשרויות העומדים מאחורי OOP, ומבדילה גישה זו ממודלים קודיים "לינאריים" קודמים המשמשים שפות מוקדמות כמו BASIC ו- Fortran. OOP הוא, במובנים רבים, סטייה מהדרך הישנה של מחשוב מבוסס קו, ופינוי לעולם האובייקטים הווירטואליים ומודל הנתונים המתוחכם יותר.


ההבדל העיקרי הוא ש- C ++ בונה על שפת ה- C הפרוצדורלית על ידי הוספת הפונקציונליות המייצגת את פילוסופיית התכנות מונחה האובייקטים. מסיבה זו C ++ נעשה שימוש נרחב בעידן ה- OOP, בשילוב עם שפות אחרות ב- OOP כמו Microsoft Visual Basic.