On Sun, Jun 21, 2020 at 11:41 AM Félix <[email protected]> wrote:
> > Hi Edward, 😃 > > *I wrote this reply yesterday night before going to bed and am only > posting this morning because I wanted to sleep on it first i guess...: I > see that you have discovered the features and power of vscode in the > meantime! haha! so please ignore the suggestion below about reading an > article that explains most of it. I'm still posting it untouched below > because otherwise they are my thoughts about Leo, vscode and the "state of > programming technologies in our modern times".* > It's hard to keep up with all the thoughts, comments and excitement. But I'm not complaining :-) I'm responding to your replies in pretty much reverse order. After this I think I'll be up to date... *One does not use Leo instead of vscode, nor does one use vscode instead of > Leo. A programmer that understands the power they both have, alt-tabs > (angrily) between the two. (well at least before I finish leoInteg)* > I suspect that vs-code + leoInteg will be the preferred environment for many. *So indeed, Knuth's vision was off by a small detail with regards to > literate programming: The 'sections' concept only work when built upon > directed acyclic graphs, i.e. "Outlines". This, I guess, is Leo's first > foundational feature. (One of your most important discovery and invention > Edward!)* > The "How to Speak" video mentioned that important ideas need slogans. Leo's first slogan was "webs are outlines in disguise". > Leo is the friggin "level 9000" outline editor from outer space that > enables all the things I list on the opening paragraphs of leoInteg's > readme. Those things are also listed in your great and inspiring post : > https://github.com/leo-editor/leo-editor/issues/1025 (Leo is not only the > greatest one at this, it's the only one.) > I agree. And thanks for reminding me of #1025. It was very smart of you to zero in on the distinction between essential and non-essential features. It the simplest, best, design principle for leoInteg. vscode is the most popular "programmer's" text editor nowadays because it > understands everything on the screen and will tell me, as I type, what > members are available on any objects, even those who were just imported > from outside libraries...Even when not running in 'debug'. It gives me > detailed info on any word I hover over. When I'm about to write a variable > to pass as a parameter it suggests/autocomplete with those that are on the > scope and of the right type only. (well for typed languages at least, such > as C, typescript, ...) > I've been suffering intellisense envy for a long time. It's a killer feature. > ...I attached 3 gifs... > > While watching those gifs,* its important to note that the only thing I > did to enable all this functionality was 'nothing': *I Just happened to > be working in a folder (workspace) which contained a python file, which > triggered vscode into asking me : "Hey, there's a python file in your > workspace. Do you want vscode to install the default microsoft Python > extension?" (Yes/Maybe Later) And I clicked 'Yes'. That's it. > It's clear that Leo's devs can never hope to complete with the thousands of smart vs-code devs writing plugins for vs code. *Pros of using vs-code:* > > - Many more plugins. That could also be a distraction. > vscode is the first ide that 'gets' the plugins right: the plugins > cannot create GUI/UI content directly, there is no access to the 'DOM'. > plugins authors have to integrate additional entries in mouse-hover > panel, activitybar, status bar, etc. Duplicates are handled and removed by > vscode so it doesn't look bad. It's really mind boggling when you start > developing extensions and expect to be able to create DOM elements! vscode > will never have tons of rows of buttons and tools/panels because you have > to insert in existing ones and icons/buttons are only visible on hover and > if appropriate context makes sense. > I didn't realize any of this until I re-read it just now. What I *did* notice was how easy it is to explore plugins and install/uninstall them. - Probably better support for node.js, ts and js. > > indeed. > >> - Probably better support for basic text editing. > > It's ahead of sublime now! > Good to know. *Cons of using vs-code:* > > - Leo's gui plugins won't work in vs-code. > > 'gui' stuff specifically, yes, but other plugins should work. > Yes. This is another example of the distinction between essential features of Leo vs non-essential features. - Probably better support for python. > > In my perspective, vscode offers better support by far, but I may have > not enabled the required options/configurations/debuggers in Leo, if any. > After further review, I agree with you. Now that Ctrl-B works in leoInteg there is likely no advantage to using Leo regarding python. There *might* be some more python-related features that could be added to leoInteg, but none seem salient at present, and they could always be added later. > - Leo's abbreviations probably won't work. > > I am not aware of the abbreviation feature of Leo. I should google and > learn about this. > Leo settings define abbreviations. For example, I use "alp;;" all the time. It expands to "@language python". The double semicolons are merely a convention: they ensure I won't type the abbreviation by mistake. I suspect vs-code (or a plugin) already supports this as far as text goes. Actually, I would be shocked if that weren't true. However, Leo's abbreviations can also create outlines! I doubt very much if emacs org mode or vimoutliner can do that. So some assembly will be required eventually. I assume that key bindings aren't a huge deal. > > Not at all as I have reproduced them mostly all and they're > overridable in vscode. > Very cool. If a microsoft employee, or bill gates himself, (or other) discovers the > power of dag/outlines to organize code in a forward way (instead of being > reflected back to the programmer like in the default outline view of > regular IDEs) and the whole literate programming concepts as an effective > and valid workflow, then Bill Gates can build a& sell an product and name > this the 'Microsoft DAG Outliner' or whatever, and take all credit for it. > I'm half-joking but this would be terrible and unfair in my mind. > Heh. I have a completely different take on the situation. My life's work has been to promote Leo's essential features. I am not at all worried about someone "stealing" those features. Given that vs-code is itself open source (with the MIT licence, no less), I see the likelihood of commercial competition with vs-code + leoInteg as virtually nil. You could even say that leoInteg is "stealing" Leo's ideas, and using them in vs-code. But I'm *thrilled* by that development! It means that Leo's essential ideas have a real chance of reaching thousands or even millions of people who otherwise would never encounter them. > It's important for me, as you can see from leoIntegs code and > documentation, and as a point of honor, that the invention and discoveries > are attributed correctly, along with the original vocabulary and > terminology. ("leo" as the tool's and concept name in general, "EKR" as the > author of Leo and all its concepts, "Leonine" as the quality of things > written with structured outlines, etc. Just like we would attribute to > Knuth mostly what preceded this.) > I appreciate your sentiments. As the "How to Speak" video says, one gets used to being famous; one never gets used to being ignored. It's another reason to be excited about leoInteg. Having said that, I think it wise to get, deep down, that the real value of what we all do lies in the pleasure it gives us, and the pleasure it gives other people. I sometimes speak of my "legacy", and there isn't anything really wrong with that. Otoh, the Buddist doctrine of "The impermanence of all thing <https://en.wikipedia.org/wiki/Impermanence#Buddhism>s" (sans the religious theory) is one of the foundations of my life. The most common answer that Nobelists give when asked "How do you think you will be remembered?" is: "I won't be remembered." Edward -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/leo-editor/CAMF8tS2CN%2BeXj9F7q23c2me1jx8FyYiZ4woo-eVwcKnGjr33GA%40mail.gmail.com.
