From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,9a0ff0bffdf63657 X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,4b06f8f15f01a568 X-Google-Attributes: gid103376,public X-Google-Thread: 1108a1,9a0ff0bffdf63657 X-Google-Attributes: gid1108a1,public X-Google-Thread: f43e6,9a0ff0bffdf63657 X-Google-Attributes: gidf43e6,public From: Tim Ottinger Subject: Re: Software landmines (loops) Date: 1998/09/10 Message-ID: <35F7F10C.82CF15D1@oma.com>#1/1 X-Deja-AN: 389776629 Content-Transfer-Encoding: 7bit References: <6rf59b$2ud$1@nnrp1.dejanews.com> <6spia2$1s36$1@prime.imagin.net> <35F06D6A.91A3D34E@s054.aone.net.au> <6t6b3m$30j8$1@prime.imagin.net> <35F749AA.1B0ABBD2@oma.com> <01bddccc$98b2dda0$ca3aea9e@tom> Content-Type: text/plain; charset=us-ascii Organization: Object Mentor Mime-Version: 1.0 Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada Date: 1998-09-10T00:00:00+00:00 List-Id: Nicholas Kitchener wrote: > Complexity is in the mind of the developer - a system is not complex > it just has a definition and exists. I would argue completely to the contrary. I would say that obscurity is in the mind of the developer, but that complexity is a very real thing. It involves he number of entities in a system, and the number of interconnections between them: explicit and implicit. If you were to weight the complexity of a system, I'd consider all implicit interconnections between entities (modules and data items) to be double the weight of all explicit ones, and the number of connections to be double the weight of the number of entities. Eventually we'd have to visit Brad Cox's idea of "surface area" also. It's key to the way that we reduce *apparent* complexity. Obscurity is how easy it is to understand functioning. If there is a lot of apparent complexity, then obscurity results. But obscurity can result from other causes not related to complexity. Let's try to to keep these two concerns separate. Obscurity is subjective, but complexity is objective. > One question - does the speed at which a developer can produce or > modify a system affect the developer's perceiption of how complex > the system is? It certainly may affect his idea of how simple it is. It's more familiarity than anything else, I think. Familiarity is absolutely orthogonal to complexity. A programmer may find a complex but very familiar system easy to maintain. It's complex, but easy to work with. There's more that goes into this, but complexity and familiarity are major concerns! > If the documentation, design are clearly described and the code is > commented properly then I think you'll classify the problem as less > complex than one where it's just you can uncommented code. Not true. I'd consider it to be less obscure, though. They're not the same thing at all. > A very good point- I think that many of us have come up against this > in a slightly different form too: managers and commercial bods who > believe that they understand the internals of a system and then they > speak to the client in a technical capacity. Sure. It happens.