News for hackers. Stuff that matters.
Re:Why Go Rocks for Building a Lua Interpreter by lopatin on Sunday June 29, 2025 @03:13PM (#44415524)
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.
Re:Why Go Rocks for Building a Lua Interpreter by 3836293648 on Sunday June 29, 2025 @03:26PM (#44415623)
Typescript 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
Re:Why Go Rocks for Building a Lua Interpreter by azemetre on Sunday June 29, 2025 @04:41PM (#44416264)
Didn't MSFT also fire the lead engineer for this project shortly after?
Re:Why Go Rocks for Building a Lua Interpreter by pjmlp on Sunday June 29, 2025 @05:22PM (#44416543)
They 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.

Re:Why Go Rocks for Building a Lua Interpreter by osigurdson on Sunday June 29, 2025 @07:28PM (#44417584)
Sorry, who got fired?
Re:Why Go Rocks for Building a Lua Interpreter by Rexxar on Sunday June 29, 2025 @08:14PM (#44417864)
Re:Why Go Rocks for Building a Lua Interpreter by foldr on Monday June 30, 2025 @04:47AM (#44420941)
Looks 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.
Re:Why Go Rocks for Building a Lua Interpreter by azemetre on Monday June 30, 2025 @09:36AM (#44423120)
No, 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.
Re:Why Go Rocks for Building a Lua Interpreter by foldr on Monday June 30, 2025 @03:16PM (#44426839)
Isn'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).

Re:Why Go Rocks for Building a Lua Interpreter by azemetre on Tuesday July 01, 2025 @11:30AM (#44434928)
Fired 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.

Re:Why Go Rocks for Building a Lua Interpreter by foldr on Tuesday July 01, 2025 @02:46PM (#44436911)
It’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.

Re:Why Go Rocks for Building a Lua Interpreter by osigurdson on Sunday June 29, 2025 @05:58PM (#44416854)
Yeah. 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

Re:Why Go Rocks for Building a Lua Interpreter by shadowgovt on Sunday June 29, 2025 @06:24PM (#44417113)
I 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).