Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Доступен язык программирования TypeScript 7.0 с компилятором, переписанным на Go

09.07.2026 12:26 (MSK)

Компания Microsoft опубликовала релиз TypeScript 7.0, языка для разработки web-приложений, расширяющего возможности JavaScript, и связанного с ним инструментария. Выпуск примечателен поставкой нового компилятора typescript-go (tsgo), транслирующего код TypeScript в представление JavaScript, который был переписан на языке Go и теперь признан готовым для сборки рабочих проектов. Инструментарий распространяется под лицензией Apache 2.0, разработка ведётся в публичном репозитории через сервис GitHub. Спецификации языка открыты и опубликованы в рамках соглашения Open Web Foundation Specification Agreement.

Старый компилятор TypeScript был написан на языке TypeScript, что создавало проблемы с масштабированием при использовании в очень больших проектах. При загрузке и проверке кода подобных проектов в интегрированных средах разработки возникали большие задержки, что вынуждало разработчиков жертвовать удобством разработки в пользу сокращения задержек и отключать в редакторах возможности для проверки кода. В экосистеме также назрела потребность в инструментарии командной строки.

В новом компиляторе существенно увеличена скорость сборки, уменьшено потребление памяти и реализована новая архитектура, позволяющая распараллеливать выполнение многих операций, включая парсинг, проверку типов и генерацию кода. Парсинг и генерация кода теперь выполняются независимо для разных файлов. Помимо этого предоставлен компактный инструментарии командной строки tsc, позволяющий быстро собирать код для проверки его работоспособности.

По функциональности язык TypeScript 7 близок к TypeScript 6 и данные ветки взаимозаменяемы, а компиляторы могут сосуществовать в одной системе. Все необходимые для ветки TypeScript 7 настройки по умолчанию были изменены в выпуске TypeScript 6, в котором также были переведены в разряд устаревших возможности языка, несовместимые с TypeScript 7. Теоретически любой TypeScript-код, компилируемый в TypeScript 6.0, должен компилироваться и в TypeScript 7.0 при выставлении режима stableTypeOrdering и без использования флагов ignoreDeprecations. Какое-то время кодовые базы TypeScript 6.x и TypeScript 7.x будут параллельно сопровождаться и сосуществовать, пока ветка TypeScript 7 не достигнет зрелого состояния, готового полностью заменить старый инструментарий.

Что касается производительности компилятора, то по сравнению с прошлой веткой скорость сборки в TypeScript 7 возросла при пересборке vscode в 11.9 раз, sentry - в 8.9 раз, bluesky - 8.7 раз, playwright - 8.7 раз, tldraw - 7.7 раз. При этом потребление памяти уменьшилось при сборке vscode на 18%, sentry - 6%, bluesky - 26%, playwright - 11% и tldraw - 15%. Запуск в режиме проверки типов в TypeScript 7 производится в 10.6-16.7 раз быстрее, чем в TypeScript 6.

Язык Go выбран для написания нового компилятора как наиболее близкий к TypeScript по семантике и структуре кода, что позволило сохранить при портировании существующие шаблоны и упростило перенос изменений между кодовыми базами. При этом язык Go обеспечивает высокую производительность, развивается с оглядкой на многопоточное программирование, демонстрирует эффективную работу на многоядерных системах и имеет встроенные средства защиты от проблем при работе с памятью.

Язык TypeScript расширяет возможности JavaScript, оставаясь полностью обратно совместимым, что упрощает перевод существующих приложений на TypeScript. Итоговое приложение на TypeScript компилируется в обычный JavaScript, который можно выполнить в любом современном web-браузере или использовать c платформами Node.js, Bun и Deno. В программах на TypeScript можно использовать существующие JavaScript-библиотеки. От JavaScript язык TypeScript отличается средствами для явного определения типов, а также поддержкой использования полноценных классов. Статическая типизация позволяет избежать многих ошибок в процессе разработки, даёт возможность задействовать дополнительные техники оптимизации, упрощает отладку, делает код более читаемым и простым для доработки и сопровождения.

  1. Главная ссылка к новости (https://devblogs.microsoft.com...)
  2. OpenNews: Доступен TypeScript 6.0, последний выпуск с компилятором на JavaScript
  3. OpenNews: Microsoft переписывает компилятор TypeScript на языке Go
  4. OpenNews: В Node.js добавлена экспериментальная поддержка языка TypeScript
  5. OpenNews: Предложен компилятор исходных текстов на языке TypeScript в машинный код
  6. OpenNews: Утверждён перевод JavaScript-платформы Bun на язык Rust
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65873-typescript
Ключевые слова: typescript
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (19) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 13:54, 09/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > с компилятором, переписанным на Go

    а почему не на Rust?

     
     
  • 2.2, Китсун (?), 13:57, 09/07/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Потому что было проще портировать и меньше думать над borrowing, все спишем на GC
     
  • 2.3, Вася Пупкин (?), 13:58, 09/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Рано, потом ещё графики с ускорениями и оптимизация и продадут
     
  • 2.4, anan (?), 14:01, 09/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    они его рассматривали на сколько я видел инфу в интернетах, но решили что на go будет проще, т.к. логическая структура кода при этом меньше менялась. т.е. не только api, но и внутрянка зеркалилась другими словами.
     
  • 2.5, Аноним (5), 14:01, 09/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    чтобы мейстрим жаба ещё и работала быстро - кажется вы угодили в силки отлова оптимистов
     
  • 2.11, Аноним (11), 14:21, 09/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    потому что он не нужен, очевидно.
    единственное преимущество раста - борроу чекер. а в языках с кучей бороу чекерить попросту нечего.
     

  • 1.6, Мемоним (?), 14:07, 09/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Довольно иронично. Теперь им труднее будет отвечать на вопрос "а зачем вообще нужен ваш язык?"
     
     
  • 2.7, q (ok), 14:08, 09/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Баш написан на баше?
     
     
  • 3.8, Аноним (5), 14:12, 09/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    а что написано на баше?
     
     
  • 4.9, q (ok), 14:13, 09/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    спроси у любителей sysvinit
     
  • 2.18, Аноним (18), 14:36, 09/07/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.10, IMBird (ok), 14:19, 09/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Давайте всё делать на COM, чтобы была переносимость – закапывают COM
    Давайте всё делать на Win32, чтобы была переносимость – закапывают Win32
    Давайте всё делать на .NET, чтобы была переносимость – приколачивают .NET отдельно к винде и мобилкам, а в кроссплатформу отдают только перед тем, как начать закапывать
    Давайте всё делать на Silverlight, чтобы была переносимость – делают Silverlight ограниченным, отдельный рожают для мобильников, а потом закапывают всё сразу
    Давайте всё делать на WinRT, чтобы была переносимость – закапывают WinRT
    Давайте всё делать на Typescript, чтобы была переносимость – закапывают Typescript
     
     
  • 2.12, q (ok), 14:23, 09/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Все слоганы, что ты привел, являются плодом твоей буйной фантазии. Ни одна платформа не позиционировалась как "переносимая, на которой надо писать всё".
     
     
  • 3.16, Аноним (16), 14:32, 09/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ключевое в его лозунгах - закапывают. Остальное не важно.
     
  • 2.13, Макан Негодяй (?), 14:26, 09/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Жду когда сисярп закопают и всех незаменимых специалистов корпофилов - на мороз. Правда видимо ещё пока не скоро, придётся много рыбы выловить прежде чем они проплывут.
     
     
  • 3.19, Аноним (19), 14:37, 09/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Они просто перекатятся на Java и почти не заметят этого
     
  • 2.17, Аноним (17), 14:36, 09/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Так Win32 достигла переносимости, с помощью wine.
     

  • 1.14, Аноним (14), 14:26, 09/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Итоговое приложение на TypeScript компилируется в обычный JavaScript

    оно не компилируется никуда, можно стереть типы и юзать (в 99% случаев) чистый js. в основном треде бандл делать сразу, проверять типы в соседнем. ускорение в 20+ раз

     
     
  • 2.15, Аноним (5), 14:29, 09/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    ука, надо было джит развивать оказывается
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру