Syntax is the Problem
isiahmeadows at gmail.com
Sun Nov 5 19:06:46 UTC 2017
You may be interested in [this]. It's actually not that uncommon in
childrens' programming, animation, and other less technical needs for
scripting. Also, consider [Node-RED], which is also a visual
platform for the Internet of Things (with a JS core, but you rarely
need to actually dive into JS for most things).
me at isiahmeadows.com
Looking for web consulting? Or a new website?
Send me an email and we can get started.
On Sun, Nov 5, 2017 at 8:22 AM, Michael Lewis <mike at lew42.com> wrote:
> Raul-Sebastian Mihăilă just made a post here about some mixin syntax. I
> didn't read it (sorry).
> But, it got me thinking about a concept I've been thinking for years:
> syntax is the problem, and there's a better solution.
> If you define syntax as a human <--> computer language (a human-readable and
> computer-readable form of text), you necessarily need a very strictly
> defined syntax. One missing curly, and you're f'd.
> Duh, we all know this. Hang onto your pants for a second, let's explore an
> What if we edited scripts more directly in AST form (abstract syntax tree).
> Developers could implement their own UI to manipulate this AST. There are
> many, many benefits to this, I'll get to in a second.
> First, let's remember what everyone in the JS community is doing right now:
> running their code through transpilers. (I refuse to do this, that's why
> I'm unemployed - I strongly dislike the concept). What is a transpiler?
> It's an unofficial middleman that interprets the syntax, converts it to an
> AST, performs transformations, and then returns the AST to syntax form.
> Suddenly, scripting in AST form doesn't sound so crazy.
> Clearly, you wouldn't be writing JSON. We would be using a GUI to create
> the AST. And this is the greatest benefit: moving away from syntax, and
> moving to a GUI.
> Then, instead of babel plugins that provide alternative syntax, you could
> have plugins that provide alternative experiences.
> What would designing a class look like, if using a GUI?
> Click [ create new class ]
> Click [ add new method ]
> Or, click the [ extend ] button next to an existing class...
> This is the future. I have to go eat breakfast, but I'd love to discuss
> this future if anyone is interested...
> es-discuss mailing list
> es-discuss at mozilla.org
More information about the es-discuss