Good point Terry. Chapters too, I've been using them a lot again lately and 
I find they help quite a bit with context switching when editing multiple 
large related programs/projects simultaneously. I see chapters as 
essentially the same thing as bookmarks but with Hoist built in.

On Friday, March 3, 2017 at 12:29:45 PM UTC-5, Terry Brown wrote:
>
> Well said.  When you think about it there are a number of features in Leo 
> that allow personalized abstraction.  Organizer nodes are the simplest, but 
> all the various methods for linking between distant parts of the tree are 
> also helpful (backlinks, unls, bookmarks, tags, even clones ;-)
>
> Cheers -Terry
>
> ------------------------------
> *From:* john lunzer <[email protected] <javascript:>>
> *To:* leo-editor <[email protected] <javascript:>> 
> *Sent:* Friday, March 3, 2017 9:11 AM
> *Subject:* Leo and abstraction
>
> Warning: This is a testimonial, sorry.
>
> Lately I've been thinking about programming in general. My thoughts have 
> centered on the limits of the human brain to understand computer programs. 
> This was triggered by watching Inventing on Principle 
> <https://www.youtube.com/watch?v=PUv66718DII>. It's a daunting 
> multifaceted concept which I'm sure people spend their entire lives 
> pondering.
>
> Most recently I've been focusing on one facet, abstraction and program 
> "units". I define a "unit" as a part of the program that is considered a 
> piece onto itself which can be labeled and referred to as a whole. Perhaps, 
> as a daily Leo user, this is easy to think about because Leo does its best 
> to coerce programmers and programs into looking at programming through this 
> lens.
>
> Most tools do not ignore this concept all together. Most programming 
> environments have some sort of "outline" window which allows you to view 
> the structure of a program at a higher level. As I have experienced it this 
> "outline" view is always dictated by the features of a language (ex. 
> outline divided up at module, class, function levels). In addition most 
> tools incorporate "code folding" to help a programmer focus on language 
> specific programming units (again, ex. folding at class and function 
> definitions). 
>
> Leo takes this concept to its limit. Leo offers language agnostic 
> abstraction at arbitrary levels. It allows a programmer to structure their 
> program outside of the confines of the programming paradigms of the 
> language they're programming in. Of course it still helps to use the 
> language specific "units" as a guide, in fact this is what Leo does upon 
> import to create an initial outline structure from programs originating 
> outside of Leo. 
>
> I can't ignore the freedom of arbitrary abstraction, and I've come to rely 
> upon it so much that I struggle to use non-Leo environments. It is well 
> known that the human brain has a limited working memory. The act of 
> programming stretches working memory to it's limit. Leo provides an 
> environment in which a program can seamlessly be restructured to fit within 
> the bounds of a programmers individual working memory. 
>
> I realize this is a "why" and not a "how" and that this doesn't help 
> anyone get better acquainted with Leo. But, as a programmer if you've ever 
> felt frustrated with the organizational constructs of the language you're 
> working in you might be surprised to realize that after using Leo it wasn't 
> the language that was the problem, but a lack of tools to organize your 
> programs in a way that makes sense to *you*.
> -- 
> 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] <javascript:>.
> To post to this group, send email to [email protected] 
> <javascript:>.
> Visit this group at https://groups.google.com/group/leo-editor.
> For more options, visit https://groups.google.com/d/optout.
>
>
>

-- 
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