4 ms·
You build an abstraction layer, yes: knit.sock(.left) However, your next roadblock would be the framework itself: you throw new tasks at it that it can't
by mojuba 7y ago
You build an abstraction layer, yes:
knit.sock(.left)
However, your next roadblock would be the framework itself: you throw new tasks at it that it can't handle, you start adding more states and conditionals, more lambdas and/or polymorphism until it gets so ugly you start hating the framework (and yourself) and realize you will never finish it. Time for a big rewrite.
One of the essential skills in software engineering is the ability to carefully craft beautiful and minimalist abstraction layers that won't let you down.
- pjc50 7y agoKnitting is just a monoid in the category of endofunctors. Once you realize that a sock is just a piece of yarn transformed through a series of knots, you can determine that it's topologically equivalent to where you started and you don't need to knit the other sock.