On Fri, Feb 23, 2018 at 5:37 PM, Edward K. Ream <edream...@gmail.com> wrote:

> The process of *considering* embedding Leo in another IDE has been one of
> the most useful things I have ever done.  I feel as if I have awoken from a
> deep slumber.  Atom, VSCode, eric6 and Pycharm/Intellij are all superb
> tools.  Building and using them, even briefly, has been eye opening.
>
> But embedding Leo in another IDE would be a big mistake. This posts
> explains why.
>
> This is a long post. To state my conclusions first:
>
> - Embedding Leo in any IDE would be a huge and risky project.
> - Such a project would distract us Leo devs, and burden us with endless
> support.
> - Embedding Leo would be less useful than it might seem.
> - Leo has its own strengths. Many don't translate easily to other IDE's.
>
>
WoW soooooo quickly conform these points ;-)
just 2 week, ERK rebuild IDE world idea, Sayeahoo!



> See the summary for other conclusions.
>
> *A huge and risky project*
>
> Embedding Leo in any IDE would be much harder than it might appear at
> first.  At *minimum*, such a task would require an *entirely new* gui
> plugin for Leo. Such plugins have been the biggest projects in Leo's
> history.
>
> This became obvious to me yesterday while reading/reformatting the eric6
> plugin guide. Eric6 is a pure python app, but the eric6 ecosystem is almost
> completely different from Leo's. There is likely *no* clever way to use
> Leo's existing Qt code.  Everything would likely have to be rewritten.
>
> Embedding Leo in another IDE would create ripple effects that touch *all*
> of Leo's code.  These ripple effects would depend on arcane details of the
> particular IDE in which Leo is embedded.
>
>
ripple effects  <~~~ very right define,
appended one reason:
embedding others IDE ecosystem is hold one huge upstream into Leo's
ecosystem;
but the upstream ecosystem is out-control by ERK,
means for Leo's new feature can compatibility upstream ecosystem,
will ripple huge unnecessary work.


> It's impossible to know beforehand what the final design and code would
> look like. This makes such projects extremely risky. Quick prototypes won't
> significantly reduce the risk. Rather, they are likely to be wasted
> investments.
>
> *Endless distractions*
>
> Successful projects have limited focus, no matter how many devs are
> involved. Embedding Leo in another IDE would be a major, most unwise,
> commitment of time and energy for all Leo devs.
>
> Support would be endless. For example, leoBridge.py is a small module, but
> it has generated continuing and difficult issues. One of those issues
> required tricky futzing with gnx's when loading .leo files. Just recently I
> had to tweak that code again.
>
> Do we want to answer endless questions about how to build Pycharm, or
> whatever?  Do we want to tell people how to *use *Leo in other IDE's?
> Finally, do we want to complicate Leo's distros with javascript related
> matters?
>
> *Expensive advertising*
>
> My dream has been to promote Leo by offering its features in other
> environments. I'm ready to say now that this has always been a bad idea :-)
>
> I've learned in the past week or so that it's (usually) pretty easy to
> download and run other IDE's. People can and do use more than one IDE.
> People know where to find Leo.  Creating a Leo plugin in any other IDE
> would be an expensive and ineffective form of advertising.
>
> *Leo's strengths*
>
> In one of my first posts I said that just about everything Leo *shares*
> with Atom is inferior to Atom.  But this statement was *just plain wrong*. 
> Here
> are some common areas in which Leo excels:
>
> 1. Scripting. Most IDE's aren't scriptable at all, so technically my
> remarks don't apply ;-)
>
> 2. Plugins. Leo's plugin architecture is much simpler than eric6, and
> that's the easy case.
>
> 3. Searching. No other platform has Leo's clone find commands. etc.
>
> 4. Commands. Outline-oriented diffs exist nowhere else. etc.
>
> 5. Settings and configuration.  eric6 has a nifty gui representation of
> its settings, but Leo's settings are much more flexible:
>
> - Settings can apply to individual .leo files.
> - Settings nodes naturally contain arbitrarily verbose comments.
> - Users can organize settings trees as they like.
> - Plugins can add settings just by calling c.config.getBool, etc.,
> *without* adding to Leo's gui code.
>
> 6. Window system. Terry has made Leo's window system scriptable (in
> python!) and extensible.
>
> *Summary*
>
> Leo will remain a pure python app, scriptable in python.
>
> There is much to learn from eric6. I shall incorporate some of eric6's
> features into Leo's code base.
>
> Leo must have a plugin that supports Joe Orr's great work. This plugin
> will be worth *any* amount of work. Imo, this is the proper place to
> focus our time and energy.
>
> I am happy with these conclusions. They feel sane, sensible and safe. As
> always, they are provisional. We'll see how the subconscious reacts ;-)
> Please let me know *your* reactions.
>
>
only one suggest:
this paper must insert into LeoDoc, maybe as FAQ?



> Edward
>
> --
> 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 leo-editor+unsubscr...@googlegroups.com.
> To post to this group, send email to leo-editor@googlegroups.com.
> Visit this group at https://groups.google.com/group/leo-editor.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
life is pathetic, go Pythonic! 人生苦短, Python当歌!
俺: http://zoomquiet.io
授: http://creativecommons.org/licenses/by-sa/2.5/cn/
怒: 冗余不做,日子甭过!备份不做,十恶不赦!
KM keep growing environment culture which promoting organization learning!

-- 
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 leo-editor+unsubscr...@googlegroups.com.
To post to this group, send email to leo-editor@googlegroups.com.
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