This article is about 2 years late. These are solved problems in angular 2 by default and have solutions in angular 1.
= Problem #1: Scope inheritance and dynamic scoping
Use directive controllers
= Problem #2: Dirty checking
Use immutability
= Problem #3: Dependency injection
I'm not really sure what the author is saying here. It sounds like he's confused and thinks DI and modules solve the same problem.
The one statement he has bolded is completely false:
> Angular forces you to use a third, custom designed alternative mechanism: one that is inferior to the already existing mechanisms available.
You can use a module system if you want. Nothing is stopping you.
= Problem #4: Pointless complexity
> providers, values, factories, services, constants [...] All five concepts could easily be assigned a single identity.
True, so just use providers if that makes you happy. Angular 2 also simplifies things.
= Problem #5: Server-side rendering
He stated a solution for angular 1. Personally, I don't really care about server side rendering so I won't elaborate.
Angular 2 will have angular-universal
= Problem #6: Angular 2
> Not convinced yet? Well, what if we were to tell you that the next major version of Angular will take a scorched earth approach to the existing structure that means it will have zero retro-compatibility with what exists today?
> it would be simply foolish to use Angular 1.x for new applications.
LOL, fear mongering. The angular team has already stated there will be a migration path to angular 2. They also announced they will continue to support angular 1 as long as people are using it. It's funny that he complains about angular 2 when it addresses his problems with angular 1.