As a programming student i feel sometimes we go a bit too technical and we lose the philosophy and the main point of what we are doing.
What are some great books (classics and none) to read on programming?
I’m interested to the topic of programming and computer science in general but especially to the cypherpunk philosophy and to concepts like the story of internet, the philosophy that led to the beginning of it etc…
Not a direct answer to your question but here’s what I’ve learned and am learning:
It all boils down to “finding the right balance between the costs of implementation, the value the implementation offers given the circumstances and constraint.” Essentially, the foundational guideline of engineering across all engineering principles.
Usually every decision brings about about a series of advantages/improvement but it’s important to remember that “one must lose in order to gain.”[1] That is, every improvement (value) comes at a price (cost). Unlike other principles of engineering (which are closer to bare maths), software engineering more closely resembles something intuition-based like art. That is what makes it difficult to see the values and costs and measure them. It takes lots of practice and introspective and extrospective (!) effort; doing things and potentially making mistakes and learning from them is as important as observing others do things and make mistakes.
In other words, it boils down to honing your intuition to “do the right thing, at the right time, the right way.”
PS: Please note that I used the word “right” and not “correct.”
[1] Dialectically speaking, every material good contains w/i itself its own seeds of destruction 😆