8 ms·
A software epiphany
- renox 3y agoReplace theory with abstraction/mental model/concept and then the blog becomes quite obvious. Yes, grokking code is hard, especially low level code where the WHAT to do is intertwined with the HOW.
- mattnewton 3y agowhat in the world is going on at the bottom of the site, it’s crazy distracting.
- gnatolf 3y agoWhat an incredibly annoying popup. Sorry, can't read that.
- dinkleberg 3y agoUsually I don’t mind some whimsical features on a personal site, but this one is obnoxious and completely kills my desire to actually read the post (the subject of which had me intrigued).
- lacrimacida 3y agoYes. I switched to reader mode but wish that agressive popup wouldn’t be there as it served no purpose
- painted-now 3y agoI'm guessing that it is just showing other people browsing the same site - which might be fun if it happens once in a while. But having this on the HN frontpage, there are tons of visitors right now and this is indeed annoying.
- instagib 3y agoFirefox focus made it not so bad. One tab only.
- josephg 3y agoIt’s like the page design thinks the author’s content is less important than information about random visitors browsing the page. If your web design doesn’t consider the article to be worth reading, I’m not going to read it. I feel the same about a lot of news sites that overlay the content with pop ups and ads and whatever. If the article isn’t even important to you, what am I doing here? I want my money back.
- chihuahua 3y agoWith ads and popups that want my email address, I can at least understand why someone would do it. There is a benefit to the site owner. With this nonsense "someone in Timbuktu just connected" nobody benefits. It's just 100% annoying and dumb.
- ojbyrne 3y agoI suspect this blog does not usually get much traffic.
- MattPalmer1086 3y agoI had to check out the site to see why everyone was complaining. I was thinking it can't be that bad. It is that bad. I did not read the page.
- extrememacaroni 3y agoSuddenly, you understand websites.
- mark_and_sweep 3y agoFirefox reader view helps with that.
- _0ffh 3y agoHolding out for "Suddenly I Understand UX" =)
- LoganDark 3y ago##section[aria-label="Notifications alt+T"]
- deleted 3y ago[deleted]
- humbleharbinger 3y agoWhat the heck are all the notifications on this site?
- snvzz 3y agoI gave up reading the article, due to how distracting that is.
- deleted 3y ago[deleted]
- Michelangelo11 3y agoWell, this is a rare case of a professional-looking site rendered completely useless thanks to a single design decision made for no apparent reason at all.
- deleted 3y ago[deleted]
- shmde 3y agoEpilepsy warning.
- deleted 3y ago[deleted]
- codetrotter 3y agoFor everyone talking about the notifications at the bottom: After the page has loaded, use “reader mode” in your browser. Most browsers have this. That shows you only the text of the post, and not the notifications on the bottom. Or, read a copy of it here: https://web.archive.org/web/20231118211242/https://johnwhiles.com/posts/programming-as-theory https://web.archive.org/web/20231118211242/https://johnwhile...
- irrational 3y agoI left and came here to see if I was the only one that couldn’t read it because the constant movement was too distracting. I’m not going back just to do work arounds for a problem that shouldn’t exist in the first place.
- clysm 3y agoPeople are refusing to read out of principle. We shouldn't have to work around a bad and annoying "feature" of a site.
- newaccount74 3y agoI agree with you in general, but in this case it's worthwhile to work around the annoyance because the article makes a good point.
- josephg 3y agoToo bad. If you want to communicate that point to me, turn off epilepsy mode on your site. Perhaps my life will be worse for never knowing the point the author is making. Fine. My life is also, definitely better for not tolerating this kind of cancer.js. There are a lot of good articles out there I can read instead of this one that don’t try to punch me in the eyeballs.
- Solvency 3y agoOr don't read it, because why would I value the opinion of anyone who would implement such a feature?
- _jsdw 3y agoTop tip; I used my thumb to cover up the bottom part of my phone, which allowed me to read it! I expect that 99% of the time it's a perfectly fun little pop up, but right now with the post on HN it is amazingly annoying
- deleted 3y ago[deleted]
- Gare 3y agoBrowser "reader mode" is your friend
- josephg 3y agoI did that for about 4 seconds. Then reconsidered, and decided such a user hostile website wasn’t worth my time or attention and I left. It’s not my job to make the website usable.
- redhale 3y agoSeems like a self-limiting attitude. It's a good article, and there are several easy ways to get around the UI issue.
- calamari4065 3y agoI don't think it's reasonable to expect everyone to manually tweak every website you come across before it's usable.
- redhale 3y agoAs is your right. Most of us power through small inconveniences as a normal part of life, calculating that it is not worth missing out on potentially valuable information/experiences/people/work/etc simply on the principle of not being mildly inconvenienced. And this is a VERY mild inconvenience.
- 3y ago
- gardenhedge 3y agoOP, I bet that popup is turning away traffic
- deleted 3y ago[deleted]
- ok_dad 3y agoLook the popup is bad, but consider he probably usually gets way less visitors, so in testing it’s probably not that bad for him. Maybe a few per article usually, but with hacker news it blows up. Let’s not roast the guy too much, we’re all human and like cool stuff. This would be cool with a little more work, I think. Also, the article is great. It puts together a definition for the theory of what software is in a succinct way. Software is code, but any specific software is an artifact of the theories in the developers brains. Makes a lot of sense to me.
- deleted 3y ago[deleted]
- deleted 3y ago[deleted]
- josephg 3y agoDisagree. Writing a blog post is like getting on stage. You need to come on stage with a dream that you’re going to dazzle the audience with your show. Your blog is so interesting that it’s worth the time to read it! If you doubt yourself so much that you think some gimmicky notifications are more interesting than the article, you’ve lost me as an audience. Why even have the content if you believe someone from Texas being on the page too is more interesting than what you wrote? If you think that, just make that. Don’t invite me to a show then halfway through interrupt your own show with something else. The idea alone gives me adhd. Stop it.
- deleted 3y ago[deleted]
- redhale 3y ago> You need to come on stage with a dream that you’re going to dazzle the audience with your show. ... If you doubt yourself so much that you think some gimmicky notifications are more interesting than the article, you’ve lost me as an audience. I'm sorry, I just have to laugh at the self-seriousness of this and the other negative takes in this thread. It's a quirky little "fun" feature that shows the location of other people viewing the site, implemented on a personal blog. If you have a blog that gets a few dozen views a day, it could be neat. If you get the HN hug of death, it's extremely annoying. The author made a mistake, but it's a minor one, and I think it hardly betrays the self doubt you seem to be reading into it. It's not like it's an auto-playing video ad. It's a good article. I suggest powering through to use the reading mode of your browser.
- codingdave 3y agoI got here, read the comment threads and thought, "Why is everyone going against HN guidelines to toss out low effort comments about the site design? How bad can it be?" Then I went to the page. So distracting. I just closed it and agree with everyone else. I'd recommend the author get rid of that.
- deleted 3y ago[deleted]
- dkjaudyeqooe 3y agoIf he replaced the word "theory" with "model" it would be much easier to understand the point. (I think I'm the only on-topic comment so far.)
- deleted 3y ago[deleted]
- ok_dad 3y agoI think the theory encompasses the software itself as an artifact and also the details not included in the software like the problem domain’s details which constrain the software but might not need to be included in the software explicitly. The model of the software might only encompass the specific ways in which the software is written explicitly, in order to understand how it operates in a near vacuum.
- jstanley 3y agoIt's not quite the same. A model is something that you ought to be able to communicate. Theory is something internal, that you can't fully introspect, but you have and you use.
- cammil 3y agoMy definition of model would include the one in your mind, whether or not it may be communicated.
- layer8 3y agoYou need a theory in order to reason about a model. The reasoning ability is the important part.
- alexdowad 3y agoThat is doubtless true for the type of people who frequent Hacker News (mostly computer programmers). But in some other communities, the word 'theory' is commonly used in the same manner as Gilbert Ryle uses it. The author of this article is apparently unaware of that fact.
- twic 3y agoGood outline of the idea of theory building. I especially appreciated that the author has added a feature to scare off simpletons.
- deleted 3y ago[deleted]
- redundantly 3y agoYou might understand software, but you clearly don't understand web design.
- deleted 3y ago[deleted]
- deely3 3y ago> The paper also talks about what happens when all the people who have a theory of a given program stop working on it. It dies. Yikes. It’s claimed that we can’t rebuild a theory from code and documentation. In the text above word "theory" are used instead of "understanding". Not sure why. Anyway, what exactly the hell Im doing in the last 10 years supporting legacy system mostly without documentation...
- throwaway14356 3y agoI think he perhaps means the difference between your 10 years of building an understanding vs writing the entire thing yourself?
- deleted 3y ago[deleted]
- Supermancho 3y ago> when all the people who have a theory of a given program stop working on it. It dies. This is only true of software of a particular level of complexity. For the most part, it simply isn't true. Humans made it (who also would routinely forget details about their own project) and humans can understanding it enough to build a working theory. If you can perform tests for something, you can deduce what it's doing, although the business case of why or specific experience with other approaches resulting in failures is often not recoverable by deduction.
- deely3 3y agoAs I understand you mean that author used word "theory" instead of "intention"? Why, why they used word "theory" in the first place?
- layer8 3y agoThe word "theory" is used because an essential aspect of this particular kind of understanding is that it lets you reason about the domain and the code's behavior. It's an apt term in that context.
- 3y ago
- pixelbath 3y agoHoly crap, I tried to read this article but could not get over the constant motion in the corner. Can you please add a way to suppress this?
- deleted 3y ago[deleted]
- hmottestad 3y agoMade with PartyKit if anyone wants to make their own :P https://www.partykit.io https://www.partykit.io
- deleted 3y ago[deleted]
- LoganDark 3y ago> The closest we can get to transferring a theory is to demonstrate the expression of the Theory to someone over and over again until they build their own theory. That theory won't be the same as ours. This already has a term: "derived meaning". Derived meaning is what's actually created and stored in your head, and represents your particular brain's understanding of... something. It could be a thought, it could be a procedure, it could be a memory, it could be an emotion. But it can't be transferred to other brains; you can only hope that, by communication, you can reach some form of mutual understanding that at least fits the communication.
- deleted 3y ago[deleted]
- deleted 3y ago[deleted]
- doctorM 3y agoFor reference I think this probably partly explains my reluctance to use A.I. to help me code. If I ask e.g. ChatGPT to just code something for me then the code it outputs is a black box, and there is no 'theory usage' in the parlance of the article. [Or I guess I'd have to recover the theory from the code it writes]. I've accepted by now that I'm putting myself at a disadvantage by not using A.I. at work however. Maybe another way to think about it would be that A.I. allows us to use our higher level theoretical understanding when we interact with codebase.
- ckdarby 3y agoChatGPT provides a lot of the model through prompting to provide information of the "black box"
- nuancebydefault 3y agoWhat seems to work quite well is, you ask the AI to build something that fulfills your requirements. Then you ask questions about the implementation until you understand it in detail. Meanwhile you ask it to improve portions of the code based on your insights and your results after trying it out. So the black box morphs into a mental model that the machine has helped you to attain.
- hyperthesis 3y agoCopyright law protects computer programs as the expression of an idea. One idea has many expressions. If you want to modify or extend it, you need to know the idea. [webpage text follows] Even though I don't respect podcasts as an information delivery system, I recently listened to a podcast that felt like having an epiphany. The podcast in question was episode 61 of Future of Coding. It is essentially a read-through/review of two papers with which I was unfamiliar, but which I believe are actually quite famous and influential. Why did listening to this feel like an epiphany? Well, I suddenly felt like I understood what the deal is with software. Why is it that when you join a company, the engineer who's been there for years seems like an incredible genius? Why do some teams that I've been on struggle while others manage to get everything right? Why is everyone always so keen to rewrite things? The two ideas that the podcast expresses are: The concept of what a “Theory” is, according to Gilbert Ryle. That being a programmer is doing “Building theories” in the Ryle sense of the word. Having these two ideas explained together was really helpful. If I had read Ryle by himself, I would have thought, “interesting and useless”. If I had read Programming as Theory Building without knowing the theory concept, I would just not have understood. I recommend listening to the podcast and reading the paper. But if you don't want to do that, I'm going to try and explain the two points. strange What is a Theory, According to Gilbert Ryle? When Ryle says theory, he doesn't mean anything like what other people mean when they say theory. Annoying. He should have just come up with a new word. What he means is the thought object that exists in our minds which allows us to do things. I, for example, know how to cook pasta. When I cook pasta, that's a certain expression of this knowledge. When I try and explain to you how to cook pasta, that's a different expression of it. Neither of those expressions contains everything I know about cooking pasta. And in fact, there are parts of what I know that I can't really express in any way. This knowledge is what Ryle would call a theory. I have a “Theory of how to cook pasta”. This theory is not something that exists in language or action - it’s a something that we can never fully express. The closest we can get to transferring a theory is to demonstrate the expression of the Theory to someone over and over again until they build their own theory. That theory won't be the same as ours. What Does it Mean that Programming is Theory Building? It means that the code base we create is not the true product of our work. The real product is the mental theory of that code base which: Allowed us to create it in the first place. Allows us to diagnose problems with it and fix them. Allows us to modify it easily. If I think about times when I've worked on a team that works well and gets stuff done, it's been a team where: Someone has been there for a long time, since the start of whatever code base/feature we work on. Other team members have joined slowly, and had a chance to work with the people who know more. The area of focus does not change. We haven't been reassigned to a random existing project, or asked to fix some other team’s work. The paper also talks about what happens when all the people who have a theory of a given program stop working on it. It dies. Yikes. It’s claimed that we can’t rebuild a theory from code and documentation. This model explains a few curious phenomena: What “legacy code” actually is - it’s a code base which is no longer maintained by people who have a theory of it. The solo engineer who can make a better product than a team of equally competent professionals. The solo engineer has spent the time to build a complete theory of their program, the professionals move between projects regularly - and only have theories of what they've worked on. Why getting up to speed with unfamiliar projects is so much harder than just rebuilding the thing. To truly build a theory, you need to mentally rebuild the existing code base anyway.
- dasil003 3y agoTitle is a bit overblown for the actual epiphany which is more about the necessity of programmers having a robust mental model of a system to be able to maintain, let alone improve the system. I don't see anything particularly unique to software in this thesis, as complex physical systems also have the same characteristic. I also think this is way off base: > It means that the code base we create is not the true product of our work. The real product is the mental theory of that code base which This is manifestly not the case. The value of computers is that you can write code once, and the computer can execute it repeatedly ad infinitum. As a programmer, your mental theory of the code base has value to its owners, but it's not the product. The code base is also not the product. The product is whatever output is created and consumed by the relevant stakeholders.
- nurple 3y agoBut you might argue the fact that most software is always adding features and changes is because it really is never a perfect representation of some target theory. In that case, the theory inside the heads of each person behind the software may even be incomplete compared to some perfect representation, and the work done by a company in the user/feature iteration cycle is the process of reconciling the drift between each of them towards some shared theory. I don't think it's uncommon for parts of the theory already enshrined in implementation to be forgotten to time as it passes, if it's not regularly revisited and cogitated on.
- dasil003 3y agoThat's an interesting point. My thought is that the theories of the software go well beyond programmers to everyone who interacts with the business process in question. Everyones theories are incomplete and aspirational though, sort of like a dream, while the code executing is the cold hard reality. Programmers have the closest theory to reality, sort of like a lucid dreamer, but even those with the deepest expertise are still subject to the deterministic outputs of code execution in production.
- TheOtherHobbes 3y ago
- gregfjohnson 3y agoThe “software as theory” idea is helpful - thanks OP. Right now I’m dealing with some devilishly difficult GPU code, and I now understand that I’ve been working to reverse engineer the authors’ theory from their code. With much effort, I achieved a gratifying epiphany, and the code suddenly became clear! (Perhaps I developed a theory related to but not identical to that of the original authors.) Fortunately, I have an enlightened manager, and he was patient with the “theory building” process. Software degrades to garbage when a series of successive developers apply changes to it without a cogent theory. The process is self-reinforcing; the more degraded it becomes, the harder it is to develop a useful and accurate theory.
- jwhiles 3y ago“ The process is self-reinforcing; the more degraded it becomes, the harder it is to develop a useful and accurate theory.” This is a really good point I think. It feels like the Sprint / Agile practices that a lot of us use lead us to value expediency more than anything. So we'll try and find the quickest way to make a change that gets an existing program to do what we want. If we lack a working theory of the codebase that usually means we're doing something that runs counter to the overall design. And then over time everything gets worse and harder.
- FrankWilhoit 3y agoIf it becomes, or is deemed, necessary to have, or recover, a theory of an implementation of an automation, then you have already lost. What is necessary is the theory of the business. If you do not have that -- and practically no one has that -- then your automations are towers of guesswork, and there is no way to determine whether they are correct.
- nurple 3y agoNuked the notification stream with UBlock: `##section > ol` It's an interesting observation on the reason behind something that's understood fairly well in management circles from its impact: Retention of software engineers is really important!!! I never really had a conceptual model for the period in a project where I can't really effectively write code outside of exploratory exercises. Building a theory of the solution to a problem is absolutely the most difficult part of any project that I've worked on. In brownfield projects I will usually start out with a manual linting pass. I read code deeply enough to understand it to a point where I feel like I can make delinting changes to it. This helps me build up a theory of the solution space that those who came before me, the act of delinting, commiting, and pushing stands as something of a mental proxy for having written the code myself. Greenfield projects are much more difficult as you have to synthesize this theory from whole cloth rather than learn it by reading the musings of coders that came before. IMO, this is incredibly valuable as very few devs I've met have the capacity, even if they have the experience. In many ways I think that past successes in founding companies is used as a proxy signal for this skill by investors when making a bet on a venture by tenured tech founders.
- notpachet 3y agoJust for the sake of clarity, what do you mean by linting/delinting here?
- deleted 3y ago[deleted]
- rramadass 3y ago> Greenfield projects are much more difficult as you have to synthesize this theory from whole cloth This is the reason why Domain knowledge (or access to a Domain expert) is so very important for Programmers. Without that knowledge you cannot build a "theory" and then map it to a "solution domain model".
- deleted 3y ago[deleted]
- gavinhoward 3y agoI appreciate the author explaining this. I have had a Theory of what software is myself, mostly based on "Programming as Theory Building," but it is good to see it put into words. I struggle to build "theory of mind," which means I can't read code written by other people. This means I can't get or keep a software job, so it sucks. At the same time, it is a superpower in personal projects because I can somehow document my own theory of mind. It's counterintuitive, but my inability to build a theory of mind about other people causes me to assume less about what they know, which translates into good Theory docs. My best example is [1]. [1]: https://git.gavinhoward.com/gavin/bc/src/commit/22253a3a64db1870ef1befac4dc09b52f079cd44/manuals/development.md https://git.gavinhoward.com/gavin/bc/src/commit/22253a3a64db...
- nuancebydefault 3y agoI had a look at [1]. I believe it is interesting but for me, this document is hard to understand. The thing is imo, you have a theory of mind on which you build. This building is done in a very structured way and works well for you. I believe the gist is, you have premises, eg. values of a code base, and build further on that, layer by layer. The OP explains a pain point with sofware engineering, which also applies here: a theory cannot be fully expressed. The code and documentation flows out of the theory, they are artefacts, products of it. Still those are not encompassing the theory in itself, which in fact only exists in the originator's mind. The job of many sw engineers is to get insights into such theories by inspecting the code and documentation, using it and approaching these from different angles. A bit like archeology.
- gavinhoward 3y agoI agree, but sure as McDonald's fries are salty, I want to get better at passing the theory on. When I launch my business, that will be an essential part of my product. So can you give me specific feedback on that document?
- ianwalter 3y agoThis is actually a great article even though the popups are terrible and I found the first sentence very off-putting.
- deleted 3y ago[deleted]
- lincpa 3y ago[dead]
- eternityforest 3y agoTo me, programming is all about designing things in such a way that the "theory" (using this particular meaning of the world) mostly already exists. I see a lot of programmers start with an idea, and then they implement it. I prefer at least a little bit of cargo cult approach. I don't re I start researching what tools are already out there and what others do in similar cases before I have any more than a vague idea of what I want to do.
- User23 3y agoJust a quibble, but that usage of “theory” is entirely correct. Nevertheless the point is taken that often in general usage “theory” means “scientific theory.” Anyhow, with some small consideration it should be clear that the latter is merely a subset.
- nighthawk454 3y agoYou'll get a lot of out systems thinking then! Essentially the formalization of thinking in parts ("theories") and their interactions https://en.wikipedia.org/wiki/Systems_thinking?useskin=vector https://en.wikipedia.org/wiki/Systems_thinking?useskin=vecto...
- xeckr 3y agoI had no idea I could just do useskin=vector to get the old look back. Thanks for that!
- valand 3y agoI found Donella Meadows' book insightful, but I only read it after I understand system thinking so I might be biased. I wonder how insightful vs confusing it is to people from different paradigms
- zubairq 3y agoI agree with the programming as theory building. Not an epiphany for me but it is something I realised for the last 20 years. I am however glad that other people can explain it better than myself. For another good explanation of this read “founders at work” where Steve Wozniak talks about how fast it is to develop when you keep all the code (theory) in your head
- sneakycr0w 3y agoI tried reading this but the pop ups are so annoying that I couldn’t get past the first paragraph.
- rrwright 3y agoCompletely agree. I had to turn on iOS reader mode to tolerate it. But then it was very worthwhile.
- jwhiles 3y agoHello! I wrote this article. I want to say something about the pop-ups, which to have been much more discussed than what I wrote. (UX disaster as engagement bait?) My desire in showing was to make the site feel more “alive” and to make the reader aware that other people had been there. I was trying to build a vibe of website as public space. Clearly this was not an approach that handles hacker news traffic and attitudes very well. Secondly, I wanted to make readers aware of how much data is visible about them just from visiting a website. I wanted it to feel like when you land on a drop shipping site that occasionaly tells you “Alice in Norwich just bought a widget. They're selling fast!”. You slowly realise that the data is real, and that the site actually can see where you live, who provides your internet. Etc. It was meant to be creepy. Anyway, I've removed the feature now. It was clearly causing usability issues for some people, which was not what I intended. I'll think about other, better ways to get the effect that I had hoped for. Finally, I'll say that it was at least interesting for me to see things like “Someone else just connected to Johncom. They're in Kansas City, US, 64121 and are connecting with Spectrum” “Someone else just connected to Johncom. They're in Cape Town, ZA, 8001 and are connecting with airmobile.co.za” I got to learn about some new places, postcode formats, and ISPs.
- spiralganglion 3y agoHello! Jimmy and I recorded the podcast. I'm curious to read more of your thoughts on podcasting as a medium. I bet my goals & tastes in creating podcasts differ wildly from your goals & tastes in listening to them. And if I can be so bold: why give our show the time of day, but not something more tightly produced (which, perhaps, stands a better chance of offering high signal-to-noise)? In any event, Jimmy and I appreciated your post. We're thrilled whenever someone digs in to a paper we've covered and finds it meaningful.
- jwhiles 3y agoHey! I usually find it very hard to remain deeply engaged with a podcast. I'll be focused for a few minutes, then my focus will shift and only later will I realise that I've been passively listening - absorbing it as a form of ambience but not properly engaging with what's being said. I think this is probably true for most listeners, especially because podcasts are often used as a soundtrack for doing some other task. When we are not fully engaged with audio I think just go along with whatever's being said. We ignore logical leaps, and then pick up the thread later. But we do, I think, remain aware of the presenter's affect towards whatever topic is being discussed. So a lot of the time I think when we listen to a podcast all we are really taking away is “what the topic was” and a sense of whether that's a thing we should feel positive or negative about. We don't critically engage with what's being said and whether the conclusions being reached are valid. That's a lot of waffling, but the point that I'm really trying to get to is that podcasts seem to be more a medium for transmitting vibes than for transmitting complex thought. This would be fine if podcasts were all entertainment, but when a lot of them are about world affairs, or psychology, or whatever, then I think it leads to people listening to podcasts believing they are educating themselves but actually just absorbing memes (in the mgs2 sense) from the presenters. So mostly I think that podcasts are just a way for people to start believing things without understanding why they believe them. The more “Produced” a podcast is, the worse this effect probably is. And people listen to them ALL THE TIME. There's probably never been a better medium for spreading disinformation. lol ANYWAY I really liked your podcast, and it does some things that I think alleviate the issues I have. * It's complex enough that if I become disengaged I can't pick up the thread, so I end up just pausing / rewinding. * It's a conversation, and you as hosts don't agree a lot the time. You do some of the work of critical thinking for the listener. * The editing is very funny. I originally gave your podcast the time of day because I was considering going to a future of coding meetup in London, and wanted to know what the vibe would be. The meetup sold out while I was listening :)
- namaria 3y agoI find the relationship between software, code, computers and humans endlessly fascinating. The epistemological discussion here is incredible in both substance and in noticing how fast some people derail it into semantics.
- deleted 3y ago[deleted]
- htk 3y agoVery interesting article, thank you for sharing your epiphany. The only thing missing was an attempt to come up with a better term than "theory" ;).
- onlurking 3y agoThere's this seminal paper by Peter Naur called "Programming as Theory Building" that arrived at the exact same conclusion when it comes to programming: https://gist.github.com/onlurking/fc5c81d18cfce9ff81bc968a7f342fb1 https://gist.github.com/onlurking/fc5c81d18cfce9ff81bc968a7f...
- spiralganglion 3y agoJust in case anyone else misses it — the OP is a blog post about a podcast about this very paper.