this post was submitted on 19 Sep 2024
87 points (98.9% liked)

Programming

17313 readers
23 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
 

Hello! I’m looking for book recommendations for learning programming fundamentals.

To be clear, I’m not necessarily looking for a book on learning language(s), but rather, programming, theory I guess you might call it?

For example, I’ve been playing around a lot in my terminal writing bash scripts, and I just implemented my first function. Another example, I know the phrase “Object Oriented programming”, but have no idea what it means.

I learn well by doing, and I’ve learned a lot just writing scripts and reading about bash scripting, but I also realize there’s a lot about programming at a higher level that I know nothing about.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 6 points 1 month ago* (last edited 1 month ago)

'Programming from the ground up' the main idea of this one is to teach programming in a bottom up way, so very low level.

it's mostly about teaching (linux) assembly to beginners, so in a way it is just learning a new language. But it's mainly about understanding low level how a computer works, like registers, kernel calls, how function calls are handled, all for beginners. It's really easy to pick up.

Knowing those fundamentals can go a long way in understanding other computing concepts.

Others that come to mind are :

  • Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
  • A Philosophy of Software Design
  • Software Architecture: The Hard Parts"