It’s time to start blogging about Toccata again.
It’s been over a year since I posted anything here. I’ve been heads-down working on a lot of features to get Toccata to a minimal level of usability. It feels like it’s almost there, so it’s time to start talking about it. I’ve got several things in the oven and on the short-term TODO list. Documentation, a code-formatter, a tutorial, some useful libraries, etc. But since it’s been so long, I think a little re-introduction is in order.
I was recently talking with a businessman about Toccata. I’ve been so focused on doing it, that I’d lost touch on the “Why”. So I launched into an explanation of the technical aspects and it wasn’t until the very end of the meeting that I connected it to anything he was interested in. A big fail on my part. But when I made that connection in my own head at that moment, I got a fresh surge of energy to work on this crazy project.
There are a couple of reasons behind Toccata. And they boil down to, I want people to have better tools so they can produce better software and solve harder problems faster. There’s a lot of software that needs to be written. Much of it isn’t terribly complex, but would still be very beneficial. And yet we’re (the industry as a whole) still using tools that slow us down. I saw a Programming Language researcher recently lament on Twitter that despite the advances happening in academia, the industry is still using languages that haven’t improved in a decade or more.
It seems to me that one of the problems is that the learning curve looks pretty steep when standing at the bottom and the situation isn’t helped by the vocabulary that’s often used to explain these new concepts. For a grunt programmer, having to learn a bunch of unfamiliar definitions to even begin internalizing these things to the point where they can be put in to practice is just not worth the effort.
I’m not saying the vocabulary is unimportant. When grasped, it allows thinking and communicating efficiently. But when you’re slinging code all day to put food on the table, picking up an academic paper and not understanding the words used in the abstract is an impediment.
So I’m hoping with Toccata to smooth out that learning curve. Give people a very short hop to get started doing something they care about with quick feedback. Then provide a path to level-up their cognitive toolbox. And introduce the vocabulary when they have concrete examples in mind to hang them on.
I’m going to start by writing about some of the libraries that can let you do some basic tasks. So watch this space.