[OT] Why software ends up complex

claptrap clap at trap.com
Wed Dec 16 10:59:37 UTC 2020


On Wednesday, 16 December 2020 at 07:51:14 UTC, Kagamin wrote:
> On Monday, 14 December 2020 at 17:58:17 UTC, Robert M. Münch 
> wrote:
>> On 14 Dec 2020 at 16:21:59 CET, "Kagamin" <spam at here.lot> 
>> wrote:
>>
>>> https://alexgaynor.net/2020/nov/30/why-software-ends-up-complex/
>>
>> I don't want to be too picky but there is a very important 
>> difference between complexity and complication.
>>
>> You can't reduce complexity. If you need a switch with two 
>> positions, you have complexity 2, with three positions 3, etc. 
>> You can't get rid of it.
>
> Once complexity is there, nothing can be done with it, so 
> there's no problem to solve. But you can reduce complexity by 
> not having the feature in the first place, that's the difficult 
> part.

I think he's making a distinction between complexity that is 
inherent to the problem and unnecessary complexity due to a poor 
solution.

Unnecessary complexity is mostly down to lack of orthoginality I 
think. If you have a bunch of small independent parts its' much 
easier to reason about how the code you're looking at will 
behave. But if the parts change how they behave based on the 
context, or have exceptions or corner cases, then you have to 
hold a lot more in your head at one time to understand whats 
going on.

I think the point is complexity is less about how much stuff you 
have, and more about how it all interacts.





More information about the Digitalmars-d mailing list