פקודת השמה

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

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

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

השמה לעומת השוואה
בחלק משפות התכנות, לסימן = שתי משמעויות:
 השמה
 השוואה בין שני ערכים (למשל בפקודת if). 

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

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

תכנות