I've been on a new client at work that uses Flutter and it has been a fun little sub-adventure. I say sub-adventure because this contract is purported to only last some two months! My previous client was 100% Elixir, and now I'm 100% in Dart!

The first two or three days were a bit disorienting as I grappled with the sea change from a very functional programming language to a very object oriented one. Mixins? Super? Data serialization? Inheritance?

All that good stuff! I was intimidated at first, but I hit the ground running by doing a lot of pairing, which involved a lot of detective work🕵️‍♂️. It was fun to work from a deductive approach, with lots of filling in the blanks (this looks like a __ so, I think it's intended to do __ ) as I got more comfortable with the codebase.

I will admit, there is a lot more boilerplate than I am used to. I feel like I'm getting some insight into what it was like working in Java (which was before I came into programming).

I'm feeling pleased, though, because I've noticed some growth in a situation like this. Instead of feeling dread at being placed on a language I don't habitually use, (I don't know how/I've never used it before)… well it doesn't really matter. Instead, I'm seeing programming langauges more abstractly - they are like a new house you get to explore and before long they become your new temporary home. After a few days you get comfortable. Sure, you're not someone with 10 years of experience (Dart has been around about that long, but flutter hasn't!) but after breaking down the problem, you just navigate through and learn how to cook your meals, get used to your new bed, and so on.

Another fun thing: I've also started reading Crafting Interpreters by the good Mr. Nystrom, who works on the Dart language!