ההבדלים בין שפות תכנות ברמה גבוהה ונמוכה
שפות התכנות
שפת תכנות היא כל שפה שבה בני אדם יכולים להנחות מחשבים. תוכנית היא רשימה של הוראות מוכן להיות מועברת למחשב והוצאה להורג. בעיקרון, ההוראות לאחסן, להעביר ולשנות ערכים בזיכרון המחשב. ערכים אלה יכולים להתפרש על ידי מספר מכשירים, כגון צגים, רמקולים, מקלדות, כריות מגע או עכברים, המספקים דרכים לתקשורת עם המשתמש.
קוד המכונה
שפה ברמה נמוכה היא אחת כי הוא קרוב את היסודות של חומרת המחשב. השפה הנמוכה ביותר היא קוד המכונה, אשר החומרה מבינה ישירות ואינה דורשת פרשנות או תרגום. קוד המכונה מורכב כולו מחרוזות של מספרים בינאריים: האפסים המפורסמים ואלה. למרות שהוא יכול לעשות כל דבר אחר שכל שפה יכולה להשיג (למעשה שאר השפות צריך להיות מתורגם קוד מכונה על ידי המתורגמן), זה לא נועד לענות על הצרכים של המתכנת דורש ידע מעמיק של המעבד ו את המכשירים של המחשב, חוץ מזה זה כמעט בלתי אפשרי עבור אדם לקרוא אותו.
שפת האסיפה
שפת התכנות "ברמה הגבוהה" הבאה היא שפת הרכבה, שהיא קוד מכונה שקוד ההוראה שלו הוחלף בפקודות אינטואיטיביות יותר. לדוגמה, הפקודה למקם את הערך 97 במרשם זיכרון נקראת AL (בקוד המכונה יהיה "10110000 01100001"), ובשפת ההרכבה יהיה "MOV AL, 97", שהוא עדיין פקודה סתומה, אך הוא הרבה יותר קל לקרוא. למרות שזה עדיין לא יעיל לכתוב את זה דורש מתכנת להתמודד ישירות עם חומרת המחשב, היא שפה ברמה גבוהה יותר מאשר קוד מכונה כי זה מופשט יותר, כלומר, הוא קרוב יותר למתכנת.
שפות ברמה גבוהה
מתכנתים מודרניים לעתים נדירות לכתוב בשפה הרכבה. במקום זאת, הם משתמשים באחת מהשפות הרבות, כגון C, Java או Python, שתוכניותיהם נקראות מהדרים או מתורגמנים יכולים לתרגם לקוד מכונה. שפות אלה מונעות מהמתכנת מלהיות מעורב עם העולם הפיזי של החומרה ולקחת אותו להפשטה הגיונית: במקום להזיז ערכים הקסדצימליים לפי רישומי הזיכרון, המתכנת עובד עם משתנים שתכולתם ניתנת לשינוי, עם לולאות ניתן לחזור עליהם עד שיתקיים תנאי, עם הצהרות הגיוניות כגון IF, AND, THEN, OR ו- ELSE, בין כלים אחרים. שפות אלה מיועדות למתכנת, ומתייחסות לאופן שבו ניתן להשיג את הכוח המרבי בקושי פחות.
השוואות
שפות ברמה גבוהה אינן מקבלות את השם הזה משום שהן "טובות יותר" משפות ברמה נמוכה. לפעמים היכולת לתקשר ישירות עם המעבד של המחשב בשפת הרכבה או אפילו קוד מכונה יכול לפתור את הבעיות כי שכבות של הפשטה של שפה ברמה גבוהה יכול לעשות קשה. שפה ברמה גבוהה מאוד יכולה להתמודד רק עם מערכת הפעלה מסוימת, כגון Microsoft Visual Basic, או עם תוכנית מסוימת, כגון "פקודות מאקרו" של מעבד תמלילים. תוכניות אלה שימושיות מאוד עבור כל מי שרוצה לתפעל Windows או Word מבלי לדעת איך זה עובד, אבל שפה כזו לא יהיה שימושי עבור מישהו שמנסה לכתוב תוכנית משלהם צריך שפה ברמה נמוכה יותר. לכן, מתכנת בוחר שפה בהתאם לעבודה שהוא צריך לבצע.