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.
