פקודת השמה

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

הסימן הנפוץ לפקודת השמה הוא =, אך קיימות לו וריאציות רבות בשפות שונות. דוגמאות אחדות מוצגות בטבלה הבאה, שבה variable  הוא שמו של המשתנה, ו-expression הוא הערך שפקודת ההשמה מציבה במשתנה. 

 שפה  סימון הפקודה  דוגמה , Javascript, PL/I, Fortran, C, Java  variable = expression   A = B + 5   ALGOL, פסקל, Ada  variable := expression     A := B + 5  COBOL  MOVE expression TO variable   MOVE B TO A BASIC  LET variable = expression  LET A = B + 5

ביצוע פקודת ההשמה כולל שני שלבים:
 חישוב ערכו של הביטוי (expression בטבלה לעיל).
 כתיבת הערך שחושב במשתנה (variable בטבלה לעיל). לעיתים מלווה שלב זה בהמרת הערך של הביטוי לטיפוס של המשתנה, למשל המרה מטיפוס נומרי לטיפוס מחרוזת.

השמה לעומת השוואה
נקודה שעשויה לבלבל היא שבלימודי החשבון הסימן = נועד להשוואה - כלומר לבטא שערך מסוים שווה לערך אחר, ואילו בעולם התכנות הסימן = משמש להשמה, כלומר על מנת להציב ערך מסוים בתוך משתנה. לעומת זאת, כאשר נרצה להשוות, נשתמש באופרטורים == או ===. דוגמה:var num1 = 10
var num2 = 20
var sum = num1 + num2 // sum is 30

if (sum === 30) alert('Sum is 30!')בשפות תכנות מיושנות, לסימן = שתי משמעויות:
 השמה
 השוואה בין שני ערכים (למשל בפקודת if). 

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

בשפת PL/I, שבה הסימן = משמש בשתי המשמעויות, ניתן למצוא את שתיהן יחד בפקודה הבאה:
A = B = C
שפירושה: כאשר B שווה ל-C, המשתנה A יקבל את הערך "אמת" (המיוצג בשפה זו על ידי ביט שערכו 1), וכאשר B אינו שווה ל-C, המשתנה A יקבל את הערך "שקר".

 הערות שוליים 

קטגוריה:תכנות