נגישות
headline





מחשב




התפתחות שפות התוכנה


המחשב אינו מכיר מילים ואף לא מספרים. המחשב יודע להבדיל רק בין מצב של אין זרם חשמלי לבין מצב של יש זרם חשמלי. שני מצבים אלו מוגדרים כ- '0' וכ- '1'. בעזרת שני ערכים אלו של אפס ושל אחד ניתן ליצור "שפה" שהמחשב יוכל "להבין". שפה מיוחדת זו המכילה רק אפסים ואחדות נקראת שפת מכונה. במכונות החישוב הראשונות היה על המפעיל או המתכנת של המכונה לקודד בעצמו את תוכנית ההפעלה לפני טעינתה. כלומר היה עליו לרשום את הפקודות ואת ערכי הנתונים בייצוג הבינארי שלהם של רצף של אפסים ושל אחדות, כפי שהוא מיוצג בשפת המכונה. כתיבת התוכנה בצורה זו הייתה לא טריוויאלית, היוותה מקור לטעויות רבות וארכה זמן רב.

דוגמה לקטע קוד בשפת מכונה


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

הרעיון הראשון להקלת כתיבת התוכנה היה די מתבקש. לכל פקודה היה קוד בינארי ייחודי, אך גם ניתן כינוי ייחודי שהעיד על מהות הפקודה. המתכנת יוכל להשתמש בכינוי הייחודי של כל פקודה (למשל, JUMP, CLEAR, SET וכו') במקום להשתמש בקוד הבינארי שלה. כל אות מיוצגת בעצמה על-ידי רצף של אפסים ושל אחדות. כך שהמחשב יכול פענח בעצמו, לפי האותיות של הפקודה, מהי אותה פקודה מתוך אוסף הפקודות שהוא יכול לבצע. את פעולת ההמרה השחורה מהכינוי השמי של הפקודה לקוד הבינארי שלה יבצע המחשב עצמו לפני ביצוע התוכנית ולא מפעיל המחשב.

דוגמה לקטע קוד בשפת אסמבלי


פעולת ההרכבה של הקוד הבינארי של התוכנית מתוך כינויי הפקודות נעשה כאמור לא ע"י המתכנת האנושי אלא על-ידי תוכנת מחשב ייעודית לשם כך. תוכנה מיוחדת זו נקראת מהדר. המהדר הראשון שנכתב נקרא אסמבלר (Assembler – מרכיב באנגלית). שפת המחשב שכללה את כינויי הפקודות נקראה אסמבלי (Assembly).

שפת האסמבלי שכללה אותיות אנגליות אמנם הייתה הרבה יותר יעילה לשימוש משפת המכונה שכללה רק אפסים ואחדות. אך ככל שהמחשבים המשיכו להתפתח וככל שהתוכנות הלכו והתארכו והפכו ליותר מורכבות נדרשה שפה מתוחכמת יותר שתקל על תהליך כתיבת התוכנה.

בחברת יבמ פיתחו בשנת 1954 את השפה העלית הראשונה, זו נקראה FORTRAN. שפת תכנות עלית היא הדור השלישי של שפות המחשב. שפת תכנות עלית מכילה פקודות מורכבות יותר. מאחורי כל פקודה מורכבת מתחבאים מספר פקודות אסמבלי. כך תהליך כתיבת התוכנה הופך להיות מקוצר יותר, קריא יותר וקל לכתיבה ולקריאה.

דוגמה לקטע קוד המכיל לולאה בשפת FORTRAN


השימוש בשפת תכנות עלית כמובן שלא פטר לגמרי את בעיית השגיאות בעת כתיבת התוכנה. שגיאה בשפת המתכנתים נקרא באג (bug). המילה באג שימשה כתיאור של כתקלה עוד לפני המצאת המחשב. תיעוד ראשון לשימוש במילה באג לתיאור תקלה במחשב הוא של מפעילת המחשב
גְרֶייְס הוֹפֶּר (Grace Hopper)
. הופר תיעדה במחברתה את מקור התקלה במחשב Mark II שהיה עש. מקור התקלה היה באג (bug – חרק באנגלית) כך היא סיכמה. מושג זה השתרש עם הזמן כתקלת תוכנה במחשב.

שפות עילית מפורסמות אחרות שפותחו הן LISP, Cobol ו- BASIC.

שפת ה- BASIC, קיצור של "קוד למתחיל של סמלים לפקודות רב-ייעודיות" (Beginner's All Purpose Symbolic Instruction Code), הוגדרה בשנת 1963 על-ידי
ג'וֹן קֶמֶנִי (John Kemeny)
ו
תוֹם קוּרְצַאס (Tom Kurtzas)
. שפה זו זכתה להצלחה רבה ואומצה כשפת תכנות עלית ראשונה ללימוד באוניברסיטאות בזכות פשטותה. בין אלו שאימצו את השפה ראוי לציין גם את
פּוֹל אָלֶן (Paul Allen)
ואת
ווִילִיאַם (בִּיל) גֶייְטְס (William Gates)
, שני מייסדיה של חברת מייקרוסופט. מחברת מייקרוסופט יצאו גרסאות של שפת BASIC עבור המחשב האישי Altair, עבור המחשב של חברת אפל ועבור מערכת ההפעלה DOS של חברת יבמ.

פריחת המחשבים האישיים או מחשבי ה- PC (Personal Computer) החלה וחברות גדולות כמו אינטל, יבמ, אפל, אטארי, קומודור, hp ועוד חברות החלו לייצר מעבדים, זיכרונות ומחשבים מתוצרתם.

הדור הרביעי של שפות המחשב החל להתפתח בתחילת שנות השבעים של המאה העשרים. הדור הרביעי כולל שפות תכנות מתקדמות יותר בעלות פקודות מורכבות יותר. בין שפות אלו ניתן למצוא את השפות Pascal ו- C.

הדור החמישי של שפות התכנות החל להתפתח באמצע שנות השמונים של המאה העשרים. הדור החמישי כולל בעיקר שפות תכנות מונחות עצמים. בין שפות אלו נכללות השפות C++ ו- Java.

לפרק הקודם | לפרק הבא




[ מבוא | החשבונייה | המחבר המכאני הראשון | המחבר המכאני השני | המכונה הדיפרנציאלית | המנוע האנליטי | מכונת - Z3 | אבי המחשב המודרני | "הבומבה" | מכונת - ABC | מכונת - Colossus | מכונת - Mark I | מכונת - ACE | מכונת - ENIAC | מכונת - EDVAC | מכונת - UNIVAC | הטרנזיסטור והמעגל המשולב | התפתחות שפות התוכנה | ציוני-דרך | אחרית-דבר ]



לשנים: 1990-2000

■...■...■...■...■ | שלום | ■...■...■...■...■



[ עמוד ראשי - המצאות | מתמטיקה קדומה | מספרים אי-רציונליים | משפט פיתגורס | גיאומטריה אוקלידית | אלגברה | התפתחות הסְפַרוֹת | משוואות קוביות וקווארדיות | מספרים מורכבים | לוגריתם | חשבון דיפרנציאלי ואינטגראלי | עיקרון הציפה | זכוכית מגדלת | משקפיים | מיקרוסקופ | טלסקופ | חוק סְנֵל | חוק בויל | חוקי התנועה | עיקרון ברנולי | שלושת חוקי התרמודינמיקה | טבלה מחזורית | מדידת מהירות האור | כוח לורנץ | קרינת רנטגן | טרנספורמצית לורנץ | תורת היחסות הפרטית | גילוי האטום | תורת היחסות הכללית | חשמל | חוק קולון | חוק אוהם | חוקי קירכהוף | נורת להט | מנוע קיטור | מנפה כותנה | מצלמה | מקרר | מזגן | מחשב | מכבש דפוס | כתב ברייל | טלגרף | טלפון | רדיו | טלוויזיה | כדור פורח | מצנח | רכבת | אופניים | מכונית | אווירון מדחף | מטוס סילון | אבק שריפה | תותח | רובה מוסקט | מרגמה | אקדח | מוקש | מקלע | רובה-מטען | הוביצר | תת-מקלע | רימון-יד | טנק | רובה-סער | פצצת אטום | תורת האבולוציה | פסטור | תיאוריית התורשה | פניצילין ]