В контексті комп'ютерного програмування, '''магія''' є неофіційним терміном для [[абстракція (інформатика) | абстракції]]; він використовується для опису коду, який обробляє складні завдання, та дає нібито просте рішення, приховуючи складність завдання. Цей термін трохи [[глузливий]] і викликає погані конотації, хоча насправді він означає, що справжній алгоритм виконання коду не є явним. Наприклад, [[поліморфна типізація| поліморфну типізацію]] в мовах [[Perl]] і [[закриття (інформатика) | закриті]] механізми часто називають «чарівними». Термін має на увазі, що прихована складність, в принципі, є зрозумілою, на відміну від чорної магії і глибокої магії(див. [[#Варіанти|Варіанти]], які описують таємні методи, які навмисно приховані або надзвичайно важкі для розіміння. Дії таких абстракцій описуються як зроблені '''«автомагічно»''', [[portmanteau]](середнє) з «автоматично» і «магічне».