> created solely for myself; I never had the intention of making it [...] mainstream
This is a habit I picked up from two people I respect greatly as programmers; Casey Muratori and Jonathan Blow.
Those guys both built their own little lands; Jon went as far as building a new language, a 3D game engine in that language, and has multiple game titles in-flight in the engine.
I have a handful of projects that are similar in spirit. I'm largely the only, and target, user of these projects. It's joyful to work in an environment you control completely. No deadlines, no feature requests, no support tickets, no garbage collector, no language runtime .. just me and the OS having a party.
Do you mean they created their own fictional geographic worlds (or parts of worlds)? That's amazing. Many - including Tolkien, I think - have started that way. Sometimes, the world finds out about it. Robert Louis Stevenson started with a map.
Hah, I should have been more specific. They created programming environments that are entirely their own. Although Jon has created several games which include fictional geographic worlds.
Still, it seems like the same thing to me, just in a different medium. Though the public has a much easier time understanding maps than programming environments.
I haven't gone this far, but I get the same joy out of little side project CLIs and libraries.
In particular I've written a CLI framework and a few apps with it. The apps' requirements stretched the framework's capabilities, so I've rewritten large parts of it over the years.
It's incredibly satisfying to feel myself get better as a developer as I write and consume and improve my libraries.
I'd consider JAI shipped, it's just not publicly available. There are hundreds (maybe thousands?) of developers in the beta at this point. Next time you build a new programming language, 3D game engine, and ship a game, lemme know how long it takes.
Casey's done both Handmade Hero, and Performance Aware Programming. Some of the best programming educational content available, in my opinion.
This is a habit I picked up from two people I respect greatly as programmers; Casey Muratori and Jonathan Blow.
Those guys both built their own little lands; Jon went as far as building a new language, a 3D game engine in that language, and has multiple game titles in-flight in the engine.
I have a handful of projects that are similar in spirit. I'm largely the only, and target, user of these projects. It's joyful to work in an environment you control completely. No deadlines, no feature requests, no support tickets, no garbage collector, no language runtime .. just me and the OS having a party.