Edward K. Ream <[email protected]> 于2018年10月8日周一 下午5:58写道:
>
> When I finished swimming yesterday, the thought appeared that Leo isn't
> nearly good enough. This was a constructive thought, as I'll explain here.
> These questions came to mind:
>
> - Why must we be continually reloading Leo?
> - Why must we reload settings every time Leo starts?
> - Why must code be this messy?
> - Why can't we put unit tests near the code being tested?
> - Why can't we use Rust to speed up Leo?
> - Why can't we use javascript, or prolog within Leo?
> - Why can't we catch errors sooner, with less harmful effects?
> - Why is auto-completion so hard?
> - Why can't we change Leo's appearance on the fly?
>
> The dream is to see changes safely and immediately, without reloading Leo.
> Vitalije, Offray, Reinhard, Terry, among others have voiced similar thoughts.
> These dreams are worth working on.
>
> Vitalije has complained about the slowness and complexity Leo's settings.
> These complaints are perfectly valid in the context of having big dreams.
> Loading Leo without having to reload leoSettings.leo, myLeoSettings.leo and a
> theme.leo file is a reasonable goal.
>
> Offray has compared the Smalltalk/Pharo world with the Python world, and
> argued convincingly that Python can't emulate everything that Pharo can do.
>
> Dreams meet reality
>
> Right now, seemingly easy changes can be arbitrarily hard. For example, Leo
> should have a toggle-gutter command, so that the debugger can ensure that the
> gutter is visible even if @bool use-gutter is False. Doing this requires
> requires complex changes inside Leo's gui code. I have just verified
> changing this setting and then doing reload-settings does not work. Perhaps
> it should, but that's only a tiny part of the problem.
>
> As another example, avoiding loading settings files is likely to add
> considerable complexity.
>
> I am not aware of any IDE that comes close to meeting these dreams. I don't
> think Pharo counts as an IDE, but in any case I am not prepared to rewrite
> Leo in another language. I don't have the time or energy to do that, nor do
> I think adding Leo support to another IDE makes sense.
>
> Keeping the dreams alive
>
> The dreams are valuable, whatever happens:
>
> 1. They point to places where Leo could be significantly improved, even if it
> means an increase in complexity behind the scenes. However, it's possible to
> imagine that some of the dreams could even reduce the complexity of Leo's
> code.
>
> 2. They stimulate thoughts that would otherwise not arise. I like working on
> these kinds of challenges. Leo came about because I couldn't understand
> literate programs.
>
> 3. They encourage us to explore the literature on similar topics.
>
> An irony
>
> I have often said that we Python programmers act as if we did know the types
> of all objects. But this mind set turns Python into something akin to Java or
> C. Bye bye flexibility and dynamism. Python's classes are more sclerotic
> than we might like, a point that Vitalije has made.
>
> Summary
>
> Each of the questions above suggests new possibilities for Leo. They
> challenge all aspects of Leo's design and code. I'll write separate posts
> discussing some of these questions.
>
> I am not going to rewrite Leo in another language. I am willing to make
> large, incremental, changes to Leo.
>
> Your comments, please. Feel free to summarize your previous comments. Now is
> the time for dreaming.
>
# big and original dream, pls.
## my Leo understad
at 2005, i first install Leo for literate programming;
and base almost 3 years usage, Leo re-build whole my coding habits,
until now any kinds of project/code/programming in my mind is make up
as clone/sub/outlines nodes.
as programmer more than 18 years,
i believe anyone editor environment's dream always as:
- liberate coder's creativity
- easy code/block/file/directory/project manage
- unlimited size code block control
- unlimited support actions expanding
- ...
IDE or Jupyter try different way carry out the same dream,
but Leo is in the other way:
OUTLINE for node
- outline not only navigate, with tangle in/out action, outline in
fact as mirror for human nature image for project
- node can contain anything, truly liberate coder control code methods
all the others functions, such as unit tests/error catch/theme
config/... just service for OUTLINE+node
Now Leo is the best literate programming environment,
over Leo's develop tech stack,
in my mind, Leo is:
- the originate text-style database --> .leo
- manage code and coder 's thought in same interface
- just for support usual text editor feeling, and to bind so many
others features for editting
so for me, such as Leo hold 100 feature, i always enjoy the few core feature:
- OUTLINE s big picture for everything
- @clean for export files
- @others for chaos sub node
- <<sub node>> include
- @path for dir point
- clone node for multi-copy
- special command for Languages
## my suggest
so for the better Leo, i suggest:
0: optimize run time structure
now Leo like Linux as huge kernel, the core process load all
function in time,
so if purify core feature as one unchanged fast server, only focus
.Leo database CRUD the leo node,
all kinds others feature, just can build as any tech stack
1: configuration as memory database
drop into SQLite/Redis
hot upgrade will easy?
2: SEE: Alekaei/tide: TIDE is a Terminal Integrated Development Environment
https://github.com/Alekaei/tide
if GUI is can not easy speed, reales CLI interface can use vi-style tech?
## summary
Leo is not editor or IDE,
Leo just is Leo,
Leo-style coding is the core charm,
OUTLINE for node create the Leo-style coding behaviour .
big dream for Leo, should make core charm bigger ;-)
> 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 [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.
--
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 [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.