I've been trying to get the hang of programming for a few years without much luck. I've always been fascinated by how computers and digital electronics work, but my background isn't technical. I currently work at a software company where my colleagues are usually friendly and open to answering beginner questions when they have the time.
Over time, I've picked up some basics like very simple Java and C++, learned about logic gates, and tinkered with Arduino and breadboards, but I still feel like I don't really "get it." Recently, someone suggested that I start again from the basics—focusing on one logic gate each month. The idea is to write out the truth table, the hardware description for each gate, and what components they're made from. The aim is to internalize this information so that it feels automatic.
I'm 38 and I'm learning out of interest, but part of me hopes to eventually make some money or even switch careers down the line. However, I'm not in a rush and want to take the time to truly understand what I'm learning.
What do you think about this suggestion? If you have other ideas, what strategy would you recommend?
3 Answers
If you're into hands-on learning, you might enjoy Turing Complete, a game that teaches you about digital logic in an interactive way. It's fun and has even helped me as a pro programmer!
I’ll check that out. I also took a digital logic course on Brilliant.org, but it felt more theoretical than practical.
Consider jumping into programming straight away, especially with a simpler language like Python. The syntax is easier, so you can focus on learning concepts without getting bogged down by complex code rules. And about that one-gate-per-month plan—while understanding gates can be useful, you might not need such depth early on to start coding effectively. Take it step by step, and you can always delve deeper into hardware later.
Thanks for emphasizing that. I think my interests might be broader than just programming. I'm intrigued by how hardware interacts with software.
It’s great that you’re committed to learning! First, clarify your goals: Do you want to create apps, websites, or just learn programming for fun? That can shape your approach.
Also, check out websites like nand2tetris.org. It’s a cool project that teaches you how computers work from the ground up, which could be super helpful for your interests in digital logic.
Thanks! I tried nand2tetris, but I got a bit lost early on. That’s part of why I'm considering focusing on one gate per month.

I haven’t finished Turing Complete yet, but it's been interesting so far. Even as someone already in the field, I find it enjoyable!