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…

6 points
*

The Wizard Book is a classic that basically “builds” programming as a concept.

(it is very technical though. So not sure it’s something you’re looking for)

permalink
report
reply
3 points

In a similar vein of perhaps too technical but ultimately very informative, there’s The Secret Life of Programs. The author introduces you to how a bit works, and then walks through how to build a computer and web browser and such from it.

I had more of a boot camp education for computers, I find this stuff fascinating even if I don’t really ‘get’ it

permalink
report
parent
reply
5 points
permalink
report
reply
5 points

A declaration of independence of cyberspace by John Perry Barlowe

Not really related to political philosophy but Uncle Bob’s book on the philosophy of a good programmer also comes to mind: Clean Coder

permalink
report
reply
3 points
*
1 point

Excellent book. Got me to rethink a lot of my approach to software and systemy design.

permalink
report
parent
reply
1 point

Here is an alternative Piped link(s): https://piped.video/watch?v=bmSAYlu0NcY

Piped is a privacy-respecting open-source alternative frontend to YouTube.

I’m open-source, check me out at GitHub.

permalink
report
parent
reply
2 points

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 😆

permalink
report
reply

Programming

!programming@beehaw.org

Create post

All things programming and coding related. Subcommunity of Technology.


This community’s icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

Community stats

  • 73

    Monthly active users

  • 320

    Posts

  • 3.3K

    Comments