gaearon / ama

Ask me anything!
222 stars 5 forks source link

Why did you reinvented Event Sourcing, a concept that had existed for almost a decade, and renamed it to "Redux" instead of keeping the original name? #110

Closed FagnerMartinsBrack closed 8 years ago

FagnerMartinsBrack commented 8 years ago

http://martinfowler.com/eaaDev/EventSourcing.html

marcusradell commented 8 years ago

I didn't know Event sourcing was a javascript library. I thought it was a design pattern.

FagnerMartinsBrack commented 8 years ago

I didn't know Event sourcing was a javascript library.

Redux is a concept/design pattern, not a JavaScript Library. I never said it was.

gaearon commented 8 years ago

gaearon commented 8 years ago

It was certainly not my intention to reinvent anything.

Redux is JS library inspired by Flux, Elm and Om. Both Flux and Elm are inspired by event sourcing. Redux is not called EventSourcing.js (is this what you propose) for the same reason Flux and Elm are not called EventSourcing.

Redux is a concept/design pattern, not a JavaScript Library.

It is a JavaScript library: http://redux.js.org/.

I am not aware of a design pattern called “Redux”, nor did I reinvent one. I can’t control how people use the library name though.

PS. Redux is actually somewhat different from event sourcing (see all those discussions) but again, I’m not claiming it’s somehow better, or that Redux is a pattern.

yyx990803 commented 8 years ago

Why did people re-invent MVC, a concept that has existed for more than three decades, and renamed it to [insert framework name here] instead of keeping the original name?

joelhooks commented 8 years ago

You can reduce it (haha) a bit further and see common roots in the Command Pattern as described in GoF.

belisarh commented 8 years ago

@FagnerMartinsBrack I understand the confusion. In fact if you google "redux architecture" you get around 2810 hits, and if you google "redux library" you get... well, the same amount of hits.

You will find this happening because redux became very popular and it represents the underneath concepts for many people.

As it was said, you can have little control on how people use a name, but nevertheless, "A rose by any other name would smell as sweet".

gaearon commented 8 years ago

I agree it’s confusing. I wish I could rename “Redux architecture” to “Not-quite-but-wannabe-event-sourcing architecture” just like I renamed “Event sourcing” to “Redux architecture” 😉 .

gaearon commented 8 years ago

Please don’t attack @FagnerMartinsBrack. The wording of the question is kinda funny in a borderline passive aggressive way but I totally understand the confusion. Ultimately, I think it’s important we keep taking ideas and architectures we like, tweaking them and releasing libraries, and mention our influences. I believe Redux does that and I’m not too worried.