J Sharp

מתוך ויקיפדיה, האנציקלופדיה החופשית
הבהרה: הכותרת הנכונה של המאמר היא #J. סימן ה־# הוחלף מפאת הגבלות טכניות.
‏#J
פרדיגמות מונחית עצמים, מובנית, אימפרטיבית
תאריך השקה 2002 עריכת הנתון בוויקינתונים
מפתח מיקרוסופט
הושפעה על ידי Java, ++J
https://docs.microsoft.com/en-us/previous-versions/msdn10/bb188593(v=msdn.10)
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית

#J (מבוטא בעברית: ג'יי שארפ) היא שפת תכנות אימפרטיבית, מובנית, ומונחית עצמים מבית מיקרוסופט שנועדה לשמש כשפת מעבר למתכנתי ++J ו־Java, על מנת שיוכלו להשתמש בידע ובאפליקציות הנוכחיות שלהם בסביבת־.NET Framework של מיקרוסופט. השפה הוצגה לראשונה בשנת 2002 ופיתוחה הופסק בשנת 2007. התמיכה לגרסה הסופית של #J הסתיימה באוקטובר 2017. היא פותחה במרכז הפיתוח של מיקרוסופט בהייטק סיטי בהיידראבאד, הודו.

הבדלים בסיסיים בין #J ו-Java[עריכת קוד מקור | עריכה]

שתי השפות משתמשות באותו תחביר כללי אך נעשו מספר שינויים ב-#J על מנת שתתמוך בסביבת .NET. לדוגמה, על מנת להשתמש בתכונות ב- .NET עם מחלקה סטנדרטית של JavaBeans, יש לכתוב לפני כן פעולות setter (אתחול תכונות) ו־getter (אחזור תכונות) את ההערה הבאה:

/** @beanproperty */

ולשנות את שם המשתנה הפרטי (משתנה שניתן לגשת אליו ישירות מהמחלקה בו הוא נמצא בלבד - private) כדי שיהיה שונה מהסיומת של שמות ה־getXxx ו־setXxx.

J# לא ממירה קוד מקור בשפת Java ל-Java Bytecode (קובצי class.) ולא תומכת בפיתוח java applet[1] או יכולה להחזיק applets ישירות בדפדפן אינטרנט, אם כי היא כן מספקת פעולת מעטפת[2] (Wrapper) (אנ') הנקראת "Microsoft J# Browser Control" אשר מאחסנת אותם כ־ActiveX. לבסוף, Java Native Interface (או בקיצור, JNI, (אנ')) ו־Raw Native Interface (או בקיצור, RNI) מוחלפים ב־P/Invoke[3];‏ #J לא תומכת ב־Remote Method Invocation (או בקיצור: RMI).

ציטוט ממגזין InfoWorld (בתרגום לעברית) על השפה: הממשק של #J ל־NET Framework. הוא יציב, אך לא רציף ומגובש כמו של #C. בפרט, קוד בשפת #J לא יכול להגדיר תכונות, אירועים, דלגייטים (delegates) ו־Value types חדשים. #J יכול להשתמש במבני הנתונים הללו אם הם מוגדרים באסמבלי וכתובים בשפה אחרת, אך זו חוסר היכולת של #J להגדיר מבני נתונים חדשים אשר מגבילה את השפעתה ואת התפעוליות הבינית (היכולת להעביר מידע בין מערכות באופן שימושי) שלה.

ראו גם[עריכת קוד מקור | עריכה]

  • #C – שפת תכנות
  • ++J – שפת תכנות
  • Java – שפת תכנות
  • .NET – שכבת תוכנה של מיקרוסופט

קישורים חיצוניים[עריכת קוד מקור | עריכה]

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ Applet - יישום קטן אשר רץ בתוך הדפדפן.
  2. ^ פעולת מעטפת היא פעולה אשר תפקידה המרכזי הוא לזמן פעולות אחרות
  3. ^ Platform Invoke באתר Microsoft Docs (באנגלית)
ערך זה הוא קצרמר בנושא תוכנה. אתם מוזמנים לתרום לוויקיפדיה ולהרחיב אותו.