כתיבת קוד ברמת המכונה היא תהליך קשה.
קרדיט תמונה: Jupiterimages/Photos.com/Getty Images
המטרה של כל שפת תכנות היא להפוך מחשב ממשקל נייר אלקטרוני יקר להתקן שימושי לעיבוד נתונים ואחסון. בחירת שפה לביצוע משימה זו היא פשרה בין יעילות וקלות שימוש. שפת מכונה מייצגת את הקצוות הקיצוניים של הספקטרום עבור שני הגורמים הללו.
מכונת שפות
שפת המכונה מייצרת את קבוצת ההוראות היחידה שמחשב מבין ללא מתרגם. מחשבים מצליחים לבצע שכפול אודיו ווידאו, עיבוד נתונים ואחסון, אינטרנט תקשורת וכל שאר המשימות המיוחדות על ידי תגובה לסט הוראות שמזהה רק את אלה ואפסים. כתיבת מאות שורות קוד המורכבות מאחדים ואפסים היא תהליך תובעני ומייגע שגורם לפופולריות של שפות ברמה גבוהה יותר כמו C ו-Java.
סרטון היום
יתרונות מוקדמים
המחשב האישי הראשון של יבמ צויד ב-512 קילובייט של זיכרון גישה אקראית וכונן תקליטונים של 360 קילובייט. לאחר טעינת מערכת ההפעלה לזיכרון מכונן התקליטונים, תוכניות נטענו בשאר שטח זיכרון שמשאיר שטח קטן מאוד של זיכרון RAM, לרוב פחות מ-100 קילובייט, לעיבוד התוכנית הפעילה נתונים. בתקופה זו, הדאגה העיקרית של מתכנת הייתה קוד רזה ויעיל. כלי התכנות הנבחרים במחשבים מוקדמים אלו היו בדרך כלל שפת מכונה, שיכולה להיות קטנה בהרבה מגרסה שנכתבה ב-BASIC או C. זה גם היה קל יותר להשתמש בשפת צאצאים, אסמבלית.
תלות בפלטפורמה
שפת המכונה מתייחסת ישירות לחומרת המחשב, ומעניקה למתכנת שליטה מלאה על כל היבט של ביצוע תוכנית. החיסרון בגישה זו הוא שהמתכנת חייב לדעת את הארכיטקטורה של כל ערכת שבבים לפני שהוא יכול לכתוב קוד אפקטיבי. כאשר רכיב כגון כרטיס מסך או בקר כונן משתנה, למשל, יש לעדכן את קוד שפת המכונה כדי לזהות ולהתייחס להתקן החדש.
שפות ברמה גבוהה
יתרונות המהירות וטביעת הרגל הקטנה של שפת המכונה עולים יותר ויותר על ידי הקושי בכתיבת הוראות ברמת השבב בקוד בינארי. ג'יגה-בייט של זיכרון RAM וטרה-בייט של אחסון זמין ביטלו את הדרישה לקוד רזה ויעיל במחשבים אישיים מודרניים. דרישות הזיכרון והאחסון הנוספות של תוכניות הכתובות בשפות ברמה גבוהה יותר כמו C ו-Java כבר לא מהוות גורם בבחירת פלטפורמת פיתוח. קלות השימוש ודאגות לתחזוקת תוכניות עתידיות תופסות את מקומן של מהירות ויעילות ברוב פרויקטי התוכנה המודרניים.