22-09-2006, 20:40
|
|
|
|
חבר מתאריך: 04.08.02
הודעות: 4,468
|
|
...
/* GC לעולם לא ינהל זיכרון בצורה מושלמת, עובדה היא שמערכת קריטית (עומסים\מהירות\ זמינות)
תכתב בשפה שיותר "קרובה לברזלים". */
זה ברור, לא טענתי אחרת, לכן אמרתי לך איך אתה משווה את C# ששואף ל-RAD ל-CPP.
אבל במקרה שאתה מתכנת עם C#, למה שאני אתחיל לשחק עם dispose/finalize, כשה-GC עושה את זה בצורה מצויינת?
/* הגיד שאם היעילות חשובה לי כ"כ אכתוב ב C זה הערה לא במקום, כי ל OOP יש
הרבה יתרונות (שימוש חוזר, הכמסה, דימוי למציאות) וההבדל בביצועים הוא לא קריטי לעומת
ההבדל בין CPP ל C#. */
בתור מישהו שעוסק ב-Embedded Systems, רוב הייתרונות של OO נעלמות לדעתי.
פלוס, כמות המהדרים ל-C לפלטפורומות שונות, גדולה יותר.
//אתה רואה בקידוד קודם כל משהו שצריך להיות פשוט
אמרתי שפשטות זה אחד הדגשים של C#.
כמו שאמרתי אני עוסק ב-Embedded, אני לא נהנה מאף ייתרון/פיצ'ר שציינתי על C#.
זה נשמע כאילו אני איש מיקרוסופט שבא לשווק ולהגיד דברים טובים על C# בכל תגובה, אז זהו שלא
לאחר הלילות שבזבזתי כדי למצוא leak עלוב בתוכניות שלי, התחלתי להעריך יותר את העבודה של ה-GC. זה פשוט לא ריאלי לכתוב תוכנית מושלמת, אין דבר כזה. לא משנה כמה אתה מנוסה.
There are two ways to write error-free programs; only the third one works.
/* רק דבר אחד אחרון, "עבודה כמו חמור" היא לא בהיכרח דבר רע, מה לעשות בשביל מערכות Realtime
צריך ללכלך את היידים, אבל רק כך מבטיחים התנהגות מושלמת ומדוייקת. */
עכשיו אתה מדבר בתחומים שפשוט קשה להכניס את C# לשם.
ברור כשאתה עובד ב-low level, אתה צריך ללכלך את הידיים, אין ספק בכך.
וכמו שאמרתי, אם כבר מתכנתים low-level, אני נשאר עם C, ואני לא לבד
(אם OO היה כ"כ נחוץ ב-RT/Embedded, היינו רואים יותר מערכות שנכתבו ב-CPP ולא ASM/C)
ורק כדי להבהיר את הנקודה שלי:
אני לא חושב שצריך להסתכל על ה-GC או על ה-References (שניהם נעתקו מג'אווה) בתור חסרון.
אם לא מתאים לך לעבוד עם שפה שמנהלת לך את הזכרון, ושהיא לא תלויה במצביעים לכל עבודה, אז פשוט אל תשתמש בה.
מה שחסרון בשבילך, זה ייתרון לאנשים אחרים שעובדים בתחומים שונים, זה הכל.
** בלי קשר לדיון **
שנה טובה
_____________________________________
C pogrammers never die. They are just cast into void.
נערך לאחרונה ע"י scripter בתאריך 22-09-2006 בשעה 20:44.
|