Hi, An answer on a particular point. I hope to come back with a more detailed response in a couple of weeks.
On 26/2/19 8:09, Edward K. Ream wrote: > Pharo is a good enough language, with advantages I have already > described. However, it is not clearly superior to Python in any > significant way. The syntax is worse, the libraries are unlikely to > be better, and the browsers are inferior to Leo and other Python > IDE's. Pharo's windowing system is not likely better than Qt. Without any explicit reference on how to measure superiority for syntax or libraries or browsers or windowing system, this just fall in personal preference. I think that Mattew Butterick's text on Lisp and Racket, shared recently[1], makes a pretty good example on how give a more balanced reading of a technology without falling in just flattery (or the opposite) by making explicit the context. [1] https://practicaltypography.com/why-racket-why-lisp.html The big advantage of Leo is the way to (de)construct a text file and impose order the way you want and the idea of a self-referential document where @button nodes can access the whole outline and program it. I think that this ability to bring emergent structure over other files is unbeaten by any other environment. As I have said several times. The big disadvantage is moldability and dealing with incidental complexity of the Python/OS approach to technology (that why we have 433 Mb of downloads for just installing it, without thinking in extending o changing the system). Pharo/Smalltalk combination of liveness and moldability on one hand and active fight against incidental complexity is not beaten by any other environment I know of (Racket, Clojure, Red Lang, are in such radar). On browsers, yes, Smalltalk employs a lot of screen real state, but that's because it doesn't gives you only a metaphor for writing the system, but also for reading and understanding it: you don't deal with flat files in a arbitrary folder, but with packages that have objects, that have protocolos, that have methods, that contain code. It's an standard way of reading /and writing/ the system. We could think in other metaphors for traversing the Pharo system as AltBrowser or Edward's exploration showed and they are really needed, but for a system with a particular organization, to use a browser that showcase such structure for reading, writing and extending the system seems a sensible approach (if you are not thinking in screen space). In my case I start with a quick Grafoscopio document that allow me to mix prose with code and then I reified that to the browsers, bridging too much preexisting structure (from Pharo Browser) with too little (Grafoscopio). Context switching is the approach I use to understand the advantage of each one. On syntax, I usually think that is a personal matter. I didn't like Lisp parenthesis at the beginning, but they are kind of growing on me. I liked Python white space and apparent simplicity, but is not good enough to keep me there. I like Smalltalk keywords and blocks and I find them far more expressive and clear that other things I have used. So if a "objective" metric for syntax should be used, I just point to the amount of reserved words of each language, to express similar complexity: Smalltalk 6. Python 33. On external windowing systems, I would like to see better integration with the OS, but meanwhile I keep Pharo's over Qt, Gtk, Xul, etc, because it provides moldability while keeps complexity at bay. This is just to emphasize that context matters to make any conversation on alternatives fruitful. In my context, flexibility outweighs stability, because I care more about the first and I have dealt with a lot of stable and inflexible solutions already, with incidental complexity[2] so I'm willing to experiment on the opposite, for a change. [2] http://mutabit.com/offray/static/blog/output/posts/grafoscopio-idea-and-initial-progress.html The explorations on Pharo Chronicles have been interesting so far. I think that there is a lot to learn from crosspollination of Leo with Lisps (Racket, Pollen, Clojure), Pharo and others and I don't know if after the exploration on other waters, "Leo is good enough" should be the place to always come back. Don't misunderstand me, I think Leo and this community are superb, but maybe if Leo is always good enough, it doesn't have much to learn from any other place, and is fine to keep it as finished software with support. And if it does have stuff to learn, that should be showcased on future releases embodying such learning (via live coding, web rendering/integration or whatever is considered worthy of such other systems). For me, what Leo and its ideas have to offer is just starting, and the best way to communicate this is via future releases. Maybe Leo is done, and it will be an important finished part of a ecosystem of new tools exploring how we change the way we write, code and visualize. I want to help in building the unfinished parts of such ecosystem. Cheers, Offray -- 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.
