Компилятор улучшенного 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.
Находящуюся в разработке версию компилятора (рабочий прототип) можно самостоятельно собрать из исходного кода уже сейчас. Он опубликован в репозитории 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.