Comment by sheepscreek

15 days ago

It’s intuitive in the same way Ruby is intuitive, or C, yes, C, is intuitive.

They try to give you the vocabulary to be expressive, then get the hell out of your way. You can still shoot yourself in the foot with them, of course.

I think that has more to do with the design goals of the language. C was designed to be raw and simple, and it does that well. Ruby was designed to read almost like English prose, and it does that well. Rust was specifically designed to make it hard to shoot yourself in the foot, and it does that well too.

I don’t think that was ever a major React design goal. PropTypes helped a bit, but these days TypeScript carries most of the burden of saving developers from themselves.

Anyway, React is far from perfect. But JSX was a neat invention that alleviated the tension between

    `<div>something</div>` and

    let el = document.createElement(‘div’);
    el.innerHTML(‘something’);