עבור לתוכן

C++ vs. C#

Featured Replies

פורסם
  • מחבר

המפ

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

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

פורסם

כן המשתמש צריך אותו.

פורסם

המפ

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

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

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

פורסם

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

פורסם

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

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

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

פורסם

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

C# מספקת FRAMEWORK שלם, ואפשר לבנות בה מגוון רחב של אפליקציות.

פורסם

אני נוטה לא להסכים איך כי ההבדל בביצועים יהיה כמעט חסר משמעות, הרי אתה לא תכתוב תוכנית שלמה בבלוק ענק של 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# מבולגן, לא מובן, ומדלג על דיי הרבה דברים.

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

גיא.

פורסם

אתה יכול להתחיל מ corner.co.il.

פורסם

מצטער שאני מתפרץ לדיון אבל רציתי לדעת עוד קצת על Python, האם היא יותר קלה מ-C++?

+ אין צורך בהתקנת "קומפיילר" צד 3 לצורך הרצת תוכניות? (כדוגמת C# ושפות .NET)

פורסם

אתה צריך להתקין INTERPRETER לפייטון כדי להריץ את התוכניות.

והיא הרבה יותר קלה מC++.

פורסם

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

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

פורסם

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

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

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

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

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

ארכיון

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

דיונים חדשים