One hundred percent credit for my appreciation of copying other’s work goes to Austin Kleon and his book Steal Like an Artist
(And the title is just one of the 10 things Kleon covers - I think it’s a pretty incredible little book.)
Like you, I always thought that everything I did had to come from completely original ideas formed ex nihilo from some hidden wellspring of ideas deep in my subconcious mind.
Steal Like an Artist opened my eyes to the power of copying the work I aspire to create to learn how it ticks, to copy broadly and deeply, and then absorb the works and make something new and unique from those proto-ideas.
I started to do this with art and my own art got noticably better (and it doesn’t look anything like the artists I admire and have studied). I would like to do this with writing, but I’m not there yet. Writers write.
And recently, I’ve discovered the absolute joy of applying this to programming with my Assembly Nights (FORTH implementation) project. This is the first time in my life that I’ve written a software port and it’s been an incredible experience because I’m:
…writing software I wouldn’t otherwise know how to write
…learning the flavor of assembly I’m porting from
…learning the flavor of assembly I’m porting to
…understanding the code at a way deeper level than if I’d merely read the source (or a description of the source)
…learning how somebody else writes software
…making something that will actually work when I’m done with it
That list’s just off of the top of my head. There are probably more benefits.
I’m not going to make any promises here about immediately starting another port when this one is done (let’s not put the card before the horse - though it is in really great shape!), but I’m hoping this isn’t my last software port! Some C to Zig translations would probably be ideal and there are about a billion great command line tools I’d love to learn at a deeper level.
In contrast to copying, is unique-thinking.