As someone who has been sewing since the age of 10 (that’s 20+ years) and programming Java since the mid-1990’s (yes I am old!), I am constantly amused at how similar the two activities are. In both practices, you are basically taking things apart and putting things together. Most people can envision how this works in sewing, but trust me, it’s not much different in programming. You put together smaller objects, like you would put together the pieces of a garment, and then you sew the objects together into a larger program. In sewing you finish off the edges so that things won’t unravel. In programming we do this by declaring final classes and static variables. In both you pick apart threads and you join threads together, which is never fun. OK the threads are already woven in sewing, but you still pick them apart sometimes. In both activities you have to patch things occasionally. In both we use patterns. These patterns are templates of how to do things to make something useful, and if the patterns are good, we use them again and again.
Finally, sometimes our sewing creations are a joy to create and turn out wonderful and useful, and sometimes they turn into a lumpy ugly mess that we spend lots of time reworking until we finally throw them away.
Can you think of other ways that programming and sewing are similar?