היסטוריה של שפות התכנות
שפות תכנות ראשונות

בשנות הארבעים של המאה ה-20, נוצרו המחשבים המודרניים הראשונים המופעלים באמצעות חשמל. המהירות ויכולת הזיכרון המוגבלת אילצו מתכנתים לכתוב תוכניות שפת אסמבלי מכווננות ביד. בסופו של דבר התברר שתכנות בשפת אסמבלי דורש מאמץ אינטלקטואלי רב.
הצעה מוקדמת לשפת תכנות עילית הייתה פלנקלקול, שפותחה על ידי קונראד צוזה עבור מחשב הZ1 בין השנים 1942 ל-1945 אך לא יושמה באותה עת.
שפות התכנות המתפקדות הראשונות שנועדו להעביר הוראות למחשב נכתבו בתחילת שנות החמישים. Short Code של ג'ון מאוצ'לי, שהוצעה ב-1949, הייתה אחת השפות הראשונות אי פעם שפותחו עבור מחשב אלקטרוני. בשונה מקוד מכונה, הצהרות Short Code ייצגו ביטויים מתמטיים בצורה מובנת. עם זאת, היה צורך לפרש את התוכנית לקוד מכונה בכל פעם שהיא רצה, מה שהופך את התהליך לאיטי בהרבה מהפעלת קוד המכונה המקביל.
בשנת 1954, FORTRAN הומצאה ב-IBM על ידי צוות בראשות ג'ון באקוס. FORTRAN הייתה השפה הראשונה בשימוש נרחב למטרות כלליות עם מימוש פונקציונלי. כאשר FORTRAN הוצגה לראשונה, היא נתפסה בספקנות עקב באגים, עיכובים בפיתוח והיעילות בהשוואה לתוכנות "מקודדות ביד" שנכתבו באסמבלי. עם זאת, בשוק החומרה שהתפתח במהירות בתקופה, השפה נודעה בסופו של דבר ביעילותה. היא עדיין שפה פופולרית עבור מחשוב בעל ביצועים גבוהים והיא משמשת עבור תוכניות כמו "טופ500" שבודקות ומדרגות את מחשבי העל החזקים ביותר בעולם.
שפת תכנות מוקדמת נוספת הומצאה על ידי גרייס הופר בארצות הברית, בשם FLOW-MATIC. היא פותחה עבור UNIVAC I ברמינגטון ראנד במהלך התקופה מ-1955 עד 1959. הופר גילתה שלקוחות עיבוד נתונים עסקיים לא חשו בנוח עם סימון מתמטי, ובתחילת 1955, היא והצוות שלה כתבו מפרט לשפת תכנות מבוססת אנגלית ויישמו אב טיפוס. המהדר FLOW-MATIC הפך זמין לציבור בתחילת 1958 והושלם ב-1959. ל-Flow-Matic הייתה השפעה מרכזית בעיצוב של קובול, מכיוון שרק הוא והצאצא הישיר שלו AIMACO היו בשימוש באותה תקופה.
שפות נוספות שעדיין נמצאות בשימוש כיום כוללות את LISP, שהומצאה על ידי ג'ון מקארתי ו-קובול, שנוצרה על ידי ה-Short Range Committee. ציון דרך נוסף בסוף שנות ה-50 היה פרסום של ועדה של מדעני מחשב אמריקאים ואירופים, של "שפה חדשה לאלגוריתמים". דו"ח זה איחד רעיונות רבים שהסתובבו באותה תקופה והציג שלושה חידושים מרכזיים:
מבנה בלוקים מקוננים: ניתן לקבץ רצפים דומים של קוד לבלוקים מבלי שיהיה צורך להפוך אותם לשיטות נפרדות בעלי שם מפורש.
תחום הכרזה: לבלוק יכול להיות משתנים פרטיים ופונקציות משלו, הלא נגישים לקוד מחוץ לבלוק זה.
חידוש נוסף הקשור לכך היה באופן שתוארה השפה:
סימון מדויק מבחינה מתמטית, שיטת בקוס-נאור (BNF), שימש לתיאור תחביר השפה. כמעט כל שפות התכנות הבאות השתמשו בגרסה של BNF כדי לתאר את החלק חסר ההקשר של התחביר שלהן.
ALGOL 60 השפיע במיוחד על עיצובן של שפות מאוחרות יותר, שחלקן הפכו במהרה לפופולריות.
הרעיונות המרכזיים של ALGOL המשיכו, ויצרו את ALGOL 68:
תחביר וסמנטיקה נעשו אפילו יותר אורתוגונליים, עם שגרות אנונימיות, מערכת הקלדה רקורסיבית עם פונקציות מסדר גבוה וכו'.
לא רק החלק חסר ההקשר, אלא תחביר השפה המלא והסמנטיקה הוגדרו פורמלית, במונחים של דקדוק ואן ויגארדן, פורמליזם שתוכנן במיוחד למטרה זו.
תכונות השפה הרבות של ALGOL 68 שאינן בשימוש, המערכת המורכבת של קיצורי דרך תחביריים והכפייה האוטומטית של טיפוסים הפכו אותה לשפה לא פופולרית בקרב מיישמים והשיגה את התדמית של היותה קשה. ניקלאוס וירת למעשה עזב את ועדת העיצוב כדי ליצור את שפת פסקל הפשוטה יותר.
כמה שפות בולטות שפותחו בתקופה זו כוללות:
1951 – שפת סף
1952 – Autocode
1954 – IPL (השפיעה על Lisp)
1955 – FLOW-MATIC (הובילה ל-COBOL)
1957 – FORTRAN (המהדר הראשון)
1957 – COMTRAN (השפיעה על COBOL)
1958 – LISP
1958 – ALGOL 58
1959 – FACT (השפיעה על COBOL)
1959 – COBOL
1959 – RPG
1960 – ALGOL 60
1962 – APL
1962 – Simula
1962 – SNOBOL
1963 – CPL (השפיעה על C)
1964 – Speakeasy
1964 – BASIC
1964 – PL/I
1966 – JOSS
1966 – MUMPS
1967 – BCPL (השפיעה על C)
1967 – לוגו (שפה חינוכית שהשפיעה על Smalltalk ו-Scratch).