Die Programmiersprache TypeScript 7.0 ist jetzt mit einem in Go neu geschriebenen Compiler erhältlich.

Die Microsoft Corporation hat die Version 7.0 von TypeScript veröffentlicht, einer Programmiersprache für die Entwicklung von Webanwendungen, die die Möglichkeiten von JavaScript erweitert, sowie das dazugehörige Werkzeug. Besonders bemerkenswert an dieser Ausgabe ist der neue TypeScript-Compiler typescript-go (tsgo), der TypeScript-Code in JavaScript umwandelt und in Go neu geschrieben wurde. Dieser wird nun als bereit für die Erstellung produktiver Projekte angesehen. Das Werkzeug wird unter der Apache 2.0-Lizenz vertrieben und die Entwicklung erfolgt in einem öffentlichen Repository über GitHub. Die Sprachspezifikationen sind offen und im Rahmen des Open Web Foundation Specification Agreement veröffentlicht.

Der alte TypeScript-Compiler wurde in TypeScript geschrieben, was beim Einsatz in sehr großen Projekten zu Skalierungsproblemen führte. Bei der Analyse und Prüfung von Code in solchen Projekten in integrierten Entwicklungsumgebungen traten erhebliche Verzögerungen auf, die Entwickler dazu zwangen, die Bequemlichkeit der Entwicklung zugunsten kürzerer Verzögerungen einzuschränken und die Möglichkeiten zur Codeprüfung in den Editoren zu deaktivieren. Zudem gab es in der Ecosystem einen wachsenden Bedarf an Befehlszeilenwerkzeugen.

Der neue Compiler bietet eine signifikante Steigerung der Kompilierungsgeschwindigkeit, einen verminderten Speicherverbrauch und eine neue Architektur, die die Parallelisierung vieler Operationen ermöglicht, einschließlich Parsing, Typüberprüfung und Codegenerierung. Parsing und Codegenerierung erfolgen nun unabhängig für verschiedene Dateien. Darüber hinaus steht das kompakte Befehlszeilenwerkzeug tsc zur Verfügung, mit dem Sie Ihren Code schnell kompilieren können, um dessen Funktionalität zu überprüfen.

In Bezug auf die Funktionalität ähnelt TypeScript 7 stark TypeScript 6, und die Versionen sind weitgehend austauschbar, sodass die Compiler in einem System koexistieren können. Alle notwendigen Standardeinstellungen für TypeScript 7 wurden im Release von TypeScript 6 geändert, bei dem auch die als veraltet geltenden Funktionen des Sprachkerns, die nicht mit TypeScript 7 kompatibel sind, entfernt wurden. Theoretisch sollte jeder TypeScript-Code, der in TypeScript 6.0 kompiliert wird, auch in TypeScript 7.0 kompiliert werden, wenn der Modus stableTypeOrdering gesetzt ist und keine Flags für ignoreDeprecations verwendet werden. Für einige Zeit werden die Codebasen von TypeScript 6.x und TypeScript 7.x parallel gewartet und koexistieren, bis die Version TypeScript 7 ein reifes Stadium erreicht hat, das bereit ist, das alte Toolset vollständig zu ersetzen.

Was die Compilerleistung betrifft, so hat sich die Geschwindigkeit des Builds in TypeScript 7 im Vergleich zur vorherigen Version bei der Neukompilierung von vscode um das 11,9-fache erhöht, bei sentry um das 8,9-fache, bei bluesky um das 8,7-fache, bei playwright um das 8,7-fache und bei tldraw um das 7,7-fache. Gleichzeitig wurde der Speicherverbrauch bei der Kompilierung von vscode um 18 %, bei sentry um 6 %, bei bluesky um 26 %, bei playwright um 11 % und bei tldraw um 15 % reduziert. Der Typprüfmodus in TypeScript 7 läuft 10,6 bis 16,7 Mal schneller als in TypeScript 6.

Die Programmiersprache Go wurde für die Entwicklung eines neuen Compilers gewählt, da sie in Semantik und Struktur des Codes TypeScript am nächsten kommt. Dies ermöglicht es, bestehende Muster beim Portieren beizubehalten und die Übertragung von Änderungen zwischen Codebasen zu vereinfachen. Gleichzeitig bietet Go eine hohe Leistung, entwickelt sich mit einem Blick auf die Mehrfachverarbeitung und zeigt effektive Leistungsfähigkeit auf Mehrkernsystemen. Zudem bietet die Sprache integrierte Mechanismen zur Vermeidung von Problemen mit dem Speicher.

Die Sprache TypeScript erweitert die Möglichkeiten von JavaScript und bleibt dabei vollständig abwärtskompatibel, was die Umstellung bestehender Anwendungen auf TypeScript erleichtert. Die endgültige Anwendung in TypeScript wird in reguläres JavaScript kompiliert, das in jedem modernen Webbrowser ausgeführt oder mit Plattformen wie Node.js, Bun und Deno verwendet werden kann. In TypeScript-Anwendungen können bestehende JavaScript-Bibliotheken genutzt werden. Im Gegensatz zu JavaScript bietet TypeScript Werkzeuge zur expliziten Definition von Typen sowie die Unterstützung vollwertiger Klassen. Die statische Typisierung hilft, viele Fehler während der Entwicklung zu vermeiden, ermöglicht zusätzliche Optimierungstechniken, vereinfacht das Debugging und macht den Code lesbarer und leichter wartbar.

Quelle: opennet.ru

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster