לואה (שפת תכנות) – הבדלי גרסאות
תוכן שנמחק תוכן שנוסף
מ הוספת {{תב|ויקישיתוף בשורה}} בקישורים חיצוניים במידה וחסר (תג) |
Matanyabot (שיחה | תרומות) מ בוט החלפות: \1מאחר ש, לעיתים, בדרך כלל, \1על ידי, זיכרון |
||
שורה 34:
== LuaRocks ==
[[מערכת ניהול חבילות|מערכת ניהול החבילות]] של Lua (הופיעה לראשונה ב־2007, הכתובה גם היא בשפה עצמה{{הערה|{{קישור כללי|כתובת=https://github.com/luarocks/luarocks/wiki/Release-history|הכותב=Hisham Muhammad (יזם LuaRocks)|כותרת=מעקב שינויים רשמי של מערכת ניהול החבילות של Lua באתר GitHub.|אתר=github.com|תאריך=}}}}) נקראת LuaRocks והיא מאפשרת שיתוף ספריות וקוד הכתובים ב־Lua. החבילות עצמן מכונות „rocks” בצירוף פירוש שם השפה Lua בפורטוגזית „ירח”, נגזר המונח „אבני ירח” לתאר פיסות קוד הכתובות בשפה שהם
המערכת יודעת לטפל בתלותיות בין החבילות עצמן, בגרסאות שלהן, ושל מפרש ה־Lua הזמין במחשב ויוצרת סביבה נוחה לפיתוח יציב ושיתופי ב־Lua. החבילות מסודרות במקום מרוכז בכל מחשב וכך חוסכות הכלה מיותרת של אותם רכיבים בכל פרויקט Lua חדש.
שורה 210:
== מימושים עיקריים ==
מהיותה שפה זעירה ו[[קוד פתוח|חופשית]] שנועדה ל[[מערכת משובצת מחשב|שיבוץ]], ל־Lua קיימים [[מימוש|מימושים]] רבים שפותחו במשך השנים למגוון מטרות שונות
מצב זה העמיד אתגר ל[[קוד פתוח|קהילת החופשית]] של Lua ולמיזם מערכת ניהול החבילות שלה ([[#LuaRocks|LuaRocks]]) לנסות ליצור שיתוף פעולה ותיאום בין החבילות הזמינות שהציעו חברי הקהילה מול הגרסאות השונות של השפה שחלו במימושים המועדפים עליהם.{{הערה|{{קישור כללי|כתובת=https://realmensch.org/2016/05/28/goodbye-lua/|הכותב=Tim Mensch|כותרת=Fragmentation of Lua|אתר=RealMensch|תאריך=|תאריך_וידוא=2019-02-28|ציטוט=The major breaking changes in Lua in 5.3 seem to be fragmenting the already sparse Lua library ecosystem. Anyone who creates a library needs to now support LuaJIT (a 5.1/5.2 hybrid)}}}}
שורה 219:
==== Lua (PUC Rio) ====
זהו המימוש המרכזי והנפוץ ביותר של Lua ונהוג
PUC Lua ממיר קוד מקור של Lua ל־[[bytecode]] הסטנדרטי של השפה תוך כדי שהקוד עובר בדיקות ראשוניות כגון חוקיות תחביר לפני הריצה שלו. ניתן לייצא את ה־bytecode שנוצר לתוך קבצים מתוך הקוד בעזרת ה[[שגרה (תכנות)|פונקציה]] <code>()string.dump</code> או מחוץ לקוד בעזרת הפקודה <code>luac</code> [[מדמה מסוף|במסוף]].{{הערה|{{קישור כללי|כתובת=https://www.lua.org/manual/5.2/luac.html|כותרת=luac man page|אתר=www.lua.org|תאריך_וידוא=2019-02-28}}}}
שורה 230:
LuaJIT מעודדת את המתכנת להיעזר ב[[שגרה (תכנות)|פונקציות]] ו[[ספרייה (תכנות)|ספריות]] הכתובות בשפת C במקום להיעזר בספריות [[צד שלישי]] הכתובת ב־Lua. ממשק ה־FFI של LuaJIT מאפשר גישה ושימוש טבעי עם ספריות, [[מבנה נתונים|מבני נתונים]] ופונקציות מספריות בשפת C בלי לגרוע בביצועים שלה וגם מבלי צורך להיעזר ב־Lua C API כפי שדרוש במימוש הסטנדרטי של PUC Lua.
הביצועים של LuaJIT
==== eLua ====
שורה 237:
תכונות מרכזיות:{{הערה|{{קישור כללי|כתובת=http://www.eluaproject.net/overview|כותרת=Overview - eluaproject|אתר=www.eluaproject.net|תאריך_וידוא=2019-03-05}}}}
* שליטה מלאה וישירה בחומרה שעליה היא רצה, מאחר
* תאימות הקוד על מערכות משובצות בעלי [[סט פקודות|ארכיטקטורה]] שונה וחומרה מגוונת. המימוש של eLua דואג למגר כל הבדל אפשרי בהתנהגות השפה על גבי מעבדים עם סט פקודות שונה.
* המימוש מתוכנן בקפדה כך כדי לאפשר החלפה ושדרוג מזדמן של החומרה מבלי לגרום לאי־תאימויות בקוד שנכתב עד כה.
* [[מעטפת (מחשבים)|מעטפת]] המאפשרת אינטראקציה נוחה בתהליך הפיתוח בין הקוד [[מערכת משובצת מחשב|המשובץ]] לקוד שנערך
<br />
|