Why does redux {any new js} rename everything software engineering standardised?

9 points by hackerfromthefu ↗ HN
Looking at js frameworks lately it seems they broadly prevent developers from benefiting fully from previous software engineering knowledge.

Not by just reinventing the wheel regularly - everyone knows they do that all the time, there's even a handy industry term for it now, Javascript Fatigue.

What they do is even more insidious - they make up new words for existing industry terms. Then sometime they confuse further by redefining existing words with completely different meanings (see 'middleware' below).

It was helpful to just say Javascript Fatigue above as most readers will instantly grok what I'm talking about. Industry standard naming is a solved issue called Design Patterns.

Redux is one of the culprits of renaming that is popular and to keep updated I'm learning it. Should be quick with my 20 years development and constant learning! But hahaha as they didn't use industry standard terms for anything.

Here’s Redux summarised with patterns: Redux is a data storage framework, based on the Command, Event Sourcing and CQRS patterns.

But instead we got e.g. http://redux.js.org/docs/recipes/ReducingBoilerplate.html

Command - 'actions' in redux Factory - 'action creators' Decorator - 'middleware'

Middleware, middleware, geez. If they aren't going to use the industry standard term for the pattern they're using, why pick a word already industry standard then use it completely differently, confusing developers as well as search engines, wasting the authors time as literally most of the page is re-explaining why you would use these industry patterns, which could be simple links to the patterns definitions for anyone who didn't know it yet. Their page would be 1/4 the size, writing & reading time, and an order of magnitude easier to understand!

7 comments

[ 3.5 ms ] story [ 30.0 ms ] thread
p.s. This is not to pick on Redux specifically though, this redefinition of terms is rampant across the new hot js frameworks from what I've been able to read about them with the limited time on the planet I have.
A quick look to see what industry has learned about this issue suggests that open standards are the solution? What do you think? https://sourcemaking.com/antipatterns/continuous-obsolescenc...
Standards can quickly become very political.

A good example is UML. In the early days it accommodated everything that was in widespread use at the time, with only a few visual syntax changes. Since then it has been refactored and also bloated with support for many edge cases. Those who use it, typically only use a small subset.

I think a critical point to consider is that an "industry" is often not as monolithic as it may first seem. In my experience, people with similar interests in statistics / machine learning, and psychology / neuroscience regularly rename old terms (sometimes without even realizing there's an "old term" to rename).

Once someone has put language out there, and is benefitting from brand appeal, they're not always motivated to rename everything, especially if no one pointed out the old term until long after their work was out there. Once people have invested time in learning the new terms, they might not be strongly motivated to remap them onto old terms.

There are many reasons for the problem you describe. Some that I can think of are:

There are a lot of self-taught programmers. Even the good ones are only aware of a small portion of the accumulated 40+ years of knowledge in CS and SE - theory and practice. So they re-invent techniques, methods, etc thinking they have discovered something new. Since much of the literature is secreted behind paywalls, you can't really blame them.

I have noticed some academics have a fondness for "putting old wine in new bottles" and applying fancy new labels. Then when you do a keyword search their "new" method, technique, framework, etc they look like inventive geniuses. Many young academics also suffer from problem as described above.

You simply get no respect if you confess to using a framework, technique, methodology that was in widespread use 10+ years ago. It's always way cooler to be using whatever the popular flavour of the day might be.

Isn't React (probably Redux too if wager) basically version 2 of what Coldfusion accomplished 20+ years ago?

I was skimming through it the other day and right away I thought this looks like somebody just wake Coldfusion a concept and brought it into the 21st century.

No? Yes? I'm the only one older that 30 here? ;)

"Those who cannot remember the past are condemned to rename it."