this post was submitted on 30 Dec 2024
732 points (96.9% liked)
Curated Tumblr
4070 readers
12 users here now
For preserving the least toxic and most culturally relevant Tumblr heritage posts.
Image descriptions and plain text captions of written content are expected of all screenshots. Here are some image text extractors (I looked these up quick and will gladly take FOSS recommendations):
-web
-iOS
Please begin copied raw text posts (lacking a screenshot that makes it apparent it is from Tumblr) with:
# This has been reposted here to Lemmy as part of the "Curated Tumblr Project."
I made the icon using multiple creative commons svg resources, the banner is this.
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
More nerds need to get into philosophy. Specifically CS nerds. I think there’s a tendency, when you get into programming, to start seeing the world in terms of discrete, quantifiable units and categorical rules. It’s a helpful counterbalance to also study something that uses logic to deconstruct that kind of objective physicalist assumption.
Counterpoint, we get enough of that shit from people writing our design specs, and then give feedback like "it needs to pop more" or "this is good, but we need it to feel more modern".
So, discrete, quantifiable things make for an easier deliverable, thanks.
There’s a quote that I’m having trouble sourcing, but it’s basically:
Code is for humans to read, and only incidentally for computers to execute.
I think a lot of things are like that, especially when it comes to defining and organizing work. It’s less about making the perfect requirements document and more about getting everyone to think about a shared goal in a similar way.
Specifics are great because they make for solid landmarks. But abstract language is essential too, because it clues you into how you ought to navigate the terrain in between those landmarks.
And there is always space in between the specifics. If you managed to nail down every last detail in your spec, congratulations on your new hand-compiled programming language.
I just saw it quoted the other day here https://youtu.be/MWsk1h8pv2Q?t=248 but it's unattributed so I did a search: Abelson & Sussman, "Structure and Interpretation of Computer Programs" https://en.wikiquote.org/wiki/Programming_languages
This is why I like strongly opinionated frameworks! People get hung up on whether they agree with the opinions themselves, which is valid, but I think kinda misses the point. The great strength of opinionated frameworks is the speed with which you can get "everyone to think about a shared goal in a similar way", to use your phrasing. They do have their problems of course and if you ask me in 5 years, maybe I feel the opposite way about it.
I also tend to like opinionated frameworks. On top of easing the onboarding process, they can also afford to have more detailed docs/support/stability because they don’t have to account for there being a million ways to do even a basic thing.
I’m sympathetic, in theory, to the downsides noted by Rich Hickey in Simple Made Easy and Uncle Bob in Architecture The Lost Years… but IRL, I can’t say I’ve ever seen a project successfully lean into those principles at any significant scale. So maybe more of an academic appreciation there.
That's why I'm so happy that we have a UI/UX team, they can deal with the design nonsense while I'm left to logic.
they would also get that if they learned more math. eventually they tell you that a lot of concrete rules are more like conventions and assumptions that we have collectively decided are “reasonable”. don’t get me wrong, those conventions are still extremely useful. calculus, for example, has made a lot of problems way easier to solve. but it’s not like moses came down from the mountain with the fundamental theorem of calculus etched in stone. you still need to assume things in order to be able to do calculus, and the ways in which calculus is taught and understood has changed a decent amount over the years (infinitesimals to limits, riemann sums to measures, the introduction of differential forms, etc)
For real. A few times, I’ve been like “What makes you think matter is more fundamentally real than consciousness?” and received an argument that you can measure matter and make mathematical proofs about it.
And I’m just… dumbfounded by the lack of awareness that they’re essentially using a mere mention of math itself to dismiss the significance of axioms.
my experience studying math has been that if someone uses the word “mathematical” when they’re trying to argue something, then there is a decent chance they don’t really know what they’re talking about. if they did, they would probably use a more specific term or cite a theorem or proof. math is not a monolith.
your anecdote is a pretty spectacular example of that. how nice it would be if we could “mathematically prove” that ZFC is objectively true. and also how nice it would be if we could “mathematically define” what it even means for something to be “true” or “objectively true”.
Side note, in my experience people often misuse the word "math" to mean "arithmetic, as in "I did the math" or "Your math is wrong" when they're just adding up some numbers lol.
yeah that one can be pretty rough too. i think i’ve become a bit desensitized to it over the years, and paul lockhart’s lament has helped me cope a bit, but the pain is still there.
https://en.wikipedia.org/wiki/G%C3%B6del%27s_incompleteness_theorems
the incompleteness theorems are a part of this broader point as well, since they basically say we can’t choose a perfect system that has everything we want. but still, the incompleteness theorems themselves require making assumptions. you still need to assume some axioms for them to apply, in addition to picking a set of logical rules to follow. and those logical rules aren’t set in stone either. some mathematicians don’t subscribe to the law or the excluded middle, and it makes for some interesting mathematics. for example, it lets you define an infinitesimal as something that’s basically “not not zero”, while still being different from zero.
I believe individuals choose the worldview that comforts/benefits one the most, and that is why programmers often think in discrete units. It helps them identify issues and handle them well. Is there a reason to introduce discomfort, when the worldview works quite well?
Also so much of how we talk about CS/software dev is cribbed directly from, not just real engineering, but also philosophy. Abstraction, concretisation, instantiation, etc.
Yep, and that goes for really nebulous things like relationships and mental health too, not just the physical world.
This sentence hit me:
I wonder how many past situations I could remember where I had anxiety and panic over not knowing the rules to follow in a situation. But that’s like asking the wrong question if the reality is that there are no rules, and you need more of a guiding philosophy or purpose than a rule book. For me, I think you do what you can to make the unique experience of life things better for yourself and others. We nerds do have a tendency to focus on “number go up” which has its benefits, but has to be in moderation as with everything else.
I got into building agents for an overpowered discord bot. I leard a lot about my own through process because the research papers were too hinged to be fun.
I mean this just means that it is not the objects that have those traits, it is the relation between the object and the human sensory organs that do. This is not really anti rules, just anti overly primitive rules.