Talkin' 'bout code generation

Talkin' 'bout code generation

Update: 2021-03-11
Share

Description

O.G. Brian Ketelsen joins the panel to discuss code generation; programs that write programs. They also discuss IDLs, DSLs, overusing language features, generics, and more.


Also Brian plays his guitar. 🤘



Discuss on Changelog News



Join Changelog++ to support our work, get closer to the metal, and make the ads disappear!



Sponsors






  • Teleport – Quickly access any resource anywhere using a Unified Access Plane that consolidates access controls and auditing across all environments - infrastructure, applications, and data. Try Teleport today in the cloud, self-hosted, or open source at goteleport.com




  • LaunchDarkly – Test in production! Deploy code at any time, even if a feature isn’t ready to be released to your users. Wrap code in feature flags to get the safety to test new features and infrastructure in prod without impacting the wrong end users.




  • Equinix Metal - Proximity – Take your infrastructure further, faster. On March 3rd, join Equinix Metal for their first technical user conference called Proximity. It’s a “follow-the-sun” day of live-streamed technical demonstrations showcasing Equinix Metal’s partners and ecosystem. Visit metal.equinix.com/proximity









Featuring






Notes and Links


The panel dig deep on code generation in Go. Touching on the new go:embed feature in Go 1.16.


They also discuss IDLs (interface description language) and DSLs (domain specific languages) and the part they play in code generation.


Brian talks about how we’re all guilty of overusing language features, like channels (see Go channels are bad and you should feel bad for an example).


The panel refers to https://litestream.io/ at one point, as an example of a closed-open-source project, and you can read more about on the Litestream GitHub page.

Comments 
loading
In Channel
SIV and the V2+ issue

SIV and the V2+ issue

2021-07-1501:20:12

Pop quiz time! 😱

Pop quiz time! 😱

2021-07-0101:02:52

Giving TDD a Go

Giving TDD a Go

2021-06-2401:09:41

All about Porter

All about Porter

2021-06-1701:10:04

Go Battlesnake Go!

Go Battlesnake Go!

2021-06-0301:09:35

Building for Ethereum in Go

Building for Ethereum in Go

2021-05-2701:03:36

Event-driven systems

Event-driven systems

2021-05-1301:11:04

Building startups with Go

Building startups with Go

2021-04-2901:10:30

TCP & UDP

TCP & UDP

2021-04-2201:06:40

Design philosophy

Design philosophy

2021-03-2501:25:35

go:embed

go:embed

2021-03-1801:05:11

loading
Download from Google Play
Download from App Store
00:00
00:00
x

0.5x

0.8x

1.0x

1.25x

1.5x

2.0x

3.0x

Sleep Timer

Off

End of Episode

5 Minutes

10 Minutes

15 Minutes

30 Minutes

45 Minutes

60 Minutes

120 Minutes

Talkin' 'bout code generation

Talkin' 'bout code generation

Changelog Media