The moment that made programming click was when I saw a linked list node class with a member of its own type—it revealed that you can build anything, that there's no end to what you can express.
ThePrimeagen describes the first time he fell in love with programming in his data structures class: seeing a node class with a private member of its own type, which blew his mind by showing him that programming can express arbitrarily large and infinite structures.
transcript
ThePrimeagen: And then he shows code. And in the code, it's like abstract class node or whatever it was. I can't remember what it was. And then it had a private member and that private member was of type node. And I've never seen that before. It is a class that is called node with a member that is of itself. And for the first time ever, I was like, oh my gosh, like there's no end, there's no way to iterate. This is not like a set of 10 items. This is a set of infinite items. And so my mind kind of like exploded in that moment. Like there's actually, like what you can express is huge. I can see what memory looks like. I can see this kind of hopping through space. And I just remember being just so blown away because up until that point, everything was just, all right, I have a list of 10 items. I have a list of 20 items, right? It was very rigid and small. And the things I built were really small and trivial. And all of a sudden I felt like I could build like anything in that one moment.