So in Angular 2, a lot of things improved compared to Angular1 (AngularJS). I'm really happy with it. But what confuses me the most is the in my opinion inconsistent naming:
Component: @Component
Module: @NgModule
Why would the module be prefixed with Ng, when the component is not? Is there any reason for this inconsistent naming?
Module
is quite overloaded (ES6 modules) for example. There is a lot of confusion about TypeScript imports and@NgModule({imports: [...]})
for example.They just wanted to make it clear what this module concept is about.
Component
is much more unlikely to be confused when Angular is used.