3 ms·
Typescript is a great project but I feel it’s fast outgrowing the JavaScript it’s written in, similar to when Sass outgrew Ruby and needed to be rewritten in C.
by jayflux 5y ago
Typescript is a great project but I feel it’s fast outgrowing the JavaScript it’s written in, similar to when Sass outgrew Ruby and needed to be rewritten in C.
Projects are getting larger and more complex and tsc is often becoming the bottleneck performance wise: usually waiting for typechecking to finish, having your fans spinning in the background, type-stripping during development then type checking on CI.
The performance needs from users seem to be outpacing what tsc can provide.
Something has to give, it would have been nice to see Microsoft create an official Rust implementation but i feel we’ll get one whether it’s from them or not.
- Aeolun 5y ago> when Sass outgrew Ruby and needed to be rewritten in C And we’re all so happy that every time we install our node project we get a whole C build toolchain as part of the requirements…
- andyfleming 5y agoI think it only has to compile the dependency if it isn't cached for the given platform and version(s).
- Aeolun 5y agoThat’s true, but since I’m annoyed by it I’m inclined to say that happens often enough ;)
- iddan 5y agoWith WASM this should not happen anymore. The tools are compiled once to WASM and then ran on every platform that Node works on.
- jayflux 5y agoYou’re right it was annoying, but there’s ways around that today. One is the ESBuild path where they bundle the pre-built binaries for each platform so you don’t need to do any building/node-gyp on your machine (only the binary for your platform is downloaded, and because it’s via npm it shouldn’t hit any proxy issues, unlike gyp’s postInstall mess). The other is to compile down to WASM as the sibling mentioned.
- berkes 5y agoWhereas before you needed the correct Ruby runtime installed. I'm primarily Ruby developer, so I'm biased. But getting the right version of a Ruby runtime, then get the correct gems is a mess. Certainly not easier than getting some libc packages.
- Epskampie 5y ago> Sass outgrew Ruby and needed to be rewritten in C libsass (the c port) has been deprecated for a while because it couldn’t keep up featurewise. The reference compiler is now written in Dart.