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 (באנגלית)
Crystal kpackage.png ערך זה הוא קצרמר בנושא תוכנה. אתם מוזמנים לתרום למכלול ולהרחיב אותו.
Logo hamichlol 3.png
הערך באדיבות ויקיפדיה העברית, קרדיט,
רשימת התורמים
רישיון cc-by-sa 3.0