• nojvek a day ago

    I wonder why TS folks chose golang and not rust. I know esbuild is golang and v fast. But newer tooling like bun is in Zig and Rolldown in rust.

    Rust is making a bigger share of perf critical tooling.

    Not sure if they’ve written a blog. Would love to read.

    • vopi 12 hours ago

      A quote from the official FAQ - https://github.com/microsoft/typescript-go/discussions/411:

      >By far the most important aspect is that we need to keep the new codebase as compatible as possible, both in terms of semantics and in terms of code structure. We expect to maintain both codebases for quite some time going forward. Languages that allow for a structurally similar codebase offer a significant boon for anyone making code changes because we can easily port changes between the two codebases. In contrast, languages that require fundamental rethinking of memory management, mutation, data structuring, polymorphism, laziness, etc., might be a better fit for a ground-up rewrite, but we're undertaking this more as a port that maintains the existing behavior and critical optimizations we've built into the language. Idiomatic Go strongly resembles the existing coding patterns of the TypeScript codebase, which makes this porting effort much more tractable.

      TLDR: Typescript -> Go is much easier than Typescript -> Rust/Zig/$OTHERNATIVELANG