C++ vs. C# - עמוד 2 - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

C++ vs. C#


GWeizman

Recommended Posts

המפ

נחזור ל.net, אני רק רוצה ליהיות בטוח שהבנתי נכון, גם המשתמש צריך אותו?

ואם אני לומד את 2 השפות, עם מה כדאי להתחיל?

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

קישור לתוכן
שתף באתרים אחרים

בC# יש את האובייקט Marshal שמאפשר לעשות את חלק מהדברים האלו.

ואם בכלל רוצים להתפרע אפשר להכניס בלוק unsafe שיתן לך לשחק כאוות נפשך עם פוינטרים ושאר ירקות.

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

קישור לתוכן
שתף באתרים אחרים

אני נוטה לא להסכים איך כי ההבדל בביצועים יהיה כמעט חסר משמעות, הרי אתה לא תכתוב תוכנית שלמה בבלוק ענק של unsafe, הרי שיפור הביצועים הקטן יהיה זניח, בעוד כל שאר התוכנית שלך רצה תחת ה CLR עם הניטור של ה GC וכו'..

ברגע שאתה לוקח על עצמך לפתח מערכת בשפת managed code אתה יודע שהולכים להיות עלויות בביצועים. וניסיון "לחסוך" בביצועים ע"י כתיבת unsafe הוא פתרון רע ובכלל צורת עבודה לא טובה.

אם יש לוגיקה בתוכנית שלך בה הביצועים הם פקטור קריטי, פשוט תכתוב אותה ב ++C ואותה תעטוף בעזרת c++/cli. כך אפילו תחסוך את כל ה marshling שהיו מתבצעים אם היית קורא ל invoke'ים למיניהם דרך #C.

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

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

אפילו יש ציטוט של בייארן סטרובסטרופ שאומר ש ++C לא באמת שווה הרבה אלא אם עומדת מאחוריה איזו ספרייה טובה..:)

קישור לתוכן
שתף באתרים אחרים

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

אבל לפי דעתי, תתחיל מ C#, כי שום ספר למתחילים ב C לא ילמד אותך לתכנת, אתה תלמד רק את הסינטקס. אף ספר של "למד תכנות תוך 12 שעורים" לא עובד.

אז אתה יכל לוותר על השלב הזה.

קישור לתוכן
שתף באתרים אחרים

בכל מקרה, איפה כדאי להתחיל ללמוד C# (באינטרנט, כרגע..)

ניסיתי את האתר של eitan, כי PHP למדתי משם דיי טוב, אבל האתר של הc# מבולגן, לא מובן, ומדלג על דיי הרבה דברים.

אין לי בעיה עם השפה (עברית/אנגלית), רק שיהיה לפי הסדר ויהיה מובן.

גיא.

קישור לתוכן
שתף באתרים אחרים

תעבוד עם C עד שתגיע לרמה גבוהה ואח"כ לC++

לא מומלץ ללמוד OOP לפני שיש ידע רחב וברמה גבוהה בתיכנות פשוט

זאת שטות מוחלטת.

לא רק שלמידת C תבזבז את הזמן שלך, היא גם תלמד אותך כל מיני דברים שתצטרך בפירוש "לשכוח" ברגע שתתחיל ללמוד ++OO/C. דברים כמו malloc, printf, שימוש לא נחוץ ב switch, שימוש לא נחוץ במאקרויים של #define, שיטות התמודדות עם שגיאות, ועוד..

אם המטרה הסופית שלך היא ללמוד ++OO/C, אז אל תטרח ללמוד C. זה רק יגרום לך לבלבול ובזבוז זמן.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...