
Agera: Reactive Programming for Android - TheAceOfHearts
https://github.com/google/agera
======
V-2
Didn't they just reinvent RxJava?

It's confusing to me. Their Observables clearly aren't RxJava's Observables,
although the concept is the same.

They actually go on to explain the "push event, pull data" model, and how they
piggyback on the "legacy observer pattern", only nowhere do they seem to
mention RxJava :) Quite an elephant in the room, you would think...

~~~
brudgers
My impression is that for Google, it is easier [and perhaps cheaper] to build
something in house than to use an outside project. I think issues of scale,
code base organization, coding standards and quality of code in pursuit of
exactly what Google engineers envision make it an outlier. Or to put it
another way, the differences between reactive coding for a general JVM and
reactive coding for the specific Android platform matter at Google's scale.

And Google has the engineers and engineering culture to write exactly for
Google's business needs. Google can probably invent a better wheel...where
"better" means exactly "better for Google". It doesn't necessarily mean
"better for me".

~~~
V-2
Still sorta "not invented here" syndrom, only Google sits on such a pile of
resources it can pull it through without painting itself into corner :)

[https://github.com/google/agera/issues/20](https://github.com/google/agera/issues/20)
\- some interesting insights (both from the contributors and from outside)
regarding the relation between Agera and RxJava

~~~
airless_bar
Agree.

> developed (after but) independently of RxJava, without inspiration,
> reinvention, or relation.

It's the usual Google style of software development: Thinking they are the
smartest people on earth, not needing to even have to look at all the lessons
learned outside of their bubble and believing that the "Google" brand creates
adoption by itself, so it doesn't even have to be particularly good.

I wonder how long they can ignore the rest of the world until they are left
completely behind from a knowledge/technology perspective. Go suggests that
it's at least 30 years of ignoring outside progress.

~~~
brudgers
I don't think Go is Google ignoring progress. It is Google building a language
that meets its staffing strategy. Google hires people fresh out of CS programs
who studied algorithms and are scholed in forloops for Java/Python/C++.

Go is lingua franca for Google engineers. Google has a stance on DSL's;
they're not the way forward.

The mistake is to think that Google developed Go for the larger community.
It's out there and promoted to help recruiting. It's not out there for
community input on the direction of Go-lang future development.

