Thanks for speaking up, Offray.  In 1992 I, with considerable sadness, gave 
up on programming because I couldn't keep myself oriented sufficiently in 
larger programs.  I turned my attention to starting and a variety of 
running businesses.  As I said, that was a difficult "fork in the road" for 
me: I had a master's degree in computer science and I *loved* creating 
programs...the only thing in my life I had ever had that sort of passion 
for.  At the time I was involved in writing C and shell programs in a unix 
environment (previously I'd worked in Pascal and assembler...so I was 
pretty deep).  But I was working with kids with only high school degrees 
who could program circles around me -- because they could remember the 
names and locations of their functions, in a 100 page program, and could 
pretty much jump around in their code. I couldn't do that - my visual 
memory was poor. So I gave up.  I do remember, though, thinking that a 
tree-structured editor would have helped enormously.  My last big 
programming project in that 1991-92 timeframe  (when uucp was being used to 
spread newsgroups but the WWW hadn't yet arisen) was a tree structured 
forum system where each topic and subtopic was naturally mapped to a 
corresponding directory and each such directory could contain not only 
messages organized by number but also code which could be "eval"ed to 
produce distinct behavior as part of the forum system.

I'm bringing all that up as both a trip down memory lane but also to give 
some idea how and why I share the "dream" of Leo, too:  the years since I 
gave up coding flew by and I achieved a lot of success in business ... but 
I have always been sad about how I had to leave my passion for programming 
behind because I just couldn't do it well enough with "flat" programming 
files and code scattered like cards strewn in a cruel game of "52 card 
pickup".

One of my biggest surprises in turning my attention back to programming all 
these years later (mostly because I want to develop a big program for my 
business) is WHAT A MESS CODE HAS BECOME.  Code is probably 1000 times 
larger and slower than equivalent code would have been allowed to be 30 
years ago.  And there still isn't a decent editor for what you call 
"literate" programming.  I've come to Leo after searching, for the Nth 
time, for "tree programming editor" ... and finally getting a reasonable 
lead.

So it is important to me that I give Leo a shake.  And if I shake it and it 
kind of works but needs more or needs more debugging, I'd like to help it 
develop.   Anyway, that is my fuller story of why I keep posting variations 
of the same questions here.   I think (hope at least) that once I can use 
Leo to begin writing code I can be helpful to the community and help insure 
there will always be a hierarchical editor for those of us who just can't, 
or simply don't want to, organize all the complexity in our visual memory.  
And I think once I can grok a complete if relatively simple program in leo 
I begin to add to it -- and learn more about the esoteric functions in Leo 
as I go.

Anyway, thanks again for your post about your experience,  And again, Ed, 
thanks for creating Leo.  I *dreamed* of a tree editor but you have 
actually written one ... and I'm anxious to take it for a test drive and, 
hopefully, home to my own garage! :-)


On Monday, February 6, 2017 at 8:20:57 AM UTC-8, Offray Vladimir Luna 
Cárdenas wrote:
>
> Hi,
>
> I felt kind of the same way as a non-programmer and a newbie while dealing 
> with Leo. The idea of a emergent tree/document with clones kept me in the 
> community, despite of not understanding well the scripting ideas behind Leo 
> after years and being send elsewhere to learn python. So I have a divide 
> between having a powerful and interesting environment that doesn't teach me 
> the basics, and some courses that did, but without any consideration for 
> the learning/programming environment. This tightly coupling of environment 
> plus language is really attractive in projects like Pharo/Smalltalk, Racket 
> and Jupyter.
>
> The scripting manual doesn't taught me how to do common stuff in python, 
> but how to script Leo in python and was only after years that I saw the 
> powerful idea of a self-referential programmable tree, while I was writing 
> my academic research, not in the common day to day python scripting tasks 
> (despite of using Leo also for python scripting).
>
> So I agreed on the documentation being to specialized and reflecting a lot 
> of accumulated experience in Leo, but having problems to speak to new 
> comers. I think that Leo could be a powerful learning environment to 
> present a lot of themes, from programming to newbies to literate computing 
> for journalist, activist and scientists and that's why I have advocated 
> interactive computing in Leo, because making Leo such versatile learning 
> tool requires a community, not a single developer/author. There are 
> multiple approaches and themes for a lot of learning paths. I would try to 
> provide an interactive computing environment that empowers such variety of 
> authors, learning paths and themes and create some interactive example 
> documents (in fact that's what I'm doing with Grafoscopio/Pharo).
>
> Summarizing: Leo has extensive documentation from 20+ years of accumulated 
> experience, but is a difficult documentation from learners of several 
> disciplines and paths. Powerful ideas (like self referential programmable 
> trees) are difficult to see and making Leo easy to learn for a wide variety 
> of potential users goes beyond any individual capacity. That's why enabling 
> literate computing (even "restricted" to Python) could leverage the power 
> of a wide variety of learning communities and authors to create interactive 
> documents for a lot of potential Leo users.
>
> Cheers,
>
> Offray
>
> Ps: I have found another interesting apps for interactive computing as a 
> desktop app for the Jupyter environment, nteract and hydrogen:
> https://github.com/nteract/nteract
> https://github.com/nteract/hydrogen
>
> None of them (web or desktop) still have a self referential programmable 
> tree as a document metaphor (Leo, Org-mode and eventually Grafoscopio, are 
> leading this front).
>
> On 05/02/17 22:50, Sr U wrote:
>
> https://www.programiz.com/python-programming/examples/calculator
>
> Ed, At the risk of offending (absolutely not what I am intending as I want 
> HELP), I suspect Leo is not catching on because of marketing errors.  
> Specifically, you haven't recognized and properly met the needs of Leo's 
> NATURAL /obvious target market: BEGINNING PYTHON PROGRAMMERS WHO ARE 
> OVERWHELMED WITH COMPLEXITY.  Yes, even when you are giving something of 
> value for free, correct marketing is vital.  
>
> Possibly in addition you haven't understood your customer's real pain; 
> their real needs.  Your customers need simplicity and they need step by 
> step.  When coming to Leo they want to get the experience of writing a 
> simple -- but real and extensible -- program in a few minutes.   I think 
> you are coming around to this point of view with your KISS initiative of a 
> few months ago, but I suspect you are still not clear enough.
>
> At the risk of assuming too much, I believe *I* am a pretty good example 
> of your ideal customer:  (1) I haven't already settled on another 
> editor/IDE.  (2) I have a problem with dealing with the complexity that 
> larger programs demonstrate in all the other editors I've looked at.   (3) 
> I want my programs to be factored into an easily traversible outline 
> format.   (4) I am a beginner at python -- although I am smart enough and 
> motivated to learn.
>
> I came here several months ago and asked for a simple tutorial.  I'm back 
> here and it still doesn't exist.  Maybe you can take 10 minutes and create 
> something to help me and probably many others?
>
> This is a simple python program with 4 functions and just enough 
> simplicity to be understandable and relevant to any beginner python 
> programmer and just enough complexity to demonstrate the advantage of Leo's 
> hierarchical view:
>
> https://www.programiz.com/python-programming/examples/calculator
>
> Would you please help me (I really need some help to get started) by 
> factoring this in Leo, running it, and posting a link to the factored code 
> so I can load it and look at it for myself?  I got it to work in my 
> terminal window but it is throwing an error I don't understand in Leo 
> (maybe because I haven't inserted any of your sentinals?).   I think the 
> main body should be in one node with global variables in another and each 
> function in a separate node -- but I don't know how to do that.
>
> BTW I think this would be a perfect first step for a tutorial geared 
> toward your BEST target market.   Again, anyone who has been programming 
> for a long period of time has already found an editor or IDE which works 
> well enough for them and (by nature of the fact that they are still 
> programming okay) probably doesn't need a hierarchical editor ... or, even 
> if they would benefit, will be a harder sell.
>
> Further steps would be to guide the new Leo user, in a series of maybe 
> 3-10 lessons, to develop the calculator code base in Leo -- ideally to 
> eventually make a GUI calculator with additional functions (demonstrating 
> how Leo can work with outside libraries and classes perhaps).
>
> But this FIRST step is the most critical: to show a beginning programmer 
> that Leo is FRIENDLY and easy to use for THEM.  
>
> What you are currently saying in your documentation (after digging through 
> multiple sections which are basically a lot of words which don't mean much) 
> is *"This chapter is intended for those fairly comfortable with Python 
> scripting. If you are not, please study the excellent Python Tutorial 
> <http://docs.python.org/2/tutorial/>."*  Big mistake.  Big, big, big 
> mistake -- as I said, NEW PYTHON PROGRAMMERS ARE YOUR NATURAL MARKET.  You 
> want to help them and encourage them, not throw them in the middle of the 
> Atlantic Ocean and ask them to come back after they have learned to swim!
>
> Further, even advanced python programming experience doesn't really 
> translate to any solid advantage in grasping Leo.  I'm not currently much 
> of a programmer but I used to code quite a bit and I hold multiple 
> technical degrees.   The current Leo documentation is an extensive thicket 
> which doubtless would be useful after I am already using the fundamental 
> features of writing Python in Leo ... but are pretty much useless until 
> then.  I suggest you take 95% of existing documentation and HIDE IT AWAY 
> under "Advanced uses".
>
> Ed: Hopefully I haven't irritated you by trying to give constructive 
> criticism.  I believe you have a much needed, brilliant creation in Leo.  
> But few can unwrap the package in order to try it out.  I'm suggesting you 
> put your many other improvements on hold until you can get folks such as 
> myself operational creating a real program, properly factored in Leo, in a 
> few minutes.
>
> Thanks for making this gift available to us!  Sorry if I'm going on a bit 
> too much!
>
> -- 
> 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