← Back to context

Comment by anon7000

16 days ago

Maybe fair maybe not, but definitely unrelated to how intuitive it is.

I'd argue that it's directly related. If intuitive use of a library/framework/pattern commonly causes issues, you have to keep forcing yourself to do use non-intuitive approaches to prevent them.

GOTO is also pretty intuitive.

  • 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’);