Skip to content
This repository was archived by the owner on Aug 5, 2021. It is now read-only.

Good save - but React is STILL superior!Β #1

@danielearwicker

Description

@danielearwicker

The new language service stuff is great for users of templating frameworks, to be sure.

The reason React is still superior is because it only adds a syntax for declaring components, which is trivially transformable to object creation expresions.

Why is this superior to Angular-style templating? Because in React, all the other business of coding: conditionals, looping, modularity/naming, composition, is all done in the exact same ES/TS syntax and semantics as everywhere else. Whereas in Angular, they have to invent their own magic way of doing loops and conditions. They have to have a second module system for template components to use, that overlaps confusingly with the now-prevalent ES module system, their own menagerie of ways of referring to values, looping, conditions and chaining operations.

The most frustrating thing about any technology is when you have to ask "How do I do X in this technology?" where X is some very basic thing (such as conditionals, looping...) that everyone knows how to do in a bunch of mainstream languages. But the domain-specific technology has invented its own way of doing that thing that is not objectively any better; it's just different, and obscure. And so now everyone is a beginner again, but doesn't get any return on their investment.

This is what React avoids carefully. Let the surrounding language take care of all the stuff it can already do perfectly well. Just add a neat HTML-like syntax for building hierarchies of component instances, and let them intermingle according to extremely minimal rules.

This has nothing to do with static typing of course, so it doesn't defend your original point! 😎

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions