4 ms·
the podcast "future of code" recently did an episode discussing the paper "programming as theory building." maybe it's just because i listened to that podcast
by pasquinelli 4y ago
the podcast "future of code" recently did an episode discussing the paper "programming as theory building."
maybe it's just because i listened to that podcast last week, but it sounds like you don't have the theory of the api you're porting. by theory i mean an intuition of what the software is, what motivates its existence, what it ought to do. to define the term "theory" by an example from the paper (or possibly from "the concept of mind" by gilbert ryle, referenced by "programming as theory building"): you don't have newton's theory when you can answer a question that he answered the way he answered it, you have newton's theory when your answer to a question he wasn't ever asked is how he would've answered.
so this notion of theory means, first, you can never record a theory. you can't write it all down. to have the theory means you can apply it to any new circumstance that arises, so you can't just write it all down, because you'd be writing forever. a theory is knowing how to respond. the impliction for software is that the code and documentation can't communicate the theory of the software. a theory can't be communicated at all, it has to be acquired.
so how does one acquire a theory? how'd you learn to read? how'd you learn to write? how'd you learn arithmetic? theory transmission is a social function. people with the theory show you, teach you, guide you in forming the theory for yourself.
the conclusion is that software firms should put a lot of effort into retaining people who have the theory of their software, and put a lot of effort into transmitting that theory to new people. that's not the world we live in, is it?
actually, i think that conclusion applies to any business, yet onboarding is terrible everywhere, and workers are treated as interchangeable.
what i'd be asking myself if i were you is who has the theory of this api you're porting, and how much of their time can i get?