Hmm, the library is just a handful of hundred-line-ish source files that do the bare minimum to get the job done. This is a good thing. Bad programmers have fun writing lots and lots and lots of code. Good programmers are lazy, like this.
It's very easy to solve problems as they come by just adding more abstractions until you have this katamari damacy ball of interfaces that's completely inscrutable. God knows I do this too sometimes.
In contrast, this low abstraction style of programming feels like solving a sudoku. All the pieces need to fit as they are. It's more effort to get right. Think I went through 4 or 5 designs to get it as slimmed down as it is.
Well put, I've been working on an vm/interpreter design for several years. Which has to be low abstraction if it is to run fast enough to be useful. I keep painting myself into unforeseen corners, bad enough that refactoring is often not even an option. But having written code on a daily basis for 40-ish years, it's the only kind of code that tickles my brain anymore.
Hmm, the library is just a handful of hundred-line-ish source files that do the bare minimum to get the job done. This is a good thing. Bad programmers have fun writing lots and lots and lots of code. Good programmers are lazy, like this.
It's very easy to solve problems as they come by just adding more abstractions until you have this katamari damacy ball of interfaces that's completely inscrutable. God knows I do this too sometimes.
In contrast, this low abstraction style of programming feels like solving a sudoku. All the pieces need to fit as they are. It's more effort to get right. Think I went through 4 or 5 designs to get it as slimmed down as it is.
It takes a surprising amount of time and effort to write fewer, simpler lines of code. (Until you have to use and maintain it...)
"I would have written a shorter letter, but I did not have the time." - Pascal
Well put, I've been working on an vm/interpreter design for several years. Which has to be low abstraction if it is to run fast enough to be useful. I keep painting myself into unforeseen corners, bad enough that refactoring is often not even an option. But having written code on a daily basis for 40-ish years, it's the only kind of code that tickles my brain anymore.