Menu
Sign In Search Podcasts Charts People & Topics Add Podcast API Pricing

Kris Brandow

👤 Person
170 total appearances

Appearances Over Time

Podcast Appearances

I think with things like Rust and to some degree Zig, these are languages that probably don't cater to the average programmer in that same way. They're very much like, no, you really need to know what you're doing. You have to want to have every single tool at your disposal. You need to understand all of these lower level concepts, and then you can go do these really powerful things.

I think with things like Rust and to some degree Zig, these are languages that probably don't cater to the average programmer in that same way. They're very much like, no, you really need to know what you're doing. You have to want to have every single tool at your disposal. You need to understand all of these lower level concepts, and then you can go do these really powerful things.

So I think it's not even about garbage collection. I mean, Go's garbage collector is fantastic. We have, I think, on the high end, at most, a millisecond pause, and usually much less than that. Or no, I think it's the strangest. Now I think it's 100 microseconds is the longest garbage collection pause you will have.

So I think it's not even about garbage collection. I mean, Go's garbage collector is fantastic. We have, I think, on the high end, at most, a millisecond pause, and usually much less than that. Or no, I think it's the strangest. Now I think it's 100 microseconds is the longest garbage collection pause you will have.

and for most real-time systems that is absolutely fine i know people want to say real time is like some super real time is a very broad category of things and being able to do things at 100 with you know 100 millisecond delay some of the time is just not going to affect your real-time system all that much so i think garbage collection is not the the big defining factor as far as the split here i think it's much more about the language ergonomics itself and how the languages are designed

and for most real-time systems that is absolutely fine i know people want to say real time is like some super real time is a very broad category of things and being able to do things at 100 with you know 100 millisecond delay some of the time is just not going to affect your real-time system all that much so i think garbage collection is not the the big defining factor as far as the split here i think it's much more about the language ergonomics itself and how the languages are designed

But I don't work on the Go team, right? I actually kind of feel the opposite. I think Go is potentially going to be the first language that... undefines backwards incompatibility right that makes makes it so that backwards incompatibility is not a thing at all i think there is a very good opportunity for go to do this with the way it set itself up so far if

But I don't work on the Go team, right? I actually kind of feel the opposite. I think Go is potentially going to be the first language that... undefines backwards incompatibility right that makes makes it so that backwards incompatibility is not a thing at all i think there is a very good opportunity for go to do this with the way it set itself up so far if

the Go team decides to invest in a few more tools. Go has pretty much already jettisoned the entire idea. I mean, it was never really an idea that Go version 2 would ever be a thing. It was just a name to give to kind of next gen features.

the Go team decides to invest in a few more tools. Go has pretty much already jettisoned the entire idea. I mean, it was never really an idea that Go version 2 would ever be a thing. It was just a name to give to kind of next gen features.

And with the way that modules work now, where the version in the module dictates what feature set you're going to use, it is possible to change the language in the future in ways that would be backwards incompatible in another language, but continue being forward, but continue being compatible because the compiler can switch out its tool chain at will.

And with the way that modules work now, where the version in the module dictates what feature set you're going to use, it is possible to change the language in the future in ways that would be backwards incompatible in another language, but continue being forward, but continue being compatible because the compiler can switch out its tool chain at will.

So yeah, you can still compile that old code using your current go command. It's just going to go grab a different tool chain and compile the code with that. And that, you know, I guess technically you could say that's backward incompatible or backward, you know, backward breaking change. But for the consumer, it doesn't really feel that way at all.

So yeah, you can still compile that old code using your current go command. It's just going to go grab a different tool chain and compile the code with that. And that, you know, I guess technically you could say that's backward incompatible or backward, you know, backward breaking change. But for the consumer, it doesn't really feel that way at all.

And there's a small effort to take some of the ideas from Go's distant past with Go Fix and with this tool called EEG or Example to actually be able to rewrite code for you. So if you do make a backward breaking change, the code will just be rewritten automatically to the new thing, which I think also

And there's a small effort to take some of the ideas from Go's distant past with Go Fix and with this tool called EEG or Example to actually be able to rewrite code for you. So if you do make a backward breaking change, the code will just be rewritten automatically to the new thing, which I think also

really reduces the amount of like what is a backward breaking change if you just build that into the compiler as well and the compiler can just do this for you automatically then it can just look at the context of how what is this module code written in oh it's in this version and we have this other version i know how to map these two versions together so i can just automatically translate it and you just reduce or remove almost all of the backwards incompatibility things that you might come up with

really reduces the amount of like what is a backward breaking change if you just build that into the compiler as well and the compiler can just do this for you automatically then it can just look at the context of how what is this module code written in oh it's in this version and we have this other version i know how to map these two versions together so i can just automatically translate it and you just reduce or remove almost all of the backwards incompatibility things that you might come up with

And I think if you add that with the ability to do the V2 modules, you really just remove the need to ever create something like Go 2. Like, I don't know what would be in Go 2 that would be something we can't use the current tools or some of the upcoming tools to remediate. This is true.

And I think if you add that with the ability to do the V2 modules, you really just remove the need to ever create something like Go 2. Like, I don't know what would be in Go 2 that would be something we can't use the current tools or some of the upcoming tools to remediate. This is true.