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] <mailto:[email protected]>. To post to this group, send email to [email protected] <mailto:[email protected]>.
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