FPC JVM

יש מספר התפתחויות מאוד מעניינות עם FPC לאחרונה. דבר ראשון עובדים על תמיכה לעוד ארכיטקטורות מעבדים (חלקם הגדול שייכות ל ARM). דבר שני, הקפיאו את עץ הפיתוח של 2.5.1, מה שאומר שגרסה 2.6.0 צריכה לצאת בקרוב (שזה דבר יחסי כמובן). וכרגע עץ הפיתוח עומד על 2.7.1 .
יש דיבורים על כך, כי אולי יגרמו לפסקל (FPC וכנראה גם דלפי) להיות חלק מ Firebird SQL. כלומר שפה שאפשר לתכנת בה stored procedures, trigger וכו' … ממש כמו ב Pg, רק המטרה היא להימנע משפת C. אבל זה כמובן בשלב התאוריה בלבד. אם זה יתממש, אז זה יכנס ל Firebird 3.0.
אם זה לא מספיק, אז הסתבר כי Embarcadero – המפתחת של דלפי כיום, משתמשת ב FPC ולזרוס בשביל לפתח תוכנות גרפיות עבור iPad, בדגש על תכנת הסיוע שלהם לדיווח באגים.

אבל החדשה שלדעתי הכי מעניינת, ומעט שונה הגיעה ביום שישי האחרון: יצרו עץ פיתוח מיוחד ל FPC עבור יצירת אפשרות להדר קוד פסקל לJVM. זה למעשה מתורגם ל Java Assembler אבל התוצר הוא שאפשר להשתמש בקוד פסקל בתוך Java בצורה טבעית והפוך.

כרגע, נכון לכתיבת הפוסט, חסר תמיכה בחלקים של בסיס השפה. היחידה שנקראת system – שהיא היחידה הבסיסית ביותר בפסקל, לא ממומשת עד סופה. גם ה RTL עדיין לא קיבל מימוש מלא. יש תחבירים בשפה שגם עוד לא קיבלו מימוש, וחלק גם לא יקבלו בשל מגבלות שפת Java. יש גם מספר מגבלות של פסקל מול ג'אווה, כדוגמת קוד מעגלי, אשר פסקל אינה תומכת בו (בצורה מכוונת), וכן עבודה עם namespace של ג'אווה, אשר כנראה כן ישתנה אבל בקרוב.

כמו כן, הוצג תחביר חדש בנוסף, על מנת להשתמש בספריות java מתוך קוד פסקל:

{$namespace x.y.z}
type
JavaClassName = class [external ['package.name'] [name 'ExternalClassName']] [(JavaSuperClassName|ProtocolName [, ProtocolName, ProtocolName])]
[strict][private, protected, public]
 [variables declarations]
 [method declarations]
end;

הקוד בעצם מגדיר שאנחנו משתמשים ב namespace מסויים, במקרה הזה x.y.z, ויורשים ממחלקה מסויימת השייכת לג'אווה. חשוב להבין כי זה המבנה ולא הקוד עצמו שצריך לכתוב.

לעוד מידע בנושא, ניתן לגשת לדפי הוויקי בנושא.

2 מחשבות על “FPC JVM

  1. ארתיום

    אבל למה? למה להסב פסקל ל-Java? הם רוצים לעשות מה שדלפי עשו עבור Net.?

    כי חוץ מנגיש שימוש במודולים שכתובים בפסקל ב-Java אני לא רואה יתרון.

    מלא אם נגיד פסקל היה מריץ קוד Java בעזרת JNI שזה היה יכול להיות מאוד נחמד, אבל ככה?

    1. ik_5 מאת

      הוא תומך ב JNI. זה נותן לך עוד יכולות שאין לך במערכת רגילה. כמו להריץ קוד בכל מקום שיש בו JVM, אפשרות לכתוב קוד "טבעי" עבור Android למשל, והיתרונות לגבי JVM עוד רבים.

      היתרון בעוד יכולת ליצור משהו כזה בכלל, אומרת בטוח הרחוק כי אפשר לגרום ל FPC ליצור קוד שמותאם להרבה מפרשים. תאר לך למשל ש Parrot ידע להריץ אותו למשל.

כתיבת תגובה

הזינו את פרטיכם בטופס, או לחצו על אחד מהאייקונים כדי להשתמש בחשבון קיים:

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s