On Wed, Sep 8, 2010 at 7:32 AM, Edward K. Ream <[email protected]> wrote:
> On Wed, Sep 8, 2010 at 2:41 AM, Ville M. Vainio <[email protected]> wrote:
>
> Important: please read the *entire* post before hastening to reply to
> individual comments here.  As you will see, toward the middle I change
> my mind once, and toward the end I change my mind *again*.
>
>> At present, yes. After the release, not so much - as I see it, "core"
>> is not really the place to add features.
>
> It's the place to add features that everyone should have.
>
>> It should be something that just sits there, changing as little as possible 
>> through the evolution of software (that is, only when needed).
>
> And that's what will happen after the present work is done.
>
>> There has never been a
>> software project that aimed for lower modularity - the trend is always
>> away from the monolith, towards a more modular solution.
>
> Putting more code in leoRst.py does not affect Leo's modularity in any
> significant way.
>
>> Let's consider the situation after the screenshot saga has been played
>> through and people don't pay attention to inkscape support anymore -
>> then we'll have effectively dead code in core, eating up (small
>> amounts, I agree) memory for everybody forever. But bloat is not just
>> about memory, it's about conceptual complexity as well.
>
> Conceptual complexity will be unchanged.
>
>> Lean core => better survivability, always.
>
> This is a new point.  The question is, will Inkscape go away or change
> it's command line? I doubt it. Even if did, the worst that could
> happen is that a script would crash :-)
>
> Let me summarize my position.  I would be perfectly willing to put the
> inkscape code in a plugin.  I might do so just to end this
> conversation :-)  However, I see no real advantage in doing so, and a
> real disadvantage, namely that some features that I want to use
> regularly (*core* features, in my estimation) now depend on a plugin.
>
> Ok.  I'm going to change my mind right now.  Something just shifted as
> I reread you replies and my responses.
>
> There are other "core" features implemented in plugins.  The inkscape
> plugin will be no different in this regard from the unl, scripting and
> plugins_menu plugins.
>
> This is an important enough issue that I'm going to repeat your
> comments, with my new replies:
>
>> At present, yes. After the release, not so much - as I see it, "core"
>> is not really the place to add features.
>
> So in the new viewpoint, the core is the *minimal* code required to
> support Leo's operation.  Clearly, some modules are indeed required.
> We can't do without leoNodes.py, the file code and the code that draws
> the screen.
>
> The question arises, should leoEditCommands.py and leoRst.py be in
> Leo's core? In my mind, this is *still* a difficult issue.  I prefer
> to leave things alone.
>
>> It should be something that just sits there, changing as little as possible 
>> through the evolution of software (that is, only when needed).
>
> Hmm.  This still does not seem to capture the essence of core vs. plugin.
>
>> There has never been a
>> software project that aimed for lower modularity - the trend is always
>> away from the monolith, towards a more modular solution.
>
> I still think this is irrelevant.  All properly designed Python
> modules are modular, wherever they are.
>
>> Let's consider the situation after the screenshot saga has been played
>> through and people don't pay attention to inkscape support anymore -
>> then we'll have effectively dead code in core, eating up (small
>> amounts, I agree) memory for everybody forever. But bloat is not just
>> about memory, it's about conceptual complexity as well.
>
> Again, I still think this is irrelevant.
>
>> Lean core => better survivability, always.
>
> This sounds good, but again it's a non-issue.  Leo's core is going to
> be "survivable" whatever happens to c.inkscapeCommands.
>
> Drat.  In the process of trying to agree with you I have convinced
> myself that leaving the inkscape code in leoRst.py is ok :-)
>
> Something is still not quite right.  None of the discussion has
> captured why Leo's design is successful, which is that Leo's modules
> are well-defined.  Each module contains *all* code related to a
> particular "subject".
>
> The only exception that comes instantly to mind is that commands are
> defined in two main files: leoCommands.py and leoEditCommands.py.
> This is no big deal.  And of course any file can define new commands
> with
> @g.command(command-name)
>
> So in my mind, the *essential* question is this:  can the Inkscape
> code stand on its own feet, or is it merely a helper for the rst code?

I haven't followed the Inkscape stuff closely, I missed the part
about it being tied to rst.

My interest is in universal access to whatever level of Inkscape
capability is possible. I want @button code to have access to
an API that can generate SVG from ... whatever my data is at
that moment.

So my vote goes towards whichever side of the core/plugin debate
addresses that interest more closely. (core ?)

>  Again, this is a close call.  Too close to make a big difference,
> imo.
>
> So I'm going to change my mind *again*.  I'm going to leave the
> present code as it is.  This is almost entirely a matter of
> *convenience*:
>
> - One module instead of two.
> - No need to enable another plugin.
> - No need to document dependence of scripts on plugins.
>
> This is a *provisional* decision. I'll be happy to reverse it if it
> becomes clear later on that it would be more *convenient* to put the
> code in a plugin.
>
> Edward
>
> --
> You received this message because you are subscribed to the Google Groups 
> "leo-editor" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/leo-editor?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/leo-editor?hl=en.

Reply via email to