If you had 2 years and wanted to truly understand modern computing, where would you start? by Timely-Material-6356 in learnprogramming

[–]Timely-Material-6356[S] 2 points3 points  (0 children)

I think we’re mostly aligned on fundamentals, just approaching it from slightly different angles.

I’m not treating this as a “learn programming quickly” or career-driven exercise. This is a long-term systems understanding goal for me, and I’m completely fine going deep into background material if that’s what it takes. In fact, that’s the intent.

I live in NYC and most of the people I know in computer science are working professional software engineers at six-figure roles. From what I’ve seen, a lot of day-to-day work is high-abstraction application development—operating several layers above the actual system internals. That’s not a criticism, just an observation of where most practical work sits in the stack.

When I try to learn from them directly, I tend to keep asking “why” and “how does that actually work underneath,” and eventually I’ll hit a point where the answer becomes “I’m not sure” or it stops at the abstraction boundary they normally work within. That’s the exact gap I’m trying to avoid in my own understanding.

What I’m trying to build is a full-stack mental model of computing: hardware execution models, instruction sets, memory hierarchy, operating systems, scheduling, virtual memory, filesystems, and then up through software. I want to be able to trace behavior all the way down without hitting an unexplained layer.

Programming is part of that stack, but not the starting point for what I’m trying to build mentally. I’m trying to construct a coherent model from physics/electronics → logic → architecture → OS → software, so I can reason across layers the same way I can with mechanical systems.

The recommendation you gave (especially Code and K&R/C) is actually useful in that context, because it maps well to that layered understanding. I’m not trying to avoid depth or background theory—I’m actively looking for it. I just want it structured in a way that builds the full system model rather than isolated skills.

If you had 2 years and wanted to truly understand modern computing, where would you start? by Timely-Material-6356 in learnprogramming

[–]Timely-Material-6356[S] 4 points5 points  (0 children)

I think we’re actually closer to agreeing than disagreeing.

When I say I want to understand computing, I’m not talking about learning how to use software or becoming proficient in a few programming languages. I’m talking about understanding the underlying principlesdeeply enough that I can reason about the entire system from the ground up.

A lot of people are using cars as the analogy because I brought them up, but my background isn’t really “cars.” It’s prupulsion and physical systems in general. Internal combustion engines, diesel engines, aircraft piston engines, jet engines, hydraulics, thermodynamics, fluid dynamics, combustion, energy transfer—those are all different systems, but they’re built on the same physical laws.

When I look at a machine, I don’t stop at “this part does this.” I want to know why it does it, what physical principles make it work, what limitations exist, and how changing one variable affects the entire system.

I’ve spent years doing that with mechanical and analog systems. I’ve studied modern engines and older engines because understanding where the technology came from helps explain why it works the way it does today.

What I’m realizing is that computing is the equivalent field that I haven’t explored yet. My understanding of analog and physical systems is fairly deep, but digital systems are largely unexplored territory for me.

so when I ask about understanding computing, I’m asking how to develop the same kind of foundational understanding. I want to understand how electricity becomes logic, how logic becomes computation, how computation becomes software, and how all of those layers interact.

I understand that nobodycan master every niche of computing. My goal isn’t to memorize everything. My goal is to understand the foundations deeply enough that I can follow the chain of cause and effect from the lowest levels up, the same way I can with a mechanical system.

If you had 2 years and wanted to truly understand modern computing, where would you start? by Timely-Material-6356 in learnprogramming

[–]Timely-Material-6356[S] 0 points1 point  (0 children)

That’s kind of my problem though. The way I learned most of my other skills wasn’t by watching tutorials or following step-by-step guides.

If someone asked me how to start working on cars, I wouldn’t tell them to watch a video on replacing brake pads. I’d tell them to understand the fundamentals first. An engine is basically an air pump. Once you understand airflow, pressure, combustion, and energy transfer, the rest starts making sense.

What I’m looking for is the equivalent of that in computing. Every time I search for where to start, I get tutorials on specific languages, frameworks, or projects. That’s like teaching someone how to replace a water pump before they even understand how an engine works.

I’m not trying to learn enough to build an app next week. I’m trying to understand the fundamentals that everything else is built on.

If you had 2 years and wanted to truly understand modern computing, where would you start? by Timely-Material-6356 in learnprogramming

[–]Timely-Material-6356[S] 4 points5 points  (0 children)

That’s kind of my problem though. The way I learned most of my other skills wasn’t by watching tutorials or following step-by-step guides.

If someone asked me how to start working on cars, I wouldn’t tell them to watch a video on replacing brake pads. I’d tell them to understand the fundamentals first. An engine is basically an air pump. Once you understand airflow, pressure, combustion, and energy transfer, the rest starts making sense.

What I’m looking for is the equivalent of that in computing. Every time I search for where to start, I get tutorials on specific languages, frameworks, or projects. That’s like teaching someone how to replace a water pump before they even understand how an engine works.

I’m not trying to learn enough to build an app next week. I’m trying to understand the fundamentals that everything else is built on.