So a common theme for me while trying to create a new programming language is that I just don’t know enough. I think it’s important to not just read, but also to do. However, I sometimes think that I try to do everything my own way without really absorbing the wisdom of others.
I have spent a lot of hours on Spindle. Too many of them have been spent struggling over syntax and features, and what I really want the language to be. I think that’s important for language design, because it’s so hard to go back, but in the time I have spent doing that, I could have learned a lot of computer science about how to actually implement my potential language. And speaking in practical terms, that knowledge is likely more important for me to know than to start by making the language.
When I was a teenager, I thought it would be really awesome to learn how to play an instrument. I really had no training. My end goal was to write music. I had no interest in learning how to play something someone else wrote. That really hurt my ability to actually learn how to play. I’m trying to avoid having that happen again.
Instructor and Student
So I had a moment a few days ago when I was thinking about all of my goals and aspirations and how I could do a better job of reaching them. One thing I noticed is that outside of work, I lack structure. I don’t do Spindle on a schedule, and I don’t really set deadlines. I stopped myself and thought how I could steer myself back on track.
What I concluded was that I needed to reverse my logic. Instead of learning as a side effect of doing, why not do as a side effect of learning. In other words, why not learn to play a few songs, and get some music theory under my belt before trying to write my first song (metaphorically speaking of course). I looked around at all of the books I have purchased to help me on my quest and realized that there was a lot of knowledge in there I have yet to extract, but I’d like to.
I don’t really have a place in my schedule for taking real classes, and the fact is that I don’t think I really need to take them, in the sense that I’m pretty good at learning without an instructor. Point me at the right resources, and I’ll figure it out. What I lack is structure. A class would help to provide this, but I’d like to just do it myself. So what I would like to do is effectively think of myself as taking a class where I am both the instructor and student. Create a syllabus, choose the books, do the exercises, etc. As I thought about it, I thought it might be interesting to really try to put myself in the instructor role. Reflect on what I’ve read, and all the things I’m learning and figure out how I would present it if I were and instructor. I really think a great way to learn is by trying to explain to somebody else. I’m not instructing anybody, but I think it would be interesting to put myself in theat mindest.
- What would the arc of the course be?
- What would my lecture notes be?
- What analogies would be useful for instructing someone finding the material hard?
- How can I use more than one resource in composition to create something greater?
- What course assignments would be helpful? (And then I should actually do them)
I guess we’ll see how it goes. Oddly enough, I think I’ll be starting with set theory.