C++/מבוא: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
אין תקציר עריכה
Ybungalobill (שיחה | תרומות)
תיקון שפה + הרחבה, אובייקטים -> עצמים
שורה 1:
{{C++}}
שפת [[w: C++|C++]] הומצאה כהרחבה לשפת C הפופלורית ע"י [[w: ביארן סטרוסטרופ|ביארן סטרוסטרופ]], בתוספת של מחלקות, פונקציות וירטואליות, חריגות, ועוד, ההופכות אותה לשפה מונחת אובייקטים.
כהרחבה ([http://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B כמעט]) כל תוכנית C תוכל להתקמפל בקומפיילר של C++. היתרון הגדול במימוש כזה - הוא הפופולריות של שפת C דאז.
 
שפת [[w: C++|C++]] הומצאה כהרחבה לשפת C הפופלורית ע"י [[w: ביארן סטרוסטרופ|ביארן סטרוסטרופ]], בתוספתעל ידי תוספות של מחלקות, פונקציות וירטואליות, חריגות, העמסה ועוד, ההופכות אותה לשפה מונחת אובייקטיםעצמים.
מכיוון של C++ שומרת תאימות עם C, ניתן לתכנת בה גם בסגנון פרוצדורלי, וגם מונחה אובייקטים. בנוסף, התבניות בשפה מאפשרות תכנות גנרי - C++ היא שפה עם כמה פרדיגמות תכנות שונות.
כהרחבה ([http://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B כמעט]) כל תוכנית C תוכלאפשר להתקמפללהדר בקומפיילרבמהדר של C++. היתרון הגדול במימוש כזה - הוא הפופולריותשניתן שללהשתמש שפתבקטעי קוד הנכתבו ב-C דאז.בתוך תוכנת C++.
 
מכיוון שלכיוון ש-C++ שומרת תאימות עם C, ניתן לתכנת בה גם בסגנון פרוצדורלי, וגם מונחה אובייקטיםעצמים. בנוסף, התבניות בשפה מאפשרות תכנות גנרי - C++ היא שפה עם כמהשלוש פרדיגמות תכנות שונות.
 
== אז למה C++? ==
יש מספר סיבות שניתן להעלות על הדעת להסתפק ב C.
 
* '''ביצועים''' - קיימת דיעה ש C++ בעלת ביצועים נמוכים משל C.
** הביצועים של C++ לא נמוכים משל C, אם משתמשים בה נכון. באופן כללי ביצועים בשתי שפות אלה נקבעים בעיקר ע"י יכולת המתכנת. המתכנת צריך לדעת אילו כלים של השפה פוטנציאלית מאיטים את התוכנית ולהמנע משימוש מופרז בהם (למשל חריגות ו-dynamic_cast). כיוון ש-C++ היא הרחבה של C, אין הבדל (מבחינת ביצועים) בין אם נהדר את הקוד באמצעות מהדר C או C++.
** לעיתים קרובות, מהירות הפיתוח חשובה יותר ממהירות התוכנה, וכאן יש ל C++ יתרון.
* '''פשטות''' - הכלים המתקדמים של C++ מסובכים יותר מהכלים הבסיסיים של C. ולכן קל יותר ללמוד C.
 
נכוןעל שאף לשכלים -רבים של C++ יש יותר תכולות ודורשתדורשים יותר הבנה מהמתכנת, אבל השימוש בתכולותבכלים אלה מפשט את התוכנית:
** חלוקה לוגית ברורה של הקוד (מחלקות, מרחביומרחבי שמות עוזרים בעניין זה).
** כתיבת קוד גנרי, פעם אחת (תבניות).
** טיפול נוח בשגיאות שצצות במהלך התוכנית (חריגות).
** שימוש חוזר בקוד קיים (ירושה).
* שימוש ב-STL (הספריה התקנית), מקל על כתיבת הקוד ולרוב מקצר אותו.
 
{{C++|מוגבל=כן}}
 
[[קטגוריה:C++]]
* פשטות - C++ מסובכת יותר מ C. ולכן עדיף להשתמש ב C.
נכון ש ל - C++ יש יותר תכולות ודורשת יותר הבנה מהמתכנת, אבל השימוש בתכולות אלה מפשט את התוכנית:
** חלוקה לוגית ברורה של הקוד (מחלקות, מרחבי שמות עוזרים בעניין זה).
** כתיבת קוד גנרי, פעם אחת (תבניות)
** טיפול נוח בשגיאות שצצות במהלך התוכנית (חריגות)
** שימוש חוזר בקוד קיים (ירושה)