4 ms·
TS decision to choose Go was primarily, because they could take the existing code and do a near 1-1 translation. You can frame that as an architectural concern,
by notnullorvoid 10mo ago
TS decision to choose Go was primarily, because they could take the existing code and do a near 1-1 translation. You can frame that as an architectural concern, but it's really only one that applies when your attempting to migrate an existing program to a new language. The Go rewrite has some negative outcomes as well, most concerning is the performance of the WASM builds is worse than the old JS/TS version.
A TS compiler from scratch built in Rust would be fine.
> cultists
The cult is in your imagination.
- hu3 10mo agoNot your parent commenter but: > You can frame that as an architectural concern... "Go also offers excellent control of memory layout and allocation (both on an object and field level) without requiring that the entire codebase continually concern itself with memory management." "The TypeScript compiler's move to Go was influenced by specific technical requirements, such as the need for structural compatibility with the existing JavaScript-based codebase, ease of memory management, and the ability to handle complex graph processing efficiently. " If memory management and ability to handle complex graph processing efficiently isn't related to architecture to you I don't know what to tell you. [0] https://github.com/microsoft/typescript-go/discussions/411 https://github.com/microsoft/typescript-go/discussions/411 > The cult is in your imagination. CTRL+F "rust" on the Go issue and see how many results you get. 31 for me and that's before expanding spam.
- notnullorvoid 10mo ago> If memory management and ability to handle complex graph processing efficiently isn't related to architecture to you I don't know what to tell you. Rust can do complex graph processing, as well as efficient easy memory management, but it's going to do it in a different structure than a GCed lang would. Hence my statement that 1 to 1 translation was the primary factor. > CTRL+F "rust" on the Go issue and see how many results you get. Yes and so what? There's 35 for .NET or 74 for C#, yet you don't see people claiming the C# cult was harassing the TS team.
- hu3 10mo agoObviously, C# is one of Microsoft's flagship language along with TypeScript. So it's expected to be frequently mentioned there.
- notnullorvoid 10mo agoSure, and Rust is the most used language for modern TS/JS tooling, outside of TS/JS. There would have been substantial ecosystem benefits had Rust been chosen.
- hu3 10mo agoDo you have a source for that? Because esbuild is Go. tac was TypeScript and will be Go. Bun is Zig. Come to think of it. I don't use a single Rust tool for the web. node is c++. deno breaks too much. So, do you have a source for your claim?
- notnullorvoid 10mo agoTranspilers: SWC, Oxc Linters/Formatters: DPrint, deno lint, Biome, Oxlint, Oxfmt Bundlers: Rolldown (replacing esbuild in Vite), Rspack, Turbopack, and certain components of Parcel All built with Rust