close
לדלג לתוכן

J Sharp

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

#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 (באנגלית)
BERJAYA ערך זה הוא קצרמר בנושא תוכנה. אתם מוזמנים לתרום לוויקיפדיה ולהרחיב אותו.