4 ms·
I never thought that Go would be a technology of choise for PL stuff. I always considered it more of a Java-lite for Web systems and also for CLI stuff, but her
by lopatin 1y ago
I never thought that Go would be a technology of choise for PL stuff. I always considered it more of a Java-lite for Web systems and also for CLI stuff, but here we are! TypeScript rewrote their compiler to Go. Being a compiler, they had no use of piggy backing on the GC, looks like they just liked the language.
- 3836293648 1y agoTypescript chose Go specicfically because they didn't rewrite it. Go has close enough semantics to TypeScript that they could write a Go backend for tsc and do a machine port to Go and continue working from that
- azemetre 1y agoDidn't MSFT also fire the lead engineer for this project shortly after?
- pjmlp 1y agoThey did. Also the way the port was sold is a bit misleading, because as described on BUILD 2025 session, they had anyway to redo the whole datastructures due to the more basic Go's type system. Meanwhile Azure is rewriting C++ into Rust with AI tooling, see Microsoft talks at Rust Nation UK 2025.
- osigurdson 1y agoSorry, who got fired?
- Rexxar 1y agoHe means probably Ron Buckton: https://xcancel.com/rbuckton/status/1922364558426911039 https://xcancel.com/rbuckton/status/1922364558426911039
- foldr 1y agoLooks like he was laid off, not fired. But so what? Layoffs have their own weird logic. It doesn’t tell us anything about how the project is perceived internally to Microsoft.
- azemetre 1y agoNo, but it does tell us that MSFT leadership are quite inept if they are firing a clearly qualified engineer capable of doing hard work under the guise of cost savings.
- foldr 1y agoIsn't general MSFT bashing a bit off topic in this thread? Also, it's discourteous to the individual in question to keep incorrectly stating that they were fired. The distinction between being fired and being laid off is an important one (especially if the person in question is applying for jobs).
- azemetre 1y agoFired and layoffs are a distinction that no worker cares about, I'm sure he'd rather be working than getting laid off for "performance reasons." If you were ever given the option to collect unemployment insurance, this includes taking a severance package where you stipulate to not pursue unemployment insurance, then you were fired. It's also important to always note that these companies do not care about their workers, they will extract you dry and throw you out.
- foldr 1y agoIt’s an important distinction because being fired suggests a fault on the part of the employee. Despite what you appear to suggest, there is no public information suggesting that this person was laid off for performance related reasons. Again, what you think about Microsoft, or big tech companies in general, is completely irrelevant here. You’re spreading false information about someone. It would cost you nothing simply to stop doing it.
- osigurdson 1y agoYeah. They said that there were lots of nested structures with cycles and so on so it would be hard to do with Rust. Link below. https://youtu.be/10qowKUW82U?t=762 https://youtu.be/10qowKUW82U?t=762
- shadowgovt 1y agoI used Go awhile ago for a Blockly interpreter. It's remarkably friendly; if memory serves, the ability to attach metadata to structs was pretty useful. One hack I'm not super proud of is I implemented return and break with panic / recover. Were I to do it all over, I'd probably use continuations to model that instead. (Side-note on Lua specifically: among the reasons I like Lua is that it's very simple and its reference interpreter implementation is some very understandable code. I did some truly horrible things to it back in the day for a game engine, and it was very amenable to getting beat up like that).