Answer by Mattias Petter Johansson:
Angular is fine.
Yes, I do agree with the original article that Angular has an obvious Java heritage that is stronger than it needs and should be. Factories (Factory method pattern) is a pattern that is very common in most Java because of it’s very structural nature, but in JavaScript it’s rare that you need to use them, and it’s actually more of a code smell if you find yourself making factories. However, this is just one aspect of Angular and it is in general much nicer than what came before and Angular is a necessary step in evolving JavaScript.
The fine part about JavaScript is that it’s incredibly elastic. You can code it in whatever way you want. It’s few languages where you actually implement class. This is also one of the most problematic aspects of JavaScript - unlike Java or .NET, there isn’t an obvious idiomatic way to code JavaScript. When someone new to JavaScript asks “How do you make a class?” the answer is sort of “How do you want to make a class? And maybe you don’t want to make a class at all?”
Angular is nicer than what came before and Angular is a necessary step in evolving JavaScript.
JavaScript has a seemingly inevitable reign as king of scripting languages, so a lot of people are flocking to it. The problem is, JavaScript itself offers no guidance on how to write it, so people look elsewhere when starting out. This is where Google entered, with Angular. It offers a clear and sort-of-familiar way of dealing with building JavaScript apps. It’s built by Google, filled with Java kings of over-engineering, so it’s going to be bound to have at least a few FactoryProviderProviders in it, but it’s pretty okay. Angular offers a decent way of structuring your applications. At least it’s a huge step up from Google Wet Toolkit (GWT), their former Java monster. It’s also a step up from Backbone, which held this crown before, that promised minimalism but in reality tended to result in surprisingly large code bases.
Just like we moved from random hacking to jQuery plugins to Backbone to Angular, I believe the culture around JavaScript will evolve again in a year or two, and leave our AngularFactoryProviderFactoryEnterpriseServices behind.
Is the “you have ruined JavaScript” article a solid argument against Angular.js?