Разделы

Системное ПО Техника

В Windows меняют движок JavaScript, который проработал 29 лет

Корпорация Microsoft заменит скриптовый движок JScript в Windows 11 по умолчанию. Компонент необходим для выполнения сценариев на одноименном языке, близком по синтаксису к JavaScript. Впервые он был задействован в Internet Explorer 3.0 в 1996 г. и толком не обновлялся последние 14 лет.

Почти незаметное, но важное изменение

Microsoft заменила JScript, морально устаревший и полный дефектов скриптовый движок Windows 11 по умолчанию, на более современный и безопасный – JScript9Legacy, пишет Bleeping Computer.

«Для обеспечения более безопасной работы, начиная с Windows 11 версии 24H2, JScript9Legacy по умолчанию включен для обработки всех скриптовых процессов и операций, которые ранее использовали JScript», – написал представитель Microsoft Навин Шанкар (Naveen Shankar) в блоге Windows IT Pro.

Процедура замены старого движка на новый, как утверждают в Microsoft, пройдет бесшовно и незаметно для пользователей и выразится в замене системной динамической библиотеки jscript.dll на JScript9legacy.dll.

Windows получит обновленный движок JScript

Представитель компании отмечает, что процедура не приводит к нарушению обратной совместимости, то есть все ранее работавшие JScript-сценарии продолжат работать и в новом окружении. Однако если какие-либо проблемы совместимости все же возникнут, Шанкар рекомендует обращаться по этому вопросу в службу технической поддержки Microsoft.

Что такое JScript

JScript – язык сценариев Microsoft, представленный 1996 г., являющийся реализацией стандарта ECMAScript, как и его близкий родственник – JavaScript, с которым они очень схожи по синтаксису. Движок JScript в Windows реализован в виде динамической библиотеки jscript.dll.

JScript преимущественно использовался в качестве языка сценариев браузера Internet Explorer, поддержка которого была прекращена летом 2022 г. Кроме того, язык находил применение в написании скриптов для решения задач автоматизации, администрирования и проверки форм.

Текущий движок JScript в Windows – JScript 9, который поставлялся вместе с Internet Explorer 9.0 – считается сильно устаревшим и не соответствующим современным стандартам безопасности JavaScript. Он подвержен атакам, которые ведут к повреждению памяти, выполнению произвольного кода и межсайтового скриптинга (XSS).

Тем не менее JScript оставался скриптовым движком Windows по умолчанию ради сохранения обратной совместимости с уже имеющимися скриптами, нарушений которой могло бы нанести вред устаревшим и давно не обновлявшимся системам, задействованных в решении критических задач, отмечает Bleeping Computer.

Зачем Microsoft решила «изобрести велосипед»

По мнению Дугласа Крокфорда (Douglas Crockford), одного из разработчиков JavaScript и формата данных JSON, Microsoft приняла решение о разработке собственного языка программирования JScript вместо того, чтобы использовать уже существовавший на тот момент JavaScript, исходя из нежелания связываться компанией Sun Microsystems. Именно она на тот момент являлась владельцем товарного знака “Java”, а впоследствии – и ”JavaScript”.

Sun Microsystems была поглощена Oracle в 2010 г., вместе со всей интеллектуальной собственностью, в том числе и правами на товарный знак “JavaScript”. В последние несколько лет сообщество JavaScript-разработчиков пытается заставить Oracle отказаться от них, однако делать этого американская мегакорпорация не спешит и сопротивляется.

Любовь Родионова, Arenadata: Мониторинг СУБД снижает производительность на 10% — мы это исправили

Маркет

Со слов Крокфорда, вопреки расхожему мнению, на момент выхода браузера Internet Explorer 3.0, в котором впервые появилась поддержка скриптового языка Microsoft, JScript и JavaScript, в сущности, являлись одним и тем же языком с разными названиями.

В Windows, помимо JScript, до не давнего времени была поддержка по умолчанию еще одного «древнего» языка сценариев собственной разработки Microsoft – VBScript. Он входил в базовый вариант поставки всех операционных систем семейства Microsoft Windows, начиная с Windows 98 (для десктопов) и Windows NT 4.0 Option Pack (для серверов). Также его интерпретатор при необходимости мог включаться в Windows CE – вариант ОС Microsoft для встраиваемых (embedded) систем. В мае 2024 г. Microsoft объявила о намерении постепенно избавиться от поддержки VBScript к 2027 г.

Также Microsoft развивает язык программирования TypeScript, расширяющий возможности JavaScript. В марте 2025 г. корпорация объявила о том, что полностью перепишет код транспилера TypeScript на Go, что позволит повысить скорость компиляции и выполнения кода.

Дмитрий Степанов