Давайте обсудим концепцию магии — каковы ваши мнения?

В контексте компьютерного программирования магия — это неформальный термин, обозначающий абстракцию; он используется для описания кода, который решает сложные задачи, скрывая эту сложность для создания простого интерфейса. Этот термин является в некоторой степени шутливым и часто несет в себе дурной подтекст, подразумевая, что истинное поведение кода не сразу становится очевидным. Например, полиморфные механизмы типизации и закрытия в Perl часто называют «магическими». Этот термин подразумевает, что скрытая сложность, по крайней мере, в принципе понятна, в отличие от черной магии и глубокой магии, которые описывают тайные техники, намеренно скрытые или чрезвычайно трудные для понимания. Однако этот термин может также применяться в ласковом смысле, подразумевая «очарование» кода. Действие таких абстракций описывается как выполняемое «автоматическим образом», что является портманто от слов «автоматически» и «магически».