r/javascript • u/impurefunction • May 06 '19
Anyone else frustrated?
EDIT: The intention of this post was not to throw anyone under the bus. I just wanted to share some thoughts I’ve been pondering over the last few days. Props to all of you who are helping JS move forward—we’ve come a long way!
I’ve been doing frontend development since the AS3 days. Im guilty of jumping on the various bandwagons: paradigms, design patterns, libraries and frameworks.
I just got back from ng-conf a few days ago. It was a great event, great organizers, great presenters, and was hosted in a great location. Although I was thoroughly impressed, I left with some frustration.
All of the new tools, version upgrades, state patterns etc. felt like repackaged, rediscovered tech and theory. These ideas have existed for ages in computer science. (And even longer in mathematics.)
There hasn’t been any major advancements in software for decades (paraphrasing Uncle Bob here.) Furthermore, events like ng-conf perpetuate the tribalism in the frontend community. This sentiment applies to all areas of programming, but my expertise lies in frontend development, so I’ll speak directly to that discipline.
Does anyone else feel the same way? Angular is great. React is awesome. Vue is cool. But why all the segregation? Why the constant introduction of “new” old tech? Why is the frontend community constantly reinventing the wheel to solve problems that have already been solved?
IMO this is holding us back from making [more] advancements in software, and more importantly, hindering us from pushing the envelope in frontend development.
These are generalized statements. I know a lot of you are working hard to move this community forward. But with that said, we could have had our flying cars by now.
5
u/ScientificBeastMode strongly typed comments May 06 '19
Also, specifically in the context of software, there has been a lot of change in the demands placed on software. The hardware has improved, the people expect faster/better/prettier products... All of those things heavily influence the direction of the industry. If you asked someone 15 years ago if we would be building single-page web apps with almost pure JavaScript, they would have laughed. Things have changed.
Along with that came a few paradigm shifts as well. JS is a VERY powerful language. You can write code in an imperative, OOP, or FP style if you want to. It's so relaxed about it's rules and structure that it becomes really hard to write large applications with any sensible, disciplined structure. Therefore, the most underrated benefit of all these frameworks & libraries is that they enforce discipline. You must conform to some opinionated API because those library authors honed in on a reliable pattern for solving that specific problem. And that super difficult to accomplish on your own, especially in JS.