שפת תכנות
מתוך ויקיפדיה, האנציקלופדיה החופשית
שפת תכנות היא אוסף של חוקים תחביריים (Syntax) וסמנטיים (Semantic) שבאמצעותם ניתן להגדיר למחשב באופן מפורט את הפעולות שעליו לבצע במצבים שונים, על סוגי קלט שונים. המושג שפת מחשב (Computer Language), הוא מושג רחב מאשר שפת תכנות (Programming Language) ולכן השימוש בו נפוץ יותר.
תוכן עניינים |
[עריכה] מאפייני שפות התכנות
שפת התכנות במהותה נועדה לגשר בין המחשב, ששפתו, הקרויה שפת מכונה, מורכבת מרצפי סיביות, לבין המתכנת שמעדיף לתקשר בצורה מילולית יותר, כמו גם לאפשר תקשורת טובה בין המתכנתים. השימוש בשפת תכנות לשם כתיבת תוכנית מחשב קרוי תכנות. על מנת להקל על המלאכה, שפת התכנות מציעה מבחר כלים המשמשים להפשטה, ארגון וביאור הקוד, כגון מבני בקרה (לולאות, תנאים, מתגים וכדומה), פרוצדורות, עצמים, וכו'.
לכל שפת תכנות, בדומה לשפה טבעית, יש אוצר מילים משלה וכללי תחביר ייחודים, אך המרחק בין השתיים רב. אוצר המילים של שפת תכנות מצומצם ביותר, ואינו עולה על מאות אחדות של מילים. כללי התחביר נוקשים, וחריגה מהם מתפרשת כשגיאה שיכולות להיות לה השלכות על הפעלת המערכת כולה. מאפייניה של שפת תכנות כוללים את הרכיבים הבאים:
- נתונים ומבני נתונים, כגון סוגי המספרים שהשפה יודעת לטפל בהם, ומבנים מורכבים יותר המוכרים על-ידי השפה, כגון רשימות.
- פקודות ומבני בקרה שהשפה יודעת לבצע.
- עקרונות העיצוב של השפה ותפישת העולם שמאחוריה.
שפות תכנות אמנם נוצרו על-מנת להגדיר פעולות של מחשבים, אבל הן יכולות לשמש גם על-מנת לתאר אלגוריתמים, בדומה לתרשימי זרימה, או מבני נתונים (Data structure) מורכבים. מסיבה זו מתכנתים שואפים לשמור על הקוד שלהם "קריא".
[עריכה] מעבר משפת תכנות לביצוע בתוכנית
שפת התכנות עצמה אינה מובנת ישירות על ידי המעבד, ולכן יש צורך בכלי שיתווך בין התוכנית הכתובה בשפת תכנות ובין המעבד, על מנת שיהיה ניתן להפעיל את התוכנה. הכלים המשמשים למטרה זו נחלקים לשתי קבוצות:
- מפרשים או מפענחים (Interpreters), הקוראים את התוכנית בשפת תכנות, ומפרשים ומבצעים באופן מיידי את הכתוב בה שורה אחר שורה. שפה מסוג זה קרויה גם שפת תסריט (Scripting Programming Language).
- מהדרים (Compilers) שמקבלים את קוד המקור של התוכנה שכתוב בשפת התכנות ומתרגמים ויוצרים קובץ שפת מכונה, שמוכן לביצוע על-ידי המעבד.
מרבית שפות התכנות הן מהסוג השני, כלומר מעובדות על-ידי מהדר, בעיקר משום שדרך זו מפיקה תוכניות שביצוען מהיר יותר. זאת למרות יתרונותיהן של השפות המפרשות, שהן:
- קלות לפיתוח, הואיל ואין צורך לבצע קומפילציה של כל התוכנה, כאשר משנים שורת קוד בודדת.
- יכולות להיות כלליות, הואיל ואינן תלויות בשפת מכונה מסוימת (כמו שפת ג'אווה).
- גמישות ופתוחות למניפולציות בזמן הרצה.
יש שפות שלהן ניב שנועד למהדר וניב שנועד למפרש. וריאציה נוספת היא שפות שעוברות הידור חלקי, כלומר הפלט של המהדר אינו בשפת מכונה, אלא בשפת ביניים שקל יותר לפענחה למעבד (או לבצעה באמצעות "מכונה וירטואלית"). כמו כן, ישנן שפות סינתטיות, שהפיתוח בהן נעשה במוד של פירוש ולאחר סיום הפיתוח הן עוברות קומפילציה לשפת מכונה.
[עריכה] ריבוי שפות התכנות
במהלך השנים התפתחו מאות שפות תכנות, שלכל אחת מהן יתרונות וחסרונות משלה, וכל אחת מהן מתאימה באופן מיטבי למשימות מסוימות. יש שפות קלות ללימוד, שנועדו לחובבים או למתחילים, ויש שפות מורכבות שנועדו למומחים. יש שמתאימות במיוחד לתוכניות מדעיות, ואחרות טובות יותר לפיתוח מערכות מידע. יש שנועדו למשימות בתחום מצומצם, ויש שנועדו לתת מענה לטווח רחב של משימות. לפיכך, קודם לתחילת כתיבתה של תוכנית חדשה יש לבחור את שפת התכנות שבאמצעותה תיכתב התוכנית.
אחד היעדים של מעצביה של שפת תכנות חדשה הוא שלא להיות תלויים במכונה מסוימת או במערכת הפעלה מסוימת, כך שניתן יהיה להעביר בקלות את התוכנית לכל סביבה רצויה. יעד זה נמצא בסתירה ליעד של יצרני מחשבים ומערכות הפעלה קנייניות, שלהם עניין לקשור את הלקוח דווקא למוצר שלהם. כתוצאה מכך נוצרות לשפת תכנות פופולרית גרסאות שונות. ניסיון לעצור את ההתפצלות הזו נעשה על-ידי גופי תקינה, כגון ANSI או ISO, המגדירים גרסה תקנית של השפה.
הבחירה באיזו שפה להשתמש תלויה בטבע המשימה שיש לבצע, כישורי המתכנתים, הכלים המצויים, המערכת לה מיועדת התוכנה ולעיתים אף דרישות מצדו של הלקוח (צבא ארצות הברית, למשל, דרש לעיתים קרובות שהתוכניות שביקש יתוכנתו בשפת עדה). מקובל להאמין שככל ששפת תכנות קרובה יותר לשפת המכונה, כך היא קרובה יותר למערכת המסוימת עליה עובדים, יודעת לנצל יותר טוב את יתרונותיה והמבנה הייחודי שלה, וכן המתכנת יכול לשלוט בדיוק יתר על התהליכים ולהתאים אותם לצרכיו האישיים ולכן השימוש בשפה שכזו יניב מהירות רבה יותר. מסיבה זו, משתמשים לעיתים קרובות בשפת הסף ובשפת C לשם תכנות תוכניות שבהן זמן הוא גורם מכריע, למשל מערכות זמן אמת, או בהן יש צורך בנגיעה בפרטי מערכת מסוימים מאוד, למשל מערכות משובצות מחשב. אך אליה וקוץ בה, התאמת התוכנית למערכת מסוימת תוך ניצול תכונותיה המסוימות והייחודיות משמעה שלא ניתן אחר-כך, או לפחות קשה, להעביר את התוכנית למערכת אחרת. בנוסף, בשל הסירבול ואי-הקריאות של שפות אלו, תחזוקת הקוד ושינויו בזמן מאוחר יותר הן מטלות מסובכות והסיכוי שתיווצר שגיאה גדול. לכן, לתכנות מערכות גדולות בהן מהירות אינה גורם מכריע , נוטים להשתמש בשפות עיליות כמו C++, Java, או פייתון. התכנות בשפות אלה עלול ליצור תוכניות איטיות יותר, אך הוא בטוח יותר, ברור יותר ובהחלט אמין יותר לטווח הרחוק וקל בהרבה לשינוי בזמן מאוחר יותר. כך או כך, התוצאה הסופית תמיד תהיה קוד הכתוב בשפת מכונה, בין אם יעיל יותר או יעיל פחות, שאותו יוכל המעבד להבין ולבצע.
[עריכה] גרסאות, ניבים ותקן
שפת תכנות איננה סטטית - מתקיימת בה התפתחות בהתאם לחידושים במדעי המחשב ולצרכי המשתמשים. התפתחות זו מתבטאת ביצירת גרסה חדשה לשפת התכנות. בעת יצירת גרסה חדשה נשמרת בדרך כלל תאימות לאחור, כלומר תוכניות שהיו תקינות בגרסה הקודמת ממשיכות להיות תקינות גם בגרסה החדשה, אך לעתים העברתה של תוכנית לגרסה החדשה מחייבת עריכת התאמות בה.
גם לגרסה מסוימת של שפת תכנות ייתכנו ניבים אחדים, כלומר וריאציות שונות של שפה זו אצל יצרני מהדרים שונים. לעתים מתקיימים ניבים אחדים לשפה מסוימת אצל אותו יצרן (למשל במערכות הפעלה שונות שלו). ניבים יוצרים קושי מבחינת ניידות התוכנה - תוכנה שנכתבה בניב מסוים אינה עוברת הידור במחשב המשתמש בניב אחר. להתמודדות עם בעיה זו נהוג לקבוע תקן לשפה. גם כאשר התקן אינו מחייב, כתיבת תוכנית תוך היצמדות לתקן זה מבטיחה את ניידותה בין כל המהדרים התומכים בתקן
[עריכה] דוגמה לתוכנית
התוכנית המופיעה להלן כתובה בשפת JavaScript, והיא בודקת האם מספר שהועבר אליה הוא מספר ראשוני. הסימן "//" מציין שהטקסט שמימינו אינו חלק משפת התכנות, אלא הוא הערה שמטרתה להסביר את התוכנית למתכנת הקורא אותה. התוכנית מחולקת לשתי פונקציות:
האחת (פונקציית Check, שמקבלת כפרמטר את N ומחזירה את המשתנה factor), בודקת האם מספר נתון הוא ראשוני באמצעות לולאה ותנאי, והשנייה (פונקציית Communicate) מטפלת בדיאלוג עם המשתמש: קבלת המספר לבדיקה - הקלט מתוך פקד בדפדפן, והצגת תוצאות הבדיקה - הפלט, באמצעות פקודת alert.
[עריכה] התפתחותן של שפות התכנות
צעד ראשון להתנתקות מהכורח לכתוב תוכניות בשפת מכונה נעשה עם יצירת האסמבלר (או אסמבלי). מרבית שפות התכנות הן שפות עיליות, שבהן לפקודות דמיון מסוים לשפה טבעית. כל פקודה בשפה עילית מתורגמת על-ידי המהדר לסדרה ארוכה של פקודות בשפת מכונה. בשפת אסמבלר, לעומתן, יש התאמה חד-חד ערכית בין הפקודות שכותב המתכנת ובין הפקודות בשפת המכונה, כלומר כל פקודת אסמבלר מתורגמת לפקודה אחת בשפת מכונה.
בתחילת שנות ה-50 של המאה ה-20 נעשו צעדים ראשונים ביצירת מהדרים, כלומר כלים שיאפשרו כתיבת תוכניות בשפה קרובה יותר לשפת אנוש. בשנת 1952 יצרה גרייס הופר את המהדר הראשון, שנקרא A. בשנת 1953 החל צוות בראשותו של ג'ון באקוס מחברת IBM לפתח את שפת FORTRAN, וצעד זה הושלם בשנת 1957. FORTRAN (ושפת ALGOL שפותחה בעקבותיה בשנת 1958) התאימו במיוחד למשימות מדעיות (שהן תוכניות בתחומי הפיזיקה, המתמטיקה וכדומה) אך התאימו פחות למשימות של עיבוד נתונים. למטרה זו באה לעולם בשנת 1960 שפת COBOL, השונה מ-FORTRAN במידה רבה. היוזמה לפיתוח COBOL באה ממשרד ההגנה האמריקני, ובפרויקט השתתפו נציגים של הממשל האמריקני ויצרני המחשבים. שתי שפות אלה, FORTRAN ו-COBOL, זכו לתפוצה רחבה, והן מקובלות עד עצם היום הזה.
בתחילת שנות ה-60 פיתחה חברת IBM את שפת PL/I, שנועדה לשלב את התכונות של FORTRAN ו-COBOL גם יחד, כך שתתאים למשימות תכנות עסקיות ומדעיות כאחד. השפה שפותחה הגשימה יעד זה, וכללה יתרונות נוספים שנבעו מהניסיון שנצבר בפיתוח שפות תכנות, אך לא זכתה להצלחה שלה זכו שתי קודמותיה. אחד מהפרויקטים הראשונים שפותחו בשפת PL/I ומעידים על עוצמתה, רבגוניותה וגמישותה, הוא מערכת ההפעלה Multics. שפת PL/I נלמדה באוניברסיטאות בישראל (אלה שהעמידו מחשב IBM לרשות תלמידיהן) עד אמצע שנות ה-80.
בתחילת שנות ה-60 פותחה שפת LISP, שיוצרה הוא ג'ון מקרתי מאוניברסיטת MIT. לשפה זו יתרון רב בטיפול בטקסטים הכתובים בשפת אנוש, ולכן זכתה להצלחה בקרב חוקרי בינה מלאכותית. בסוף שנות ה-60 פיתח סימור פאפרט את שפת לוגו (LOGO). שפה זו התפתחה משפת LISP, אך התחביר שלה פשוט יותר, כך שתתאים לשימושם של ילדים. שפת BASIC, שפותחה באמצע שנות ה-60 בדארטמות קולג', נועדה במיוחד לשימושם של תלמידים הכותבים תוכניות באמצעות מסופים. במהלך השנים הפכה שפה זו לכלי פיתוח מקובל של תוכנה למחשבים אישיים.
בשנת 1968 התפרסם מאמרו של א. וו. דייקסטרה Go To Statement Considered Harmful, שיצר תפנית בתחביר של שפות תכנות, בהסבו את תשומת הלב לקושי שגורם השימוש בהוראת Go To לקריאותן של תוכניות. בעקבות מאמר זה נוצר התכנות המובנה, שבו יש מבני בקרה המאפשרים קריאות גבוהה. שפות קיימות, כגון PL/I, הורחבו כך שיטפלו גם במבני בקרה אלה.
בשנות ה-70 פותחה שפת Prolog, שהיא השפה המובילה בתחום של תכנות לוגי, שבו מתמקדות התוכניות ביחסים בין עצמים. שפה זו משמשת לפיתוח תוכנה בתחומים של לוגיקה מתמטית ובינה מלאכותית: פתרון בעיות מופשטות, פתרון משוואות, הבנת שפות טבעיות וכדומה.
בתחילת שנות ה-80 יצר ניקלאוס וירת' את שפת Pascal, שמימשה היטב את העקרונות של התכנות המובנה, וזכתה לפופולריות רבה באוניברסיטאות. גרסה מסחרית שלה, Turbo Pascal של חברת בורלנד, זכתה להצלחה רבה ככלי לפיתוח תוכנה למחשבים אישיים.
פיתוחה של מערכת ההפעלה Windows יצר צורך בשפת תכנות שתתמוך בממשק המשתמש הגרפי של מערכת הפעלה זו. למטרה זו פיתחה חברת מיקרוסופט את שפת Visual Basic, שהיא הרחבה משמעותית של BASIC.
בתחילת שנות ה-70 פיתח דניס ריצ'י ממעבדות בל (AT&T Bell Labs) את שפת C, (על בסיס שפת B שהתפתחה משפת BCPL) והשתמש בה לפיתוח מערכת ההפעלה UNIX. שפה זו פופולרית לתכנות מערכות הפעלה ולפיתוח יישומים והפכה לשפת תכנות נפוצה ביותר. שפה זו הפכה בסיס לפיתוחן של שפות תכנות אחדות, שהבולטות בהן הן C++ ו־Java.
בשפת הסימולציה Simula 67, המתבססת על ALGOL, מומש לראשונה הרעיון של תכנות מונחה עצמים, והוא זכה לפיתוח נוסף בשפת Smalltalk, שפותחה בשנות ה־70 במעבדות זירוקס פארק. לתפוצה רחבה זכתה מתודולוגיה זו החל מאמצע שנות ה־80, תחילה בשפת התכנות C++ ולאחריה בשפת Java.
בשנת 1991 החלה חברת סאן מיקרוסיסטמס בפיתוחה של שפת Java, שהושלם בשנת 1995. מפתחי השפה הקפידו שלשפה זו לא יהיו ניבים, כך שתוכנית שנכתבה באמצעותה תוכל להתבצע על כל מחשב התומך בשפה, אפילו ללא צורך בהידור נפרד. לתכונה זו חשיבות מיוחדת בסביבת האינטרנט, שבה תוכנה הנשלחת לדפדפן עשויה להתבצע על מחשבים מדגמים שונים.
כאנטיתזה למורכבותן ועושרן ההולכים וגדלים של שפות התכנות, יצר אורבן מולר, בערך בשנת 1993, את שפת התכנות BF, שבה שמונה פקודות פשוטות בלבד, והיא למעשה מימוש של מכונת טיורינג.
רשת האינטרנט נתנה דחיפה לפיתוחן של שפות תכנות אחדות:
- שפות לפיתוח יישומי אינטרנט בצד הלקוח. השפה העיקרית בקטגוריה זו היא JavaScript, שפותחה על-ידי חברת Netscape Communications כשפת תסריט שהדפדפן פועל כמפרש שלה. שפה זו העניקה לדפדפן את היכולת לעבור מהצגה סטטית של מידע להצגת דפים דינמיים. התקן לשפה זו קרוי EMCAScript. שפה שהותאמה על-ידי חברת מיקרוסופט למטרה זו היא VBScript, שהיא וריאציה פשוטה של Visual Basic.
- שפות לפיתוח יישומי אינטרנט בצד השרת, ובהן PHP, שהיא השפה שבה כתובה התוכנה המשרתת את ויקיפדיה, למשל.
[עריכה] מבנה של שפת תכנות קלאסית
רוב שפות התכנות יורכבו מהמרכיבים הבאים:
- הצהרות
- הצהרות הינן הוראות כלליות לתוכנה, כך למשל אפשר להצהיר על מיקומה של פונקציה בקובץ מסוים. ואפשר להצהיר על דרך פעולתה של התוכנה, או על סוגי טיפוסים של משתנים.
- הכרזות
- הכרזות הן הוראות ליצירת קבועים ומשתנים בפועל. בניגוד להצהרה, הכרזה יוצרת בפועל עותק של קבוע או משתנה בזכרון.
- טיפוסים
- הטיפוסים הם הסוגים המיוחדים של קבועים ומשתנים. ישנם טיפוסי מערכת וישנם טיפוסי משתמש שאפשר להגדיר בתוכנה. טיפוסי המשתמש יוגדרו כקומבינציה כזו או אחרת, של טיפוסי המערכת שקיימים באופן מובנה בשפה.
- קבועים
- הקבועים הינם שטחים בזכרון שמוגדרים בשם, מסוג של כל טיפוס, שערכם קבוע ואינו יכול להשתנות במהלך הרצת התוכנה. למשל PI הינו קבוע. השימוש בקבועים נועד להקל על ייצוג של מספרים ארוכים ידועים ונועד לרכז ערכים.
- משתנים
- משתנים הם כשמם, שטחים בזכרון שמוגדרים בשם ומכילים ערך בר שינוי, שהתוכנה אמורה לשנות במהלך הרצתה. ישנם טיפוסי מערכת של המשתנים. (טיפוסי המשתנים הנפוצים הם: מספר (באורכים שונים), נקודה צפה, בוליאני (כן ולא), אלפאנומרי (כל תו, משמש למחרוזות) ומצביע. בשפות מתקדמות יש גם משתנים מסוג מטבע, תאריך, אובייקט, אוספים) וישנם גם מבנים מורכבים של משתנים, הכוללים מערכים ומבנים. לפני השימוש במשתנה יש להכריז עליו.
- מילים שמורות
- לכל שפה יש סדרה של מילים בעלות משמעות לזיהוי ההוראות המוכרות לשפה. כך למשל ל - include בשפת C יש משמעות שקובץ מקודד מסוים יהיה נכלל בתוכנה. בחלק מהשפות אלה הן מילים שמורות, כלומר אסור להשתמש בהן כשמות של משתנים, ובאחרות אין הגבלה כזו.
- בכל שפה קיימת קבוצה של אופרטורים, שהם פונקציות בינאריות המיוצגים בדרך כלל באמצעות תו או מילה המופיע בין שני המשתנים (האופרנדים) שעליהם פועל האופרטור. חלק מהאופרטורים שווים בכל שפות התכנות, וחלקם משתנים משפה לשפה. ישנן שפות בהן ניתן להוסיף או לשנות אופרטורים, במיוחד בהקשר של מחלקות חדשות.
- מבני בקרה
- מבני הבקרה הם פקודות המשמשות לבקרת הזרימה של התוכנית. בין מבני הבקרה אפשר לציין תנאים ולולאות. בתנאי אפשר לקבוע שקטע קוד יתקיים רק במקרה מסוים, בלולאה אפשר להורות למחשב לבצע קטע קוד מספר מסוים של פעמים, או רק כאשר תנאי מסוים מתבצע או לא מתבצע.
- שגרות
- שגרה או פרוצדורה הינה מקטע קוד שלם, שמבצע תהליך תכנותי, ושיש לו משמעות משלו. יש שפות שאין בהן הבחנה ברורה בין שגרה לבין פונקציה. בכדי להפעיל את השגרה יש לקרוא לה באמצעות כתיבת שמה.
- פונקציות
- פונקציה הינה מקטע קוד שלם, שמקבל פרמטרים מבצע תהליך ומחזיר ערך כל שהוא. בכדי להפעיל את הפונקציה יש לקרוא לה באמצעות כתיבת שמה. אם קוראים לפונקציה מתוך עצמה מתקבלת רקורסיה.
[עריכה] שפות תכנות ויזואליות (VDE)
המעבר לממשק משתמש גרפי, ובפרט הפיכתה של מערכת ההפעלה Windows לדומיננטית, יצר מגמה הולכת ומתפשטת שהחלה בויז'ואל בייסיק, טולבוק (Asymetrix ToolBook), פאואר בילדר (PowerBuilder) אובג'קט ויז'ין (ObjectVision) ודלפי, להעניק לשפות התכנות יכולת ויזואלית. התכנות הויזואלי מקצר את תהליך הפיתוח, מקל על תחזוקת התוכנה, ופותח את עולם התכנות לשכבה נוספת של אוכלוסייה, שהייתה מתקשה לפתח בשפות כדוגמת שפת C.
בתכנות תווי רגיל יש לכתוב את הוראות התכנות באופן מילולי, לרוב בשפה דמוית אנגלית, שורה לאחר שורה, ואת התוצאה ניתן לראות בזמן ריצה רק לאחר הידור התוכנית. בתכנות ויזואלי (חזותי) הקוד התכנותי מיוצג באמצעות ציור של סימבולים גרפיים שונים על טפסים, ומחולל אותו, ולכן הוא יותר אינטואטיבי ופשוט. כך למשל בVB ושפות דומות נוספות מודולי תוכנה הקרויים פקדים, והינם למעשה מחלקות תכנותיות, מיוצגים באמצעות צלמיות. ציורם על גבי משטח הטופס באמצעות עכבר, מקביל לפעולת הכרזה של משתנה, ומאפשר להשתמש בשיטות, במאפיינים ובאירועים הקיימים בקטעי תוכנה אלו. באמצעות פעולות העכבר ניתן אף ליצור שגרות לוכדי אירועים שמתייחסים לפקדים אלו. התכונות והאירועים של הפקד מתקבלים בגיליון טבלאי שמאפשר לסקור אותם ולשנותם, חלק מהתכונות כמו צבעים, גופנים, תמונות, וצורת סמן עכבר ניתן לשנות מתוך תיבות דיאלוג, שיש בהם המחשה של מראה התכונות בזמן ריצה.
ניתן למקם פקדים באמצעות גרירת עכבר. לעיתים ניתן ליצור הקשר פונקציונלי תכנותי בין שני פקדים, באמצעות גרירת יצוג גרפי של פקד והשלכתו על פקד שני. צורת התכנות הזו מאפשרת התמצאות טובה בתוכנה, מפני שניתן לסקור במהירות את רכיבי התוכנה. ניתן לנווט בקלות מפקד אל הסקריפט התכנותי שלו. כמו כן, ניתן לראות פריסה של תכונותיהם והאופציות הקיימות בכל תכונה ואף כל הפונקציות השייכות להם, כל זאת בזמן התכנות עצמו, בניגוד לתכנות רגיל שבו צריך להדר את התוכנית בכדי לראות את התוצאה הסופית.
בשפות התכנות הויזואליות, ציור הפקדים על הטופס, הגדרת מאפיינים ודרך פעילות של הפקדים באמצעות בחירת ערכים מתיבות משולבות, יוצר את הקוד המתאים לטיפול בממשק המשתמש ובפונקציונאליות כללית של התוכנה. בשפות אלו גם העורכים הטקסטואליים עצמם תומכים בויזואליות, ונותנים רשימה של ערכים אפשריים תלויי הקשר בזמן כתיבת הקוד, שמקלים על איות הנכון ללא שגיאות ועל בחירה מדוייקת של הפונקציה הרצויה. הסביבה גם נותנת רשימות נפתחות של פונקציות ואירועים שקיימים במסגרת העבודה הנוכחית ואף תצוגות נוספות כמו תצוגת עץ הירככית שמקלה על הניווט בפונקציות שבתוכנה. עם זאת בדרך כלל בשפות אלו הדרך הישנה לא התבטלה, וניתן גם ליצור את הקוד בכתיבה טקסטואלית.
המשך המגמה הזו הוא ביצירת אשפים שבהם בוחרים ומגדירים תכונות רצויות לרכיב כלשהו בתוכנה. לאחר סיום הגדרת התכונות, האשפים יוצרים את הטפסים, יחד עם הפקדים והקוד הדרוש. אשפים אלו מקלים ומזרזים הבטים מסוימים של תכנות, אך אינם משנים משמעותית את אופי תהליך התכנות.
מגמת הויזואליזציה נכנסה גם ל־#C ול-Java, באמצעות עורכי טפסים ואשפים ליצירת קוד. ברוב מסדי הנתונים נכנסו דפוסים שונים לעיצוב ויזואלי ועבודה עם בסיס הנתונים. אחד המפורסמים שבהם הוא QBE - שהיא שיטה לתכנון ויצירת שאילתות SQL באמצעות עבודה על היצוג הגרפי שלהן באמצעות העכבר. ישנם כלים מיוחדים שמאפשרים לשרטט סכימה ויזואלית של ארכיטקטורת בסיס הנתונים (ERD) שמומר לקוד ליצירת בסיס נתונים.
[עריכה] ראו גם
[עריכה] קישורים חיצוניים
מיזמי קרן ויקימדיה | ||
---|---|---|
ספר לימוד בוויקיספר: שפות תכנות |
- Ninety Nine Bottles of Beer, מציג תוכנית אחת ב־1019 שפות תכנות.
ערך מומלץ |