עבור לתוכן

שאלה על C#

Featured Replies

פורסם

אני תלמיד כיתה י"א, ואני לוקח השנה הגברת מחשבים.

מלמדים אותנו C#, והשאלה שלי היא - למה? ממה שאני ראיתי משתמשים הרבה יותר בC\C++..

איפה בדיוק C# מתעלה על השפות האחרות?

פורסם

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

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

פורסם

.NET היא פלטפורמה מעולה לאפליקציות ול web services למינהם. בנוסף אתה רץ בסביבה מנוהלת שתומכת בניהול זיכרון עצמאי, היא תומכת בstrong typing, ולא תלוית ארכיטקטורה (מה שהופך פורטביליות לדבר פשוט מאוד ברוב המקרים).

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

כמובן ששום דבר לא מושלם, ויש הרבה חסרונות ל.net: זאת סביבה שתמיד תהיה יותר איטית מקוד native, התוכנית תמיד תצרוך יותר משאבים, הרבה יותר מסובך לתהעסק עם דברים low-level ולבצע אינטרופ עם קוד קיים של C\C++, ניתן לבצע דיקומפייל מלא לכל מודול (יכול להוות בעיית אבטחה רצינית מאוד, אבל מה שבדרך כלל עושים בשביל להתגבגר על כך זה לבנות DLL בC++ שמכיל את הקוד הרגיש שאתה לא מעוניין שיחשף,ולבצע אליו pinvoke מהקוד הדוטנטי), ויש הרבה מאוד תחומים שפשוט בלתי ניתן להתעסק בהם בתור מתכנת .net (תשכח מלכתוב אלגוריתמים או קוד שדורש ביצועים גבוהים ב.net)

לבניית אפליקציות זה פלטפורמה מעולה, אך מומלץ להכיר גם מה שהולך מתחת למכסה המנוע וללמוד שפה יותר low-level סטייל C

פורסם

באופן אישי, אם כבר הולכים בכיוון הזה אולי הייתי מלמד פייתון או משהו.

פייתון לדעתי היא לא מספיק strict בשביל ללמד כשפה ראשונה. אמנם זה מאפשר לתלמידים להתמקד באלגוריתמיקה, אבל בגמישות הזו יש הרבה pitfalls שתלמידים מתחילים יכולים ליפול בהם.

פורסם
  • מחבר

תודה רבה על התגובות

לא לגמרי הבנתי - מה בדיוק עושה היום מתכנת שוק בעל ידע בC# בלבד?

פורסם

עובד בחברה שמתכנתים בה ב-#C (יש הרבה יותר כאלה ממה שאתה חושב), או לומד שפה אחרת. זה לא כזה קשה. אני הייתי מתכנת ++C, ולמדתי #C בשבוע ברגע שההתחלתי לעבוד. כרגע אני עובד בשתיהן.

פורסם

עובד בחברה שמתכנתים בה ב-#C (יש הרבה יותר כאלה ממה שאתה חושב), או לומד שפה אחרת. זה לא כזה קשה. אני הייתי מתכנת ++C, ולמדתי #C בשבוע ברגע שההתחלתי לעבוד. כרגע אני עובד בשתיהן.

עכשיו אני קצת מקנא בך ;)

פורסם
  • מחבר

מה בדיוק מתכנתים עם C#? אתה יכול לתת לי דוגמא מציאותית?

פורסם

כמעט אותו דבר כמו ++C וג'אווה. מכיר dot net framework? אז כל תוכנה שדורשת את זה נכתבה ב-#C (או באחת משפות התכנית האחרות של פלטפורמת דוטנט, שהן פחות או יותר שקולות).

פורסם
  • מחבר

אוקי :)

תודה רבה על כל התגובות, עניתם על השאלה שלי פחות או יותר ;D

ארכיון

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

דיונים חדשים