144: Gary Bernhardt - TypeScript and Testing

Full Stack Radio


It's my pleasure to welcome to the show Gerry Bernhardt who, I've been a massive fan of since. I basically, I became a professional programmer. We're back in two, thousand, twelve. So it's super awesome heavy on the show. Gary. Has Been. It's going well and thank you for having me and I, you never told me that. So I'm very flattered. I was like a huge destroy also offer fan from like. Back in the you know in my early days of learning. To program and I think still to this day like I haven't seen like an educational resource that really resonated with what the stuff that I wanted to learn as as much as destroy all software did. So I actually remember seeing you speak at Code Mash And I was too nervous. Even introduced myself because I was like such a fan boy at that time in my early junior days of programming. So Yeah. It's awesome to have the chance to chat with you here. Yeah. Well, yeah, I appreciate So where do you WANNA start? Yeah. So I think what I WANNA talk food today is what originally got me excited to talk to you in terms of topics. Is You recently I? Don't know if recently is really the right word anymore. But something that you're currently kind of your of project has execute program, which is like an online. Tool to help people like learn different programming topics all this like crazy innovative interactive learning tech that you've sort of like built to make this experience sort of really unique and and work better than a lot of the ways that people have historically tried to learn these sorts of topics and why you've been doing that Occasionally, you'll tweet out pretty interesting little tidbits around how you've been like sort of putting it together, and the thing that sort of got it on my radar originally was just realizing that you're building. This whole thing is like a full stack Java scripts application or type script application. Thanks Great. Yeah, and Until then I knew you as like the Ruby and Python Guy, you know what I mean and bash and all them and. All this other stuff, but definitely not known for like in the in the sort of javascript world. So it got me Kinda interested because I was saying well, okay. We'll. Scary like going full javascript. He's like building stuff known whatever super. So I thought, it was really interesting to just sort of like almost start the conversation around. That whole story, and there's a lot of interesting things I like to get into from there, but maybe even earlier would be just starting with like what execute programs SORTA is. I guess maybe where you got the idea from when you started working on it sure So I'll try to give the very short summary because I don't want to. Spend the whole podcast describing a a a product but. The basic idea is that. When you're learning programming tools, often you they're basically two paths that people tend to fall into either you're going to consume some kind of static content whether it's DOC's books video whatever. Or you take the path that is more familiar to me, which is you just start trying to build stuff and and like constantly trip over things, and then try to figure out what you tripped over. Sort of interactive path or or the passive content path. My goal and both have strengths, and so what I wanted to do was and not just in a way where like Oh, you read a chapter of tax and there's a problem at the under whatever. But we integrate them at the like second to second level. So execute program currently as record. This contains about two thousand Interactive Code examples run in the browser and about two thousand little paragraphs of tax. So it's like almost exactly one to one and they're just interleaved with each other. So you never go more than about thirty seconds without either doing some kind of interactive example where you have to actually solve some small problem or. Or reading some kind of. Static explanation. So there's a million other things about the APP than that. But that's like the core sort of motivation was to integrate those and then spaced repetition system, and there's all this secondary stuff. So. That's the APP. And it was originally written in. It was originally a python back end and a pre-act. That's really with in front. So it's a very small reimplementation of react. Front end just regular old javascript. and. The past from. Ruby back, end and javascript front end to being a full and end node and type script. APP. Wasn't about node or NPR's or Java script, it was really just that. After fifteen years of primarily programming dynamic languages meaning mostly python. Ruby I was just really tired of of struggling with the same silly mistakes and writing. Tests that I knew were. Were doing things at a static type system could do and so. Accorded the front end from Java scripted type script. For the purpose of. Easing. Re. Factoring of react components. So you know you split a component of four different ones. Then you forget some education past the wrong props in some condition or whatever that problem just disappeared. And then. Something like four months. Later, six months later, I don't remember some number of months later I was having, I, was frustrated by the same thing except on the API side.

Coming up next