שלח תשובה

זירת השאלות

12665
צפיות
3
תשובות

הבדל עיקרי בין C לבין ++C ו-#C

,‏ 9 באוקטובר, 2012

שלום לכולם.
רציתי לדעת מהם ההבדלים המהותיים בין שפת C שהיא פרוצדוראלית לבין השפות C++ ו – C#.
תודה רבה…

תגיות: ,

3 תשובות

  1. Eyal Elarar הגיב:

    C זה השפה הראשונה שאפשר לומר שהיא גמישה ואפשר ליצור איתה הרבה בסביבה דוס
    C++ זאת שפת מונחת עצמים ,השלב הבא של שפת C מה שמתאים לפיתוח בחלונות
    C# הגלגול הבא של C++ ,היא גם מונחת עצמים ומותאמת לתכנות Web והיא חלק מ.NET
    תוכל לקרוא יותר בויקיפדיה…..

  2. להלן ההבדלים העיקריים בין C לבין ++C
    1)C++ יכול להריץ את הקוד של C בו בזמן ש C אינו יכול להריץ קוד של C++.
    2) המידע ב C++ מאובטח(מוחבא) בו בזמן שהמידע ב C אינו מאובטח
    3) C נחשבת לשפה ברמה נמוכה , כלומר פחות ידידותית ומובנת מאשר C++
    4) C נחשבת לשפה מונחית פונקציות בו בזמן ב C++ נחשבת לשפה מונחת עצמים

    C# לעומת זאת היא שפה שנחשבת כידידותית יותר מ C++, בנויה כולה על עצמים, C# היא שפה שפותחה ע"י מיקרוסופט ורצה בסביבת .NET.
    בשונה מC ו C++ , בC# ניתן להשתמש על מנת לבנות אתרי אינטרנט.

  3. Oren Rubin הגיב:

    C אינה שפה שהיא Object Oriented, קרי, אבני הבסיס הם פונקציות ודרך לאגד מספר נתונים בשם חדש (Struct). אין בC דרך טבעית להגיד שפונקציות שייכות לטיפוס מסויים (ואז הן נקראות מתודות), דבר המבטיח בזמן קומפילציה שלא נפעיל מתודה (פונקציה) עם מידע שגוי כך שיגרום לשגיאה בזמן ריצה.
    ב C אין לTemplates, והדרך לבנות מבני נתונים בעלי טיפוסים שונים היא ע"י מצביעים מסוג VOID, אשר גם שם נאלצים לוותר על בדיקות קומפילציה (שגיאות יתגלו בזמן ריצה).
    יש עוד הבדלים בין C ל C#, לדוגמא, ניהול זכרון בצורה אוטומטית (נאסף ע"י Garbage Collection), דבר שחוסך המון באגים וזמן רב לפיתוח. ב C אין את המושג Reflection, שהיא היכולת של תוכנית לתחקר את עצמה בזמן ריצה (דבר שימושי מאוד לכתיבת ספריות צד שלישי אשר לא מכירות מראש את הקוד שלך ורק בזמן ריצה ידעו ויפעלו בהתאם).
    C# אינו בדיוק גרסה חדשה של C++, כי הגרסה החדשה של C++ אמורה לצאת "בקרוב" (היא קרויה C++ 0X כי היתה אמורה לצאת לפני 2010 אבל לא ידעו מתי).
    יש עוד כמון הבדלים מהותיים בין C++ לC# אבל לא אכנס מכיוון שלא זאת השאלה וסוגיה ארוכה (דוגמא אחת היא מערכת Templates שונה לחלוטין).

שלח תשובה