>
> I don't think these issues are because Leo is badly designed or 
> implemented, I think it's because Leo's nearly twenty years old(?) and 
> has evolved,
>

Precisely. 

vertical integration between layers makes it hard to develop Leo, from the 
> point of view of understanding code flow and working out where changes can 
> be made. 

 
Again, I fully agree. Because we are not sure what and where can be broken 
when we change something, most often we are fixing bugs using just minor 
tweaks, adding guards here and there, adding more kwargs. That strategy may 
suffice for a first-aid. But in long terms it accumulates more and more 
complexity and over twenty years we have what we have. 

I think it might be wise (at least once in a while) to invest some time in 
serious refactorings aimed at reducing accumulated complexity. Keeping 
backward compatibility wherever is possible is great. But I wish that we 
stay open also for the cases when breaking backward compatibility in 
certain areas can bring great reduce of complexity. In such situations, 
perhaps we may ask users to vote or to present their reasons against 
breaking backward compatibility.

I don't think it is wise to keep backward compatibility forever. If there 
is a chance to improve code quality or/and its readability by breaking 
backward compatibility I would suggest keeping it for some limited time, 
and announcing that it will be dropped in one of the next releases. That 
way users will see deprecation warnings and they would have time to adjust 
their code accordingly. They would be able to ask for help on migration to 
the new API. If after such announcement and in provided period of time some 
users still keep the old deprecated code in their scripts, I think we 
shouldn't feel guilty for breaking their scripts at all. That way, project 
keeps a chance to advance. Otherwise it is bound to the limits of its first 
version or the limits of some ill turn in its evolution path.

Vitalije

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.

Reply via email to