3 ms·
The thing about knitting is that you can't avoid knitting that second sock. In technology, we can just build a machine that copies the first sock. The problem
by d--b 7y ago
The thing about knitting is that you can't avoid knitting that second sock. In technology, we can just build a machine that copies the first sock.
The problem we face is that it usually takes an order of magnitude more time to build that machine than to actually knit the second sock...
- mojuba 7y agoYou 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.