Andre Staltz explains a unification of asynchronous functional handlers called callbags.

Andre Staltz explains a unification of asynchronous functional handlers called callbags.

With this model you can make simple composable streaming functions (like callbacks, promises and observables) which allow for two way conversations.

In other words sinks that can also be sources and vica versa, emitters that can also be listeners and vica versa.

This is kind of what happens when you screw your developer base.

This is kind of what happens when you screw your developer base.

The Angular team chose not to provide and automatic upgrade path from AngularJS to Angular and instead concentrated on serving Google’s internal needs. As a result many developers felt abandoned and started to look elsewhere. They started to checkout other frameworks like React and most never came back.

Not shown on this chart is Vue.js which also became a huge beneficiary of the Angular team’s navel gazing. It’s currently creeping up to replace AngularJS is in the number 2 position.

The only thing saving Angular from total oblivion is a combination of corporate inertia and fullstack Java developers who from what I can tell honestly seem to think that Typescript is a dialect of Java and Angular is a flavour of Spring Boot for the browser.

Java 10 has var so the type of local variables can now be inferred instead of tediously and redundantly specified.

Java 10 has var so the type of local variables can now be inferred instead of tediously and redundantly specified. Welcome to being just a little bit less horrible, Java.

Actually Java had been on a trajectory of getting a bit more modern for a number years now (lambdas and closures* arrived in 2014). This probably won’t save it from its ultimate fate however as Oracle starts charging people money for the JVM and Android devs start looking at cooler languages like Kotlin.

* for byte code compatibility reasons, they are actually just syntactic sugar for a hack made out of nested inner classes.