לדלג לתוכן

שפת תכנות דינמית

מתוך ויקיפדיה, האנציקלופדיה החופשית

שפת תכנות דינמית היא שפת תכנות עילית אשר בניגוד לשפה מפורשת כוללת פעולה של הידור, אולם זו נעשית בעיקרה בזמן ריצת התוכנית. בדרך כלל יש לשפה דינמית גם מערכת טיפוסים דינמית, אך אין זה הכרחי. במקרים רבים יש בלבול בין שפות דינמיות לשפות מפורשות. שפות דינמיות רבות מכונות לא פעם "שפת תסריט", מונח שמתייחס להרצה (שורה אחרי שורה) במפרש ולא נכון לדרך ההרצה בשפה דינמית.

השפה הדינמית הראשונה הייתה LISP, אם כי מימושיה הראשונים השתמשו במפרש[דרוש מקור]. Perl, שנוצרה בשנת 1987 ופייתון (1989) נכתבו מראש כשפות דינמיות. שפות דינמיות נוספות: JavaScript, PHP, לואה ו־Ruby.

שפת תכנות דינמית במערכת קוד קבועה

[עריכת קוד מקור | עריכה]

מתודולוגיות פיתוח מודרניות כמו ארכיטקטורת מיקרו-שירותים(אנ') או עיצוב מונחה דומיין(אנ') משתמשים בשיטת בניית קוד אחיד אליו מתחברים תתי קודים. הרעיון הוא ליצור קומפוננטות(אנ') או מודולים קטנים ועצמאיים שכל אחד מהם אחראי על פיצ'ר(אנ'), נתון או תצוגה ספציפית, ואלו מתחברים ל"קוד הליבה האחיד"(אנ')" למשיכת נתוני הוראות פעילות ואופיין.[1][2]

השימוש בשפות תכנות דינמיות מאפשר גמישות רבה בבניית מערכות מידע מודולריות. הן תומכות במתודולוגיה של הפרדת דאגות(אנ') ומאפשרות לבנות קוד אחיד וקל לתחזוקה, אליו ניתן לחבר תתי-קודים המטפלים בפיצ'רים(אנ') ספציפיים, מבלי לפגוע ביציבות או בביצועים של המערכת כולה. יתרונות שפות התכנות הדינמית ב: הפעלה דינמית של פונקציות/מתודות על בסיס "קוד הליבה האחיד" אותו במקרה הצורך ניתן לשנות באופן ממוקד, מהיר ויעיל. קלות הטמעה ושינוי, במקרה צורך בשינוי או תיקון נקודתי ניתן לפנות לתת-הקוד הרלוונטי, מבלי להשפיע על שאר המערכת. אפשרות הרחבה(אנ') בקלות ובחיבור לליבה באמצעות הגדרות קונפיגורציה, ללא שינוי מהותי בקוד הליבה עצמו. ואפשרות שימוש ב-Reflection לבדוק את מבנה אובייקטים והמתודות שלהם בזמן ריצה, מה שמאפשר גמישות רבה בחיבור רכיבים.[3][4]

הערות שוליים

[עריכת קוד מקור | עריכה]
  1. Birney, Ewan, and Richard Durbin. "Dynamite: a flexible code generating language for dynamic programming methods used in sequence comparison." Ismb. Vol. 5. 1997.
  2. Levesque, Hector J., et al. "GOLOG: A logic programming language for dynamic domains." The Journal of Logic Programming 31.1-3 (1997): 59-83.
  3. Paulson, Linda Dailey. "Developers shift to dynamic programming languages." Computer 40.2 (2007): 12-15.
  4. Pang, Aaron, Craig Anslow, and James Noble. "What programming languages do developers use? A theory of static vs dynamic language choice." 2018 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). IEEE, 2018.
ערך זה הוא קצרמר בנושא תוכנה. אתם מוזמנים לתרום לוויקיפדיה ולהרחיב אותו.