3 ms·
Oh I love this: "I use programs as a way of remembering stuff. My memory is the programs I write. If I learn something math or physics or some other maybe biolo
by danybittel 2y ago
Oh I love this:
"I use programs as a way of remembering stuff. My memory is the programs I write. If I learn something math or physics or some other maybe biology and I write a program that represent that so I can read the program later it's not ambiguous, easy to read and that way I sort of store my knowledge."
- dgb23 2y agoThen you will likely enjoy this talk as well: "Programming for the Expression of Ideas" https://www.infoq.com/presentations/Expression-of-Ideas/ https://www.infoq.com/presentations/Expression-of-Ideas/ Very adjacent to the quote above. He talks about how programming helps to understand things (mathematics, physics...) in a deeper way.
- BoiledCabbage 2y agoGreat link - that's really nice. This bit on mathematical notation and the clarity provided by programming is awesome to see: "Newtons equation is really a macro, with untyped and undeclared parameters"
- dazzawazza 2y agoWhen I was a child I often explored problems using BASIC. It was a really powerful way for me to creatively learn. I tend to think in pictures and find maths hard to truly understand. Coding allows me to create pictures and relationships in my head. I was lucky to find this out when I was young. I'd be lost without it.
- lynx23 2y agoI use programming exactly for that, to get rid of ambiguity in notes and make them execut/verifyable. Actually, that was my biggest issue with math: I dont trust myself to make no errors and neither can I trust myself to see them. A compiler/interpreter will make me notice.
- kaycebasques 2y agoReminds me of my favorite quote from Living Documentation by Cyrille Martraire: > Software development is all about knowledge and decision-making based on that knowledge, which in turn creates additional knowledge. The given problem, the decision that was made, the reason it was made that way, the facts that led to that decision, and the considered alternatives are all knowledge... each instruction typed in a programming language is a decision... Software design can last a long time. It can last long enough to forget about previous decisions made, as well as their contexts. It can last long enough for people to leave, taking with them their knowledge, and for new people to join, lacking knowledge. Knowledge is central to a design activity like software development. Most of the time this design activity is, for many good reasons, a team effort involving more than one person. Working together means making decisions together or making decisions based on someone else's knowledge. Something unique with software development is that the design involves not only people but also machines... Using a formal language like a programming language, we pass knowledge and decisions to a computer in a form it can understand. Having a computer understand source code is not the hard part... The hardest part is for other people to understand what has been done so that they can then do better and faster work. The greater the ambition, the more documentation becomes necessary to enable a cumulative process of knowledge management that scales beyond what fits in our heads. When our brains and memories are not enough, we need assistance from technologies such as writing, printing, and software to help remember and organize larger sets of knowledge.
- msiyer 2y agoLearning biology to understand software-system concepts is underrated. For example: - the way pain-killers work tells you a lot about how keyloggers or man-in-the-middle attacks work - look at how DNA "syntax checking" happens during mitosis to learn about compiling in general - a puppy swallows whatever it sees; this gives the immune system enough test data about the surroundings etc. (similar to ML) - a huge amount of cyber-security concepts can be understood by learning biology