Слово «виртуальный» в своём изначальном определении означает «вымышленный». В этом отношении применение термина «виртуальная машина», широко используемого в сфере информационных технологий и, вообще, отношение к программному миру как виртуальному является крайне неудачным. Иногда сходно используют термин «абстрактная машина», но и его следует признать неудачным, поскольку абстрактного в этих машинах не больше, чем воображаемого.
Типичная «виртуальная машина», например, для JavaScript, исполняющаяся в браузере, естественно, не является воображаемой. Скорее, её следовало бы называть программной машиной. А программное обеспечение существует в той же физической реальности, что и аппаратное обеспечение, и, соответственно, подчиняется тем же физическим законам. Разница между аппаратным обеспечение и программным пролегает не в реальности и виртуальности, а в лёгкости изменения. Это предопределило, что в современных компьютерах аппаратная часть представлена веществами в преимущественно устойчивой форме, а программная — электромагнитными полями. И то, и другое являются составляющими машины и, естественно, материальными.
Кстати, вычленение из просто машины в отдельное понятие той её части, которую легко и быстро изменять и даёт то грандиозное преимущество, которое обеспечило существенный прогресс в области информационных технологий. Это преимущество само по себе настолько велико, что на десятилетия обеспечило головокружение от успехов, отодвинув на второй план другие важные в инженерии вещи, позволив в области ПО резвиться самыми разными способами.
Так как программы физически реальны и имеют большое прикладное значение, то понимание теории программирования — это важная составляющая в понимании материального мира. Верно и обратное — понимание физической сути важно для понимания программирования.
Комментариев нет:
Отправить комментарий