4 ms·
> There is no feeling of permanence to your knowledge I couldn't disagree more. Maybe it's my situation as a full-stack web developer that makes it different,
by hobofan 5y ago
> There is no feeling of permanence to your knowledge
I couldn't disagree more. Maybe it's my situation as a full-stack web developer that makes it different, but over the past 5 years my understanding of all the layers that a website interaction goes through (from mouse click to database and back) has only deepened, and none of it feels like it went out of date over that timespan.
Sure some company may use technology X for the job another company uses Y, but overall it feels more like different paint jobs for the same thing with slightly different trade-offs, than an ever-changing barrage of completely new things.
- wccrawford 5y agoAgreed. It's more like switching from latex to enamel paint, and then someone inventing a new type of paint that has some better properties, but some worse, and is situational. Nothing is static for any discipline. Doctors have a constant influx of new medicines and procedures. The doctor that operated on my wife had heard of a just-in-case tip that ended up saving my wife from having full-blown have-to-get-kemo cancer. Most doctors still don't do it that way, and it's an incredibly rare situation... We got super lucky that that doctor was on the ball. And while it's not life-threatening, I see the same kind of thing in webdev constantly. New 'best practices' come into effect all the time because of security vulnerabilities, and new tools come into existence to make hard things easier. Yup, those same tools sometimes make easy things harder, but that's the trade-off. You do not need to make the switch. But it has its benefits.
- wwn_se 5y agoI agree, once you know the patterns and the foundation of the web new tech is not that hard to adapt to. I agree as a new dev it can feel like a bottomless pit, in the same way low level programming feels for most new devs. That said web frontend has had a wild ride the past years. But its really starting to stabilize now, around a few core frameworks (react and angular for example). Sure there is still forks and revamps but its not the big world changing differences (like going from jQuery to react was).
- tambourine_man 5y agoI think it's hard to disagree with the parent on the frontend side. New frameworks every few months (and it has been like this for years) and even stablished ones keep changing in incompatible ways (Angular, React, Vue). Backend is much more stable, with the exception of Node, which seems to be suffering a disenchantment, a bit of reality check after the early euphoric years. I am yet to be convinced that any of the 3 top frontend solutions (Angular, React, Vue) are worth the trouble.
- rglover 5y agoWhat about Node has changed? It's been the same for several years save for the introduction of some new (optional) APIs and support for language features in JavaScript.
- mejutoco 5y agoI would say, using it with Typescript became much more common. There is also deno (https://deno.land/ https://deno.land/), from the same creator.
- marcosdumay 5y agoWell, it's not a web thing. All of software development is migrating into strict/expressive/implicit type systems. The web frontends just happened to move faster there because Typescript has a great type system and is backwards compatible. Embedded and system programming aren't much behind, because of Rust. Everything else isn't migrating to Haskelllike languages nearly as quickly, but most software will go eventually. The slowness is probably more due to bad market dynamics for the tools than to long term issues.
- Scarbutt 5y agoI just see node growing stronger adoption wise every day.
- dntrkv 5y ago> New frameworks every few months React is going on 9 years. > even stablished ones keep changing in incompatible ways (Angular, React, Vue) React's API has been incredibly stable. There has been one major breaking change in the API (deprecation of the lifecycle methods) and even those are still supported. These arguments are tiring. Think of something new.
- KronisLV 5y agoHere's a few examples of knowledge becoming obsolete: - JSP, JSF and PrimeFaces in Java are essentially dead (server side and hybrid rendering technologies) - Vaadin and GWT are essentially dead (Java to JS transpilation of sorts) - AngularJS is essentially dead (Angular 2+ are way different) - jQuery is on its way out - class based React is on its way out Each of those have a lot of internal complexity that i'd suggest is more than just a paint job. Of course, it's inevitable that technologies that didn't work out for one reason or another will be sunset and will die out, however at the same time there is definitely churn. For example, we don't know if something like Bulma or TailwindCSS will work out and will be around in their current form in 5 years. You could say the same about how state was managed in React, nowadays we have MobX and Redux, but also the Context API. You can say the same about most languages, approaches, frameworks and libraries - nothing is set in stone. I'm not sure whether that's a bad thing or a good thing, i just personally hope that eventually the more stable approaches will survive and the developer experience will be all the better for it, as opposed to introducing more and more complexity to the point of rivaling that of JSF/PrimeFaces. My personal approach is just vaguely along the lines of: - learn the fundamentals that are unlikely to change much (abstract concepts, architecture etc.) - learn the most common technologies, refresh knowledge every few years (HTML, CSS, JS) - learn the frameworks and libraries to the point where you feel vaguely competent with them (React, Angular, Vue, have a vague idea of how to do stuff with CSS libraries/frameworks like Bootstrap) - maybe pick up a few useful tricks here and there, if you have the time explore a new technology or two in non-prod projects every now and then
- chakkepolja 5y agoTangential. I don't understand why class based react is disliked. Hooks are complex magic, and don't work like rest of language. Compared to that, class component will do exactly what you say.
- KronisLV 5y agoI actually agree with this and liked when you could see the full behaviour of a particular concern within a component, for example, its shouldComponentUpdate() method. But now, with hooks, you might instead have 3 or 4 useState hooks, each of which could cause a component update. Worse yet, with useEffect hooks, you might run into the interdependent dependency array problem, which would cause a refresh loop. Now it feels like your components have now become containers for smaller loosely coupled units of code with their own behaviour and life cycles, all of which may result in lower coherency as well. I actually voiced some of my concerns a while ago in a slightly satirical portion of my blog, called "Everything is Broken": https://blog.kronis.dev/everything%20is%20broken/modern-react-is-broken https://blog.kronis.dev/everything%20is%20broken/modern-reac...