[Lazarus] Cycle vs. Circle errors

Mattias Gaertner nc-gaertnma at netcologne.de
Thu Jan 5 01:39:14 CET 2012


On Wed, 04 Jan 2012 09:09:20 +0000
Mark Morgan Lloyd <markMLl.lazarus at telemetry.co.uk> wrote:

>[...]
> > I'm not familiar with graph theory and the possibly specialist technical 
> > meanings given there to words in common use.

Even though many programmers don't know, they probably use graph
algorithms somewhere. Just think about tree structures. The packages
dependencies are a graph and the errors comes from algorithms of
graph theory. So in this way it is natural to use terms from
graph theory.


> > However, in everyday English neither of the nouns 'cycle' or 'circle' 
> > has the meaning 'mutual interdependence' except perhaps as a curious 
> > extension of the metaphor which works poorly if at all.

+1

 
> > Whereas the adjective 'circular' can carry a meaning of 'interdependent' 
> > or 'dependent on itself'. So a 'circular argument' is flawed in that it 
> > refers to itself rather than to an independently established 
> > proposition. But in English you would not normally refer to such a 
> > circular argument as a 'circle' and expect people (apart perhaps from 
> > graph theorists?) to appreciate immediately what you meant.
> > 
> > Dependency (or interdependency) is the more descriptive term, which does 
> > not rely on a strained metaphor - although 'mutual dependency' is rather 
> > a mouthful.
> 
> I'm sufficiently familiar with graph theory to be confident that its 
> specialist terminology- edge, vertex and so on- isn't relevant when 
> software usage is being discussed.

I'm not sure what you mean with "software usage" here, but I guess the
audience of Lazarus are software developers, which means they know about algorithms and data
structures. So every Lazarus user should know that words like "list",
"stack", "tree" do not have their normal meaning.

About "specialist terminology":
You don't have to be a graph theorist to know about edge and vertex.
Just ask a 3D programmer.

 
> Let's just stick to industry conventions. There's plenty of precedent 
> for referring to circular references (i.e. a group of modules/units 
> which each import the other), and plenty of precedent for referring to a 
> sequence of build operations which becomes a cycle if part of it is 
> intentionally repeated.

Just google and read some wikipedia pages to see that there is no clear
industry standard for circular, cyclic or cycle.

 
> In both cases the important thing is not so much the adjective 
> (circular, cyclic) but the combination of adjective plus noun, which 
> /should/ be used consistently in documentation and error messages.

Yes.
And since this is open source, it should also be consistent with
the sources, which means the used structures and algorithms.

I changed it to circular dependencies and endless loops because Google
gave more results.


Mattias
 




More information about the Lazarus mailing list