3 ms·
> Why does this happen? It happens because these technologies solve real problem for some subset of their users. Usually when people are saying that technology
by johnfn 4y ago
> Why does this happen?
It happens because these technologies solve real problem for some subset of their users. Usually when people are saying that technology has become too complicated, it's because they happen to be looking from a perspective where the problems that the technology solves are invisible to them. That doesn't mean that the problem isn't important - it just means the problem isn't important for them. The easiest way to motivate this is to imagine the kinds of problems that need solving at large companies with thousands of employees. They look vastly different than the problems of someone like me working on a side project by myself.
e.g., TypeScript might not be useful for some single-person teams of developers. It's quite useful for teams of around 5, and it's unthinkable to work without it in teams of 100+. Does this mean that the single-developer team is wrong?
(I'd actually say the same thing about React. If you're a one-man team, go ahead, do whatever you want. But if you're working with 100 other engineers, god help you if you're all directly manipulating the DOM with vanilla JS.)
Most "complex" technology is solving many problems for many different smallish subsets of its users at the same time. To the average bystander, it can look like the technology has gained huge amounts of unnecessary complexity, but it hasn't, not really - it's just complexity which isn't directly relevant to you.
(OK, and yes, some other technology is just needlessly stupid, but...)
- frankfrankfrank 4y agoMy sense is that is wrong. Case in point, I deal with a group that has a relatively elaborate set of excel workbooks to manage their process. None of the workbooks are great, all of them created and maintained by different teams, and there is persistent discussion of needing to accrue tools or some guy even threw together his own MS Access db to substitute for the workbooks. What they do is not at all beyond what Excel could handle, but it is the lack of fundamental process and methods to design a proper system that is the code and fundamentally problem. I feel that is frequently the issue, fragmentation and derivation caused by a lack of fundamental first principles thinking, willingness to tackle the issue from the ground up. The outcome is then talk of bolting on yet another tool or some fix that really only ads debt.
- bobthepanda 4y agoRight. React can be the correct tool for some problems, but if your problem is your team is not thinking big-picture enough to address maintainability, React is not going to magically make that better. Honestly, I don't think it's even that bad for basic development (they literally have a CLI command that generates a very basic webapp immediately.)
- ok123456 4y agoTypescript is basically required to keep you from shooting yourself in the foot with Javascript. Type annotation also serves as a form of 'hard' documentation. If it's wrong or no longer correct, it will make things turn orange in your IDE and make your type linting tool go bonkers. Even as a single developer this has tremendous benefits. It's much easier to come back to something you wrote months/years ago and get back into it rather than having to go through each function to see what it returns under every situation.
- CodeSgt 4y agoI agree with the sentiment so this comment is more of a nitpick than anything constructive, but I do feel you may have missed the mark with the typescript example. Even if you don't want to use TS in it's full glory, you can just rename your files with a `.ts`, turn strict mode off, run everything through the compilation step, and weed out a category of simple mistakes from that alone. Add in that you can slowly add in certain rules to reach a level of strictness as you need and I see no reason how a JS dev would be better off writing vanilla JS than at least using TS and only running the compile step. Of course, I think taking the time to learn and fully utilize typescript the best path forward, even those with absolutely no desire to learn it can utilize some of it's strengths by reading the docs for 15 minutes. Far from an unnecessary complexity, it's because an incredibly helpful tool at all levels.
- johnfn 4y agoI’m an enormous typescript proponent - I use it every day, even for the smallest, most trivial things :) in OP I was intending to steelman the anti-TS argument, but maybe I took it too far!
- jcparkyn 4y agoI'm a big TS fan, but for that type of person I feel like JSDoc + checkjs would suit them better. That way they don't have to deal with the hassle of making TS work with the rest of their tolling and build process.
- cyanydeez 4y agoBasically, it's the problem with vaccines and the rise of antivaxxers. Because vaccines were so successful in their harm reduction to even elimination, there h created a perverse belief that vaccines were not effective, and then that they were actually harmful. Being ubiquitous and their effects the same, and the absence of their necessary disease. Tools that solve problems experience a lifecycle that eventually if successful get weilded by people who never had firsthand experience of the problem. Really a very large fractal problem space. We envision a similar problem in autopilot system with 'safety' fall backs. For now, autopilots can disengage and let a pilot take control, but soon, we will run out of qualified pilots to disengage to, and no secure safety procedure.
- sangnoir 4y agoSame goes for the Y2K problem: prodigious efforts went into solving the problem, which was mostly averted. But since "nothing happened", people started asking if the whole thing was overblown. More on topic, web frameworks solve the following problems for me, which I guess are things now taken for granted: 1. Provide a standard API across all popular browswes by papering over subtle differences in JS- or rendering-engines. This is kess of an issue now worh the homogenization of browser engines 2. Provide components with out-of-the-box accessibility. For me, this alone is worth the price of admissions. YMMV if yiu don't care about your (potential) users who use assistive tech like screen-readers 3. Design systems, CSS frameworks and iconsets makw my webapps look much better than if I were to be left to my own devices. I'm no designer, but the added complexity is worth it to me (think internal tools, not public products with a design budget). 4. Job mobility and the ability to transfer knowledge from one employer to the next. When I put down "react" on my resume, the reader will know exactly what I mean (as opposed to "CorpWebVu revision 5". I am also able to get up to speed on a React codebase because I know the conventions. This also is worth the price of admission by itself.
- Schwolop 4y agoI was coming here to say that the term for a problem which when solved makes people question whether it was necessary after all is a "Wicked Problem"[1], only to then discover that that's not it at all. So now I'm stumped - what is the word for that? [1] https://en.wikipedia.org/wiki/Wicked_problem https://en.wikipedia.org/wiki/Wicked_problem