Hacker News new | past | comments | ask | show | jobs | submit login

The difference is in the level-of-detail.

Humans can't create logically-consistent models in-depth, no matter what the domain. Programmers, at least old-school domain-model-driven programmers, live in a world of constantly reminding people of this.

Put differently, "logically-impossible" is a relative term. It's relative to human intelligence, not domain area.

This is much akin to chess, where really smart people may be able to track a dozen or so symbols in a mostly-consistent way while others may just track a few. But nobody tracks 50, at least without some sort of logically-consistent computational domain model.




So the key difference is that in law, the state enforces an outcome whether it's logically consistent or not, in medicine death enforces an outcome in all cases, but in computer programming if something is illogical you have to deal with it on its own terms (either fix the world and start collecting vehicle mileage monthly or give up on the report)?


Yes.

Another way of stating that is that all professions (aside from math-based ones) are inconsistent at some level of detail and have various workarounds for that.

Even accountants are paid to give "accounting opinions" about the various legalities and appropriate nature of the books. Looking across a bunch of domains, once you get people involved, around the edges of the problem domain accumulates a lot of fluff that for throughout history didn't matter. It still might not matter. Or maybe it does. We're the first to spot it.


From what I can see, I agree with your point here.

I've had a parallel thought for a few years now. Historically, if you wanted something done and you weren't going to do it yourself, you needed to find someone else to do it for you. Imprinting the exact specification of what you wanted them to do is impossible, so you give them some highlights, explain some edge cases, and make sure they understand the high level and off they go to do ... something. They'll figure it out I'm sure.

For simple work, anyone would do. For complex work, it pays to have hard nosed managers with good memories who aren't afraid to yell at people 'slacking off'. And for the truly difficult work you need aged experts who trained under the best for decades and have practiced for decades more (and who have their own students following them wherever they went).

So we have all sorts of skills and traditions for explaining to people what we want to happen.

Explaining to a box of sand and copper on the other hand .... exposes some logical flaws that simply did not exist before.


The company going bankrupt could be the equivalent to death in medicine.

I think you hit a good analogy with medicine, since death is not the only bad scenario. Following this analogy, technical debt could be akin to having to medicate for life.


> Humans can't create logically-consistent models in-depth, no matter what the domain.

One of those inconvenient truths. I've found in my practice that computers, to a degree, can be a crutch that helps with that. Once your model becomes inconsistent, your program will stop working properly, whether you noticed the inconsistency yourself or not.


> Humans can't create logically-consistent models in-depth

Please clarify what you mean by a "logically-consistent model", and please explain what you consider constitutes an "in-depth" model. Can you give some concrete examples of this?




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: