> What code is truly about is precision: code is unambiguous, even when it’s abstract. It’s easy to conflate ambiguity and abstraction—both refer to “a single statement that could have to multiple meanings.” But the meanings of an ambiguous statement are entirely unconstrained. I used to believe this, but after working at a successful SaaS I have come to believe that correctness and unambiguity are not entirely neces…
Right. One thing I learned over the years is that you can support arbitrarily high level of tech debt and still be able to effectively maintain and enrich a successful software system, as long as you throw enough warm bodies at it . The overhead will get absurd, you'll end up with 10x or more increase in engineers working on the system, all of them making slow progress while spending 90% time debugging, researching,…
Composition shouldn't be this hard
61–70 of 78 posts
Re: Composition shouldn't be this hard
#62> What code is truly about is precision: code is unambiguous, even when it’s abstract. It’s easy to conflate ambiguity and abstraction—both refer to “a single statement that could have to multiple meanings.” But the meanings of an ambiguous statement are entirely unconstrained. I used to believe this, but after working at a successful SaaS I have come to believe that correctness and unambiguity are not entirely neces…
Example: Gambling is wrong but you can win big money.
Re: Composition shouldn't be this hard
#63> What code is truly about is precision: code is unambiguous, even when it’s abstract. It’s easy to conflate ambiguity and abstraction—both refer to “a single statement that could have to multiple meanings.” But the meanings of an ambiguous statement are entirely unconstrained. I used to believe this, but after working at a successful SaaS I have come to believe that correctness and unambiguity are not entirely neces…
Re: Composition shouldn't be this hard
#64Maybe this unfairly off topic, but in reading the intro, my thought was not that things become brittle and hard to change because of the inelegance of the abstractions, but because of the banal dynamics of work. Mostly, people act quickly towards short term goals, without full understanding. They accept technical debt, they pass things between people, and the numbers to avoid making things kinda gross just never work…
Re: Composition shouldn't be this hard
#65Not sure if tools and technologies can solve accidental complexity. In my opinion, a system that has been stable for years isn't 'mature' in a good sense. An exceptional system is one that can still change after many years in production. I believe this is almost impossible to achieve for enterprise software, because nobody has incentive to make the (huge) investment into longterm maintainability and changeability. Fo…
You can't say... > Not sure if tools and technologies can solve accidental complexity. ... and then say > For me, consistent systematic naming and prefixes/suffixes to make names unique are a hint that a person is thinking about this or has experience with maintaining old systems. This has a huge effect on how well you can search, analyze, find usages, understand, replace, change. I have battle scars from refactoring…
Re: Composition shouldn't be this hard
#66Earlier quoted context omitted.
You can't say... > Not sure if tools and technologies can solve accidental complexity. ... and then say > For me, consistent systematic naming and prefixes/suffixes to make names unique are a hint that a person is thinking about this or has experience with maintaining old systems. This has a huge effect on how well you can search, analyze, find usages, understand, replace, change. I have battle scars from refactoring…
I guess I wanted to say that no tool/technology can prevent people from creating chaos (or make up for bad/non-existant processes). People need to do that. Of course, systematic people use tools as well. But you can't expect to buy or mandate a tool/technology and expect your system to then automatically have these qualities.
Re: Composition shouldn't be this hard
#67Re: Composition shouldn't be this hard
#68> What code is truly about is precision: code is unambiguous, even when it’s abstract. It’s easy to conflate ambiguity and abstraction—both refer to “a single statement that could have to multiple meanings.” But the meanings of an ambiguous statement are entirely unconstrained. I used to believe this, but after working at a successful SaaS I have come to believe that correctness and unambiguity are not entirely neces…
Right. One thing I learned over the years is that you can support arbitrarily high level of tech debt and still be able to effectively maintain and enrich a successful software system, as long as you throw enough warm bodies at it . The overhead will get absurd, you'll end up with 10x or more increase in engineers working on the system, all of them making slow progress while spending 90% time debugging, researching,…
Why do people on here do this? Just keep it simple. lmao.
"the economic math actually adds up"
just lol.
Re: Composition shouldn't be this hard
#69Earlier quoted context omitted.
Right. One thing I learned over the years is that you can support arbitrarily high level of tech debt and still be able to effectively maintain and enrich a successful software system, as long as you throw enough warm bodies at it . The overhead will get absurd, you'll end up with 10x or more increase in engineers working on the system, all of them making slow progress while spending 90% time debugging, researching,…
The classical case of this are banks that tend to keep ancient systems alive for a very, very long time.
Re: Composition shouldn't be this hard
#70[side-eye-sock-puppet-monkey.gif]