Разделы

Системное ПО

Компилятор улучшенного Microsoft JavaScript ускорят в 10 раз, переписав на любимом языке хакеров

Транспилер языка программирования TypeScript, созданного Microsoft в качестве надстройки над классическим JavaScript, переведут на Go, который полюбился хакерам, до конца 2025 г. Нативный инструмент ускорит компиляцию TypeScript-кода примерно в 10 раз, будет потреблять меньше памяти и позволит программистам гораздо быстрее загружать проекты на этом языке в интегрированные среды разработки.

Компилятор TypeScript перепишут на Go

Корпорация Microsoft полностью перепишет код компилятора языка программирования TypeScript на язык Go, что, как ожидают в компании, положительно скажется на его производительности. О проекте под кодовым названием “Corsa” Microsoft сообщила в своем корпоративном блоге.

По оценке специалистов Microsoft, нативная версия компилятора обеспечит до 10 раз более высокую скорость сборки проектов на TypeScript, существенно сократит объем оперативной памяти, используемой в процессе компиляции, а также радикальным образом ускорит запуск редактора кода Microsoft Visual Studio Code (VS Code), написанный на TypeScript.

Предварительная Go-версия компилятора TypeScript, будет готова в середине 2025 г., а полнофункциональный нативный набор инструментов появится ближе к концу 2025 г., ожидают в Microsoft.

Компилятор TypeScript станет в 10 раз быстрее после перевода его кодовой базы на Go

Находящуюся в разработке версию компилятора (рабочий прототип) можно самостоятельно собрать из исходного кода уже сейчас. Он опубликован в репозитории Microsoft/type-script-go на хостинге проектов Github.

Сплошная польза для разработчиков

Тестирование, проведенное разработчиками из Microsoft, показало, что сборка популярных проектов, написанных на TypeScript с помощью нового нативного компилятора в его текущем состоянии осуществляется до 10 раз и более быстро по сравнению с использованием исходного варианта. Так, редактор VS Code, кодовая база которого насчитывает около 1,5 млн строк, с нативным компилятором собирается за 7,5 секунды, тогда как у оригинальной реализации на это уходило 77,8 секунды.

Наиболее значительный выигрыш в производительности компиляции библиотеки TypeORM – 13,5 раза (1,3 секунды против 17,5 секунды). TypeORM обеспечивает взаимодействие с базами данных с использованием объектов и классов, что позволяет упростить разработку приложений.

Переход на Go-версию компилятора также позволяет, отмечают в Microsoft, значительно ускорить загрузку больших проектов на TypeScript в редакторах кода и интегрированных средах разработки. Применение нативных инструментов в случае с загрузкой исходников ранее упомянутого Visual Studio Code на «быстром компьютере» происходит почти моментально и занимает около 1,2 секунды против 9,6 секунд ранее.

В Microsoft обещают, что скорость отклика редакторов при использовании функций автодополнения кода, текстовый поиск по проекту и др. также ощутимо вырастет.

Новая реализация TypeScript-компилятора на базе Go-кода будет эффективнее и с точки зрения использования оперативной памяти. Сейчас экономия составляет около 50% в пользу нативной версии. При этом в Microsoft отмечают, что работающая над проектом команда пока сосредоточена на других задачах и не вкладывалась в оптимизацию кода в этом направлении.

Что такое TypeScript и Go

TypeScript – язык программирования, развитием которого занимается Microsoft, и представляет собой инструмент, расширяющий возможности JavaScript. TypeScript обратно совместим с JavaScript и транспилируется в последний. В отличие от своего «предка» TypeScript, к примеру, поддерживает явное статическое назначение типов данных.

С помощью TypeScript в Microsoft хотели устранить некоторые недостатки JavaScript, которые создавали помехи в использовании его в работе над большими проектами.

TypeScript и код инструментов разработчика на этом языке программирования распространяются на условиях свободной лицензии Apache 2.0.

Автором TypeScript является Андерс Хейлсберг (Anders Hejlsberg), который также создал Turbo Pascal, Delphi и C#. С 1996 г. датский инженер-программист работает в Microsoft.

Go – компилируемый многопоточный язык программирования, разработку которого с 2009 г. ведет корпорация Google.

В марте 2023 г. Go впервые вошел в десятку самых популярных языков программирования в мире по версии Tiobe, выбив из топа язык ассемблера. Go все чаще выбирают кибеопреступники для разработки вредоносных программ.

Microsoft продолжает переписывать отдельные элементы собственной экосистемы программных продуктов с использованием более современных языков программирования. Так, на Rust, как ожидается, будет переведена серверная часть облачной платформы платформы Microsoft 365, а также отдельные системные компоненты ОС Windows 11.

В мае 2024 г. CNews писал о том, что из Windows постепенно вычистят поддержку VBScript, еще одного скриптового языка программирования Microsoft, ранее конкурировавшего с JavaScript.

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



37-я международная выставка информационных и коммуникационных технологий Связь-2025 37-я международная выставка информационных и коммуникационных технологий Связь-2025

erid: 2W5zFHRYEHv

Рекламодатель: АКЦИОНЕРНОЕ ОБЩЕСТВО «ЭКСПОЦЕНТР»

ИНН/ОГРН: 7718033809/1027700167153