In my first-ever live stream, I used a TDD exercise to learn the basics of Kotlin. In this recording, you can watch as I let the IDE guide me, stumble through mistakes, and get help from viewers. You’ll get to see how much better a good IDE can be than what we experience with Xcode.
Aside from learning Kotlin itself, I experienced two big things. First, it showed me that with good tooling, Test-Driven Development is a nice way to learn a new language.
Second, I got to experience what it was like to do live coding on Twitch. This came about from talking with Ted Young, who broadcasts his test-driven coding nearly every day. Ted told why he does it and what he gets out of it. This gave me the courage to jump in and give it a whirl. With only a 5-minute warning that I was going live, I didn’t expect anyone to be watching. So it surprised me to have a couple of viewers jump in who helped guide me into Kotlin coding.
I don’t expect folks to watch the full 2 hours of me stumbling along. But let me give you some tips of ways this recording could be helpful to you. …Even if you’re a die-hard Swift programmer who would rather “be dead in a ditch” than learn Kotlin.
There’s a fair bit of “dead air” where I’m sitting, thinking about what to do next. I recommend increasing the playback speed, even if you jump around and only watch a chapter or two.
If you’ve ever watched me code during a conference talk, what you saw was rehearsed. But in a live stream, you get to watch all my mistakes and fumbling around. I hope this reassures you that coding in a test-driven manner doesn’t mean that everything goes smoothly.
I did some minimal editing to break the stream into chapters (and add an introduction). That way, you can look over the chapter titles to pick one or things that might interest you. Here’s the breakdown:
(On other screencasts, I hand-edit captions to help folks who can’t hear. This also helps if your English isn’t your first language. But I’m afraid doing that on a 2-hour recording isn’t practical for me. You’ll have to lean on YouTube’s automatic transcription, and hope for the best.)
Kotlin is a language invented by a tool maker. So they focused on building good tooling in and around this language.
By contrast, Swift was invented by folks trying to solve language problems. The tooling is an add-on. This contrast is most obvious with Xcode. Even AppCode suffers from Swift’s origins, because the tool makers have had to bolt on their tooling from the outside.
So I encourage you to watch the chapters where I experience what it’s like to have good tooling. If you know anyone at Apple who works on Swift or Xcode, please ask them to watch. I want folks to see what’s possible, so that we know where Swift is currently lacking.
Finally, I encourage you to follow me on Twitch. I don’t know when I’ll be streaming next. I don’t know what it’ll be about. But by following, you’ll receive a notification when I go live. Then instead of watching a recording, you’ll be able to interact directly with me through the chat box.
And it’s that interaction that makes this fun!
What would you like to see in an upcoming stream? Any particular coding? Q&A? Please share your ideas in the comments below.
Programming was fun when I was a kid. But working in Silicon Valley, I saw poor code lead to fear, with real human costs. Looking for ways to make my life better, I learned about Design Patterns, Refactoring, and Test-Driven Development (TDD). Programming became fun again! I've now been doing TDD in Apple environments for 18 years. I'm committed to software crafting as a discipline, hoping we can all reach greater effectiveness and joy.
Please log in again. The login page will open in a new tab. After logging in you can close it and return to this page.