11
hodus
3y

Separation of concerns is a beautiful thing.

JSX is fucking ugly. Fuck that shit. I hate JSX with a passion.

Here is one. Did you know that the digestive system works really hard to digest the food eaten?

How about we blend all the food before consuming it? Take a blender and add a cup of coffee, add some salad, add a piece of cake, a few slices of pizza, hot sauce and for good measure add some juice, or whatever-you-eat-for-lunch.

After all, all that food is going to get mixed anyway. This is more efficient!

No? Why not? Because it's ugly, highly unappetizing, disgusting even, and it takes away the pleasure of eating, the enjoyment of a good meal.

That in a nutshell is JSX: mashing up everything together under the pretext of efficiency.

Web development not only is an art, but above all must be enjoyable to those who devote their lives to it. And ugly ain't gonna cut it.

Comments
  • 4
    I don't mind JSX....
  • 11
    1990's: mix it all up, this is the web!!!

    2000's: spaghetti lasagna pizza fest in a bowl. - good luck!

    2010's: seperate it all, no one can maintain it anymore! no no, you do not add css to your HTML, you do not add HTML to your JQuery!

    2020's: mash that shit like it's the 90's!!!

    That moment you realised you've been using the Internet since the 90's and feel old as fuck!
  • 3
    Isn't mixing up ingredients the main deal when making food?
  • 5
    Mind providing us with us a snippet where jsx is preventing from having a proper separation of concern? 'cause I don't see how a templating engine could.
  • 2
    @N00bPancakes @Commodore neither do and can I really. Ill close this one as "opinion based" :P

    I can respect him not liking the way jsx looks tho
  • 5
    Every decent templating engine will have some way to mix in code since the alternative would be to abstract.

    And Jsx is in my opinion better than most but as always, only if you learn how to use it and does not abuse the possibilities.

    A flexible engine allows you to solve some things more easily but if you abuse it anything can be an unreadable mess.

    Out of curiosity, which templating engine do you think does a better job?
  • 0
    You do realize that content and behavior aren't separate concerns the moment you have a button that doesn't reload but alters the page?
  • 1
    JSX can lead to a hot mess, but if you actually apply separation of concerns it won't, whereas vanilla js + html includes either lots of imperative DOM building (which is in no way better than jsx) or unnecessary separation of parts unaligned to concern boundaries.
  • 1
    I've seen jQuery used as a "templating engine" (quotes heavily emphasized); I'll take JSX over that POS any day lol
  • 0
    You can write super fast and clean code with jsx if that's how you want it. My shit looks mint, even in larger scale projects. hooks, context, css/css modules, prettier, nullish coalescing, optional chaining, and an SDK/package for interfacing to pretty much anything under the sun.
    I thought the same thing when I first started it, but after using it for close to 16hrs a day for 19 months straight it's pretty dope
  • 1
    shit that IS ugly though, for real:

    TypeScript
    PHP
    Web push token management
Add Comment