סי שארפ (C#) היא שפת תכנות שפותחה על ידי חברת מיקרוסופט.
אם תהיתם איך, לעזאזל מבטאים C# אפשר להפסיק להילחץ כי השפה הזו נקראת גם C שארפ.
מתי נולדה סי שארפ (C Sharp)?
C# באה לעולם אחרי שמיקרוסופט הפסידה במשפט שניהלה נגדה חברת סאן.
סאן תבעה ממיקרוסופט להפסיק לשווק את שפת התכנות JAVA ++.
הניצחון המשפטי של סאן הכניס את מיקרוסופט לבעיה, משום שבאותה נקודת זמן לא היתה לה
אלטרנטיבה טובה לשפת תכנות מתקדמת מהסוג של JAVA ++, ולכן בשנת 1999 מיקרוסופט הרכיבה
צוות פיתוח בראשות מהנדס התוכנה אנדרס הלסברג מתוך מטרה לייצר תחליף ראוי.
התוצאה: ביולי 2000 הוצגה הגרסה הראשונה של C#.
מאז הוצגה התוכנה יצאו כבר 9 גרסאות שלה, כאשר האחרונה (לעת עתה) שוחררה בשנת 2020.
הדמיון בין סי שארפ לג’אווה
זה לא סוד ש C שארפ באה לעולם כדי לייצר תחליף איכותי וחוקי לשפת התכנות JAVA ++.
כך שמהרבה בחינות הלוגיקה של ואופן העבודה ב-C# מאוד מזכירים את העבודה על JAVA ++,
כל כך מזכירים עד שיש אפילו טענות שמדובר בפלגיאט.
בכל אופן מאחר שהסוגייה הזו נבחנה משפטית ולאור העובדה שאין ספק שמיקרוסופט השקיעה (ומשקיעה)
משאבים רבים בפיתוח השפה, השאלה החוקית הוכרעה ומי שרוצה להמשיך לצקצק מוזמן לעשות זאת.
מה שחשוב בהקשר המשתמש הוא שבגלל הדמיון בין השפות גם המעבר לעבודה על JAVA ++ ל-C# הוא יחסית פשוט.
כשפורטים את הדמיון בין השפות לפרוטות מגלים, בין היתר, ששתי השפות משתמשים באובייקטים כהפניות,
בהידור דינמי ובמכונה וירטואלית, קוד דינמי והתבססות נרחבת על ספריות.
אחרי שזה נאמר יש גם הבדלים בין השפות, כאשר ההבדל המשמעותי ביותר הוא ש-C שארפ היא שפה ‘מונחית עצמים’
מלאה כל פרט מוגדר כאובייקט, בעוד ב- JAVA ++ יש אמנם אלמנטים מונחי עצמים, אך לא מדובר בשפה מונחית עצמים טהורה.
סי שארפ כחלק מפרויקט דוט נט (Dot Net)
גם אם המניע העיקרי לכתיבת שפת C# היה הסיטואציה המשפטית המורכבת שנוצרה עקב הפסיקה בעניין JAVA ++.
מיקרוסופט השכילה לשלב אותה במארג רחב כחלק מפרויקט דוט נט שהחברה השיקה.
דוט נט הוא פרויקט שמטרתו לייצר שכבה וירטואלית אחידה שיכולה להתממשק ולגשר עבודה בכמה סביבות
עבודה מקבילות (וינדוס, לינוקס, יוניקס כמו ממשקים של טבלטים וסמרטפונים).
בזכות ההתממשקות עם דוט נט ניתן לעבוד עם C# בדרך של ‘זיכרון מנוהל’, כאשר המערכת מבצעת שחרור זיכרון
ואיסוף זבל שאינו בשימוש.
אמנם השפה היא בבסיס שפת תכנות סטטית אך החל מגרסה 4 היא תומכת גם בתכנות דינמי ותודות
לספריות הרבות, בפועל אפשר לעבוד עמה הרבה פעמים באופן של תכנות חזותי.
חשוב לזכור שהעובדה ש C# היא כלי מרכזי ורשמי של מיקרוסופט הופכים אותה למאוד שגורה ושימושית
ולכן מומלץ שמתכנתים שפועלים בסביבה הזו יכירו ויטמיעו אותה.

