Jul 8Distant sighting of macro annotationsI’ve been busy with work, and most stuff happening in the Dotty repos these days is straightforward bug fixes and enhancements. But seriously intriguing stuff still crops up now and then. The latest is this very early-stage PR for macro annotations. There is no documentation, so you sort of have…1 min read
Apr 24But you are kind of proving my point.1Leo LiouWe may just have to agree to disagree here -- you keep making these broad, absolute claims ("you…We may just have to agree to disagree here -- you keep making these broad, absolute claims ("you will be kicked out of the game") that do not match reality as I've seen it. In this particular case, I've bounced back and forth between backend and frontend development repeatedly during…2 min read
Apr 23…t unexperienced kid out of school. So yes! It is not over once you are a 45 year old web developer, you just need to change your mindset from a programmer’s mindset to an manager’s mindset.Are old developers worthless?42937Leo LiouI'm sorry, but this is nonsense.I'm sorry, but this is nonsense. I'm in my mid-50s, and I'm still working as a highly-placed IC programmer working for cool startups. I've done management, and I'm not bad at it, but it's not to my taste. You can stay active as a programmer indefinitely, if and only if…2 min read
Nov 23, 2021A Philosophy of Testing 8: SummaryBack to Part 7. If you’ve gotten all the way to the end of this series: thank you! This has been a bit of a labor of love, distilling the lessons from many years of building Scala test harnesses whilst building Scala services. By way of summary, let’s tot up…Scala2 min read
Nov 23, 2021A Philosophy of Testing 7: Code for TestingBack to Part 6. In the previous post, I made a number of suggestions about how to build your system in order to make it reliably testable. There’s a bit of controversy nestled in there, so let’s tackle it head-on. It’s not unusual for folks to take the viewpoint that…Scala8 min read
Nov 17, 2021A Philosophy of Testing 6: The Quest for DeterminismBack to Part 5. Having discussed what sorts of tests to write for Scala services, and how extensively to test, let’s change gears and talk about a more basic principle: reliability. How many times has this happened to you? You commit your code, open a PR, your integration pipeline runs…Scala5 min read
Nov 16, 2021A Philosophy of Testing 5: The Case for 100%Back to Part 4. So far, I’ve argued that Scala services should favor scenario tests instead of old-fashioned unit tests in most cases. Let’s move on to the next topic: how much do you need to test? If at all possible, your Scala code should have automated test coverage, using…Scala8 min read
Nov 16, 2021Improved main methods coming alongTaking a brief break from A Philosophy of Testing for a little bit of good old-fashioned Dotty news: This morning, I noticed this Draft PR, titled “Generalize main annotations”. That’s pretty exciting. One of the nice features of Scala 3 is the new @mainannotation, which allows you to more-easily create…Scala1 min read
Nov 15, 2021A Philosophy of Testing 4: Scenario TestsBack to Part 3. Having argued passionately, in the last article, against writing too many unit tests, that begs the question: what should you be doing instead? In this part, I’m going to lay out the Scenario Test approach. Stepping back a bit, it’s common for folks to focus on…Scala7 min read
Nov 12, 2021A Philosophy of Testing 3: The Problem of Unit TestsBack to Part 2 In the previous article, I argued that Scala is a different language, and its testing requirements are different. Let’s examine a key difference: why old-fashioned unit-testing is mostly not a good idea for Scala services. (Please remember that this series is focused on testing services specifically…Scala5 min read