5 ms·
complexity also kept me away from React. The main reason that it got popular is because it's by Facebook and they know how to manipulate people to use certain p
by cryptica 7y ago
complexity also kept me away from React. The main reason that it got popular is because it's by Facebook and they know how to manipulate people to use certain products over others (that's their entire business). There have always been simpler and cleaner alternatives.
If React was not by Facebook, it would not have gotten popular at all except as a 'cool hack/experiment' - Nobody would have seriously tried to incorporate it into a production application.
As soon as you scratch the surface, you understand that it's one of those tools that tries to take away complexity by adding complexity on top.
The story has gotten more complicated though because now React has so many components and there is all this conveninent tooling and boilerplate around it but still I would never choose it over VueJS.
Anything that comes out of Facebook is just pure manipulation.
- sam0x17 7y agoConvenience is to be taken with a grain of salt, though. In the node.js world, "is-odd" can be a package, and it can have 926,000 weekly downloads and 22 dependents.
- nailer 7y agoMakes sense, you don't want to write your own tests for handling zero.
- fauigerzigerk 7y agois-odd doesn't have any tests for handling zero. What would they be anyway? What is-odd does is to throw an exception if you pass anything that isn't a safe integer or a string representation of a safe integer. Otherwise it just returns n % 2 === 1 (after converting string to int if necessary)
- DonHopkins 7y agoYou don't want to start a religious war between the people who believe zero is special, and the ones who believe it should throw an error if you pass a string, and the people who believe it should attempt to convert the string to an integer, and the people who believe you should either round or truncate when the parameter is a floating point number, and the people who disagree about which direction to round, and the people who can't agree whether you should truncate towards zero or negative infinity.
- e12e 7y ago> should either round or truncate when the parameter is a floating point number Isn't the parameter always floating point in Javascript? (which does mean a package like isOdd will have to incorporate some level of mysticism...)
- marcosdumay 7y agoLet the fight begin! It goes well with some popcorn. I can understand how fundamental education teachers don't grasp modern Algebrism and believe that Math is formed by fundamental, sacred definitions. But programmers ought to know better.
- pcmaffey 7y agoAnd my favorite case - that zero is false. (!!0)
- sam0x17 7y agoYeah but point being, if you need to use is-odd, what you probably need more is something tailored to your particular application.
- DonHopkins 7y agoTeach the Controversy [TM]! https://en.wikipedia.org/wiki/Parity_of_zero#Education https://en.wikipedia.org/wiki/Parity_of_zero#Education Claims made by students: "Zero is not even or odd." "Zero could be even." "Zero is not odd." "Zero has to be an even." "Zero is not an even number." "Zero is always going to be an even number." "Zero is not always going to be an even number." "Zero is even." "Zero is special." https://en.wikipedia.org/wiki/Teach_the_Controversy https://en.wikipedia.org/wiki/Teach_the_Controversy
- hyperdimension 7y agoJust so you know (not just for this comment)--you are my favorite HN user. Everything you post is either funny, quirky, or extremely interesting (mostly all of the above).
- mercer 7y agoTo add some positivity, I'll add that I'm also a fan :).
- oblio 7y agoAnd, to add to this (I'm not being snarky), he could be the father/grandfather of many HNers. I recall one of his comments about how he was doing stuff on computers in 1965. We need more old coders around!
- deleted 7y ago[deleted]
- DonHopkins 7y agoThanks, but my age was negative in 1965! (But not very.) Maybe I was taking credit for somebody else's work and forgot to get my story straight. ;) Old coders never die, they just get frozen until their favorite programming languages come back into fashion. https://medium.com/@donhopkins/cobol-forever-1a49f7d28a39 https://medium.com/@donhopkins/cobol-forever-1a49f7d28a39
- 7y ago
- layoutIfNeeded 7y agolol, zero is even.
- mellab2 7y agoSorry but what complexity are you talking about? React (particularly in the early days) has always had a comparatively small API surface. You have components with a render method, and in that render method you return other components which you can pass data to via "props" - that's basically react in a nutshell. I've noticed React is often conflated with the wider ecosystem it is a part of (Webpack, Redux, Babel) - perhaps this is the complexity you are referring to, but to be clear React can be used without any of these things. And sure React being developed by Facebook couldn't have hurt in terms of it gaining popularity - but the real reason it took off is that in contrast to what you said it removed a huge amount of complexity by alleviating the burden of developers having to manipulate the DOM directly in ad hoc ways. Instead of having to manually add classes, add elements, remove elements, append children, you could just say given this piece of state, give me this. > Anything that comes out of Facebook is just pure manipulation. This just shows that your issue lies with facebook the company, which is biasing you against react - the technology.
- cannedslime 7y agoSure you could use react without JSX compilation, State libraries etc. But you'd just end up writing more code to do less. If your app isn't complex enough to merit the use of webpack, redux, babel etc etc. it probably isn't complex enough to even worry about DOM performance.
- jondubois 7y ago>> I've noticed React is often conflated with the wider ecosystem it is a part of (Webpack, Redux, Babel) - perhaps this is the complexity you are referring to, but to be clear React can be used without any of these things. I disagree with this. Everyone claims that you can use React without JSX but no one does it. Aside from ugliness, the main reason why no ones does this is because you would be missing the most useful aspect of React which is compatibility and consistency with the rest of the React ecosystem. So you cannot separate React from its ecosystem. All this complexity has become tightly intertwined. If you use VueJS without a bundler (which is actually feasible), you will be surprised how much simpler and elegant the whole development experience is. Once HTTP servers start supporting static push of scripts, we will not even need bundling in production.
- mercer 7y agoDo you really believe all of us React users are patsies and you're conveniently one of the smart guys who hasn't fallen for it? Surely a more reasonable perspective is that React actually solved a real problem, and the fact that there's a big company backing it is actually a benefit because 1) there's a lot of money and experience poured into the project, 2) it's likely to be supported even if the lead dev gets hit by a bus, 3) it's an easier sell to management over <insert alternative by random dev>? I'm no fan of Facebook the company and product, and I avoid client-side code as much as possible (yay Phoenix LiveView), but I think React is quite neat and made my client-side work easier. I'd also argue that it paved the way for an important shift in how front-end frameworks do their thing, and we're all better off for it.
- ralphstodomingo 7y agoThis is awfully dismissive without sound reasoning, I think. It doesn't take long for anyone working with the old ways outlined above (for example, me five years ago) to see why React was in many ways a step forward, defining what we should expect of any new front-end libraries these days. Also, everything starts out as a cool hack/experiment at some point. > it's one of those tools that tries to take away complexity by adding complexity on top It's one of those tools that purposely abstracts unproductive, inefficient complexity that we were not aware of before into a higher-level one, forcing us to be more mindful of how we do things. A matter of tradeoffs, I would say, and there's gotta be a limit to how 'simple' one thing can be. Also, you're conflating React the library with the ecosystem around it. On a sidenote, all the tooling and boilerplate React came hand-in-hand with was markedly a net positive for me. It was in picking up React, during my career, that I learned why tooling is important, picked up tools like Webpack and grunt, learned myself how to do CI/CD and other stuff.