J Sharp
- הבהרה: הכותרת הנכונה של המאמר היא #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 להגדיר מבני נתונים חדשים אשר מגבילה את השפעתה ואת התפעוליות הבינית (היכולת להעביר מידע בין מערכות באופן שימושי) שלה.
ראו גם
[עריכת קוד מקור | עריכה]קישורים חיצוניים
[עריכת קוד מקור | עריכה]אתר האינטרנט הרשמי של J Sharp
- Visual J# Design Choices: A Conversation with Pratap Lakshman at the Wayback Machine (archived 2007-04-16)
- P/Invoke
- J# בוויקיפדיה האנגלית
הערות שוליים
[עריכת קוד מקור | עריכה]- ^ Applet - יישום קטן אשר רץ בתוך הדפדפן.
- ^ פעולת מעטפת היא פעולה אשר תפקידה המרכזי הוא לזמן פעולות אחרות
- ^ Platform Invoke באתר Microsoft Docs (באנגלית)